# where для bot.findLeads()

### Базовая структура

Каждое условие внутри массива **where** имеет следующую структуру:

- **Простое условие**: \['поле', 'значение'\] — проверяет, равно ли поле заданному значению;
- **Условие с оператором**: \['поле', 'оператор', 'значение'\] — проверяет поле с использованием указанного оператора.

```JavaScript
let where = [
  ['поле', 'значение'],
  ['поле', 'оператор', 'значение']
]

bot.findLeads([], where, [])
```

### Доступные категории полей

- Поля лидов;
- Каналы (channels);
- Статусы лидов (leadstatuses);
- Атрибуты лидов (lead\_attributes).

#### Поля лидов

Это основные поля, доступные для каждого лида.

<table id="bkmrk-%D0%9F%D0%BE%D0%BB%D0%B5-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-id-id-" style="border-collapse: collapse; border-style: solid; width: 100.123%; height: 621.796px;"><tbody><tr style="background-color: #c2e0f4; height: 31.0556px;"><td style="border-style: solid; width: 26.4508%; height: 31.0556px;">Поле</td><td style="border-style: solid; width: 73.5243%; height: 31.0556px;">Описание</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">id</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">ID лида</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">name</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">Имя лида</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">identification</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">ID в мессенджере (например, Telegram ID)</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">person\_id</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">ID персоны</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">manager\_id</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">ID менеджера</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">bot\_id</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">ID бота</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">channel\_id</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">ID канала</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">lang\_code</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">Код языка</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">status\_id</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">ID статуса</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">is\_mute</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">Включен ли бот для лида (0 или 1)</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">is\_forwarded</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">Передан ли оператору (0 или 1)</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">last\_activity</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">Дата последней активности</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">last\_response</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">Timestamp последнего ответа</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">messenger</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">ID мессенджера</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">bot\_debug\_level</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">Уровень отладки бота (0 - обычный, 11 - админ)</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">created\_at</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">Дата создания</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">updated\_at</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">Дата обновления</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">dialog\_id</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">ID диалога</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">unread\_count</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">Количество непрочитанных сообщений</td></tr><tr style="height: 29.537px;"><td style="border-style: solid; width: 26.4508%; height: 29.537px;">forwarded\_at</td><td style="border-style: solid; width: 73.5243%; height: 29.537px;">Дата передачи оператору</td></tr></tbody></table>

Пример использования:

```JavaScript
where = [
  ['id', 145492],
  ['name', 'like', '%Иван%'],
  ['created_at', '>=', '2023-01-01']
]
```

#### Каналы (channels)

Для поиска по каналам используются поля **channels.code** и **channels.id**.

<table id="bkmrk-%D0%9A%D0%BE%D0%B4-id-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-unkn" style="width: 99.8765%; height: 563.931px;"><tbody><tr><td style="border-style: solid; width: 42.9195%; background-color: #c2e0f4;">Код</td><td style="border-style: solid; width: 14.132%; background-color: #c2e0f4;">ID</td><td style="border-style: solid; width: 42.9195%; background-color: #c2e0f4;">Описание</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">unknown</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">0</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">Неизвестный канал</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">avito</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">1</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">Avito</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">facebook</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">2</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">Facebook</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">instagram</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">3</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">Instagram</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">livechatWidget</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">4</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">LiveChat Widget</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">skype</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">5</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">Skype</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">telegram</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">6</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">Telegram</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">twitter</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">7</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">Twitter</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">viber</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">8</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">Viber</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">vk</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">9</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">VKontakte</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">whatsapp</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">10</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">WhatsApp</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">youla</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">11</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">Youla</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">wechat</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">12</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">WeChat</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">metabotWidget</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">13</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">MetaBot Widget</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">webim</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">14</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">Webim</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">jivoWidget</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">15</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">Jivo Widget</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">odnoklassniki</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">16</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">Odnoklassniki</td></tr><tr style="height: 29.6806px;"><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">apple\_business\_chat</td><td style="border-style: solid; width: 14.132%; height: 29.6806px;">17</td><td style="border-style: solid; width: 42.9195%; height: 29.6806px;">Apple Business Chat</td></tr></tbody></table>

Канал текущего лида можно получить с помощью метода **lead.getMessengerCode()**.

Пример использования:

```JavaScript
// Ищет только telegram
let where = [
  ['channels.code', 'telegram']
]

// Ищет telegram и whatsapp
let where = [
  ['channels.id', 'IN', [6, 10]]
]
```

#### Статусы лидов (leadstatuses)

Для поиска по статусам используются поля **leadstatuses.name** и **leadstatuses.id**.

Пример использования:

```JavaScript
let where = [
  ['leadstatuses.name', 'Новый'],
  ['leadstatuses.id', 1]
]
```

<p class="callout info">Используйте вместо **leadstatuses.id** — **status\_id**, а вместо **channels.id** — **channel\_id**. Если вы выполняете большие операции это сократит время вычисления.</p>

#### Атрибуты лидов (lead\_attributes)

Для поиска по атрибутам используются следующие поля:

<table id="bkmrk-%D0%9F%D0%BE%D0%BB%D0%B5-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-lead_a" style="width: 100%; height: 118.722px;"><tbody><tr style="height: 29.6806px;"><td style="width: 32.3143%; border-style: solid; height: 29.6806px; background-color: #c2e0f4;">Поле</td><td style="width: 67.668%; border-style: solid; height: 29.6806px; background-color: #c2e0f4;">Описание</td></tr><tr style="height: 29.6806px;"><td style="width: 32.3143%; border-style: solid; height: 29.6806px;">lead\_attributes.attribute\_type</td><td style="width: 67.668%; border-style: solid; height: 29.6806px;">Тип атрибута (tag, variable, system, json, context)</td></tr><tr style="height: 29.6806px;"><td style="width: 32.3143%; border-style: solid; height: 29.6806px;">lead\_attributes.attribute\_key</td><td style="width: 67.668%; border-style: solid; height: 29.6806px;">Ключ атрибута</td></tr><tr style="height: 29.6806px;"><td style="width: 32.3143%; border-style: solid; height: 29.6806px;">lead\_attributes.attribute\_value</td><td style="width: 67.668%; border-style: solid; height: 29.6806px;">Значение атрибута. Если type = tag, то можно не использовать</td></tr></tbody></table>

Пример использования:

```JavaScript
let where = [
  ['lead_attributes.attribute_type', 'variable'],
  ['lead_attributes.attribute_key', 'is_pay'],
  ['lead_attributes.attribute_value', '1']
]
```

### Полный пример использования

```JavaScript
let where = [
  ['name', 'like', '%Иван%'],
  ['channels.code', 'telegram'],
  ['leadstatuses.name', 'Новый'],
  ['lead_attributes.attribute_type', 'tag'],
  ['lead_attributes.attribute_key', 'важный_клиент']
]

let leads = bot.findLeads([], where, [])
debug(leads)
```