Перейти к основному контенту

bot.findLeads()

Получить лида по атрибутам

bot.findLeads($columns = [], $where = [], $orderBy = [], ?int $limit = null, ?int $offset = null)
Описание:

Находит лида по указанным атрибутам и другим данным.

Атрибуты:
Имя Тип Описание
columns object Возвращаемые поля лидов, по умолчанию все поля
where object

Ищет лиды по:

- атрибутам - для этого вводим в $where названия полей атрибутов как lead_attributes.<имя поля>
- статусам - используем в $where leadstatuses.<имя поля>
- каналам - используем в $where channels.<имя поля>

orderBy object Атрибут сортировки возвращаемых значений
limit int Максимальное число возвращаемых лидов
offset int Параметр показывающий с какого по счету найденного лида начать возвращать значения
Возвращает:

array - массив полей лидов.

В массиве следующие поля:

 
  • id - id лида;
  • identification - внешний id лида;
  • manager_id - id менеджера привязанного к лиду;
  • bot_id - id бота лида;
  • channel_id - id канала лида;
  • status_id - id статуса лида;
  • extra - ???
  • is_mute - включен ли бот для лида;
  • все системные поля лида (по английски).
Пример:
let leads = bot.findLeads(
    [],
    [
     ['lead_attributes.attribute_type', 'variable'],
     ['lead_attributes.attribute_key', 'nlpLastIntentName'],
     ['lead_attributes.attribute_value', 'позвать_человека'],
    ],
    [['updated_at']]
);

if (leads.length) {
    let statusName = leads[0].getData('id');
}

или получаем поля для первого найденного лида (без условий):

let leads = bot.findLeads(['status_name', 'channel_name', 'channel_code']);
if (leads.length) {
    let statusName = leads[0].getData('status_name');
    let channelName = leads[0].getData('channel_name');
    let channelCode = leads[0].getData('channel_code');
}