# Методы lead



# lead.getData()

### Получить значение данных лида

```JavaScript
lead.getData(string $key)
```

##### Описание:

Возвращает значение данных сущности лида по ключу.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="height: 29.7969px; background-color: #ced4d9;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">key</td><td style="width: 33.2909%; height: 29.7969px;">string</td><td style="width: 33.2948%; height: 29.7969px;">Ключ данных лида</td></tr></tbody></table>

<span style="font-weight: 400;">В качестве ключа можно указать:</span>

- <span style="font-weight: 400;">**id** - id лида;</span>
- <span style="font-weight: 400;">**name** - имя лида;</span>
- <span style="font-weight: 400;">**identification** - внешний id лида;</span>
- <span style="font-weight: 400;">**identification\_entity** - внешний id сущности;</span>
- <span style="font-weight: 400;">**person\_id** - id персоны лида;</span>
- <span style="font-weight: 400;">**manager\_id** - id менеджера привязанного к лиду;</span>
- <span style="font-weight: 400;">**bot\_id** - id бота лида;</span>
- <span style="font-weight: 400;">**channel\_id** - id канала лида;</span>
- <span style="font-weight: 400;">**lang\_code** - код языка;</span>
- <span style="font-weight: 400;">**status\_id** - id статуса лида;</span>
- <span style="font-weight: 400;">**extra**</span>
    - <span style="font-weight: 400;">last\_message\_payload</span>
        - <span style="font-weight: 400;">**identification** - id последнего сообщения;</span>
        - <span style="font-weight: 400;">**event\_name** - код события, например, user\_uttered, когда последнее сообщение - ответ пользователя;</span>
        - <span style="font-weight: 400;">**text** - текст последнего сообщения;</span>
        - <span style="font-weight: 400;">**payload** - данные последнего сообщения;</span>
        - <span style="font-weight: 400;">**timestamp** - время отправки;</span>
        - <span style="font-weight: 400;">**session\_id** - id сессии;</span>
        - <span style="font-weight: 400;">**socket\_id** - id сокета;</span>
- <span style="font-weight: 400;">**is\_mute** - включен ли бот для лида;</span>
- <span style="font-weight: 400;">**last\_message\_date** - дата последнего сообщения;</span>
- <span style="font-weight: 400;">**active\_nlp\_integration\_id** - id активной NLP интеграции;</span>
- <span style="font-weight: 400;">**last\_activity** - время последней активности;</span>
- <span style="font-weight: 400;">**last\_response** - код последнего ответа;</span>
- <span style="font-weight: 400;">**messenger** - id мессенджера;</span>
- <span style="font-weight: 400;">**bot\_debug\_level** - уровень отладки бота;</span>
- <span style="font-weight: 400;">**created\_at** - время создания;</span>
- <span style="font-weight: 400;">**updated\_at** - время обновления;</span>
- <span style="font-weight: 400;">**dialog\_id** - id диалога;</span>
- <span style="font-weight: 400;">**unread\_count** - количество непрочитанных оператором сообщений;</span>
- <span style="font-weight: 400;">**last\_message** - последнее сообщение;</span>
- <span style="font-weight: 400;">**last\_message\_botlog\_id** - id последнего сообщения в логе.</span>

##### Возвращает:

**mixed** - значение данных лида в формате, в котором они находятся в сущности

или

**null** - если таких данных не существует.

##### Пример:

```JavaScript
let extra = lead.getData('extra');
```

# lead.issetData() и lead.isDataExist()

### Проверить наличие данных

```JavaScript
lead.issetData(string $key)
```

или

```
lead.isDataExist(string $key)
```

##### Описание:

Проверяет существуют ли данные по ключу.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-1" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="height: 29.7969px; background-color: #ced4d9;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Ключ данных лида</td></tr></tbody></table>

<span style="font-weight: 400;">В качестве ключа можно указать:</span>

- **id** - id лида;
- **name** - имя лида;
- **identification** - внешний id лида;
- **identification\_entity** - внешний id сущности;
- **person\_id** - id персоны лида;
- **manager\_id** - id менеджера привязанного к лиду;
- **bot\_id** - id бота лида;
- **channel\_id** - id канала лида;
- **lang\_code** - код языка;
- **status\_id** - id статуса лида;
- **extra**
    - last\_message\_payload 
        - **identification** - id последнего сообщения;
        - **event\_name** - код события, например, user\_uttered, когда последнее сообщение - ответ пользователя;
        - **text** - текст последнего сообщения;
        - **payload** - данные последнего сообщения;
        - **timestamp** - время отправки;
        - **session\_id** - id сессии;
        - **socket\_id** - id сокета;
- **is\_mute** - включен ли бот для лида;
- **last\_message\_date** - дата последнего сообщения;
- **active\_nlp\_integration\_id** - id активной NLP интеграции;
- **last\_activity** - время последней активности;
- **last\_response** - код последнего ответа;
- **messenger** - id мессенджера;
- **bot\_debug\_level** - уровень отладки бота;
- **created\_at** - время создания;
- **updated\_at** - время обновления;
- **dialog\_id** - id диалога;
- **unread\_count** - количество непрочитанных оператором сообщений;
- **last\_message** - последнее сообщение;
- **last\_message\_botlog\_id** - id последнего сообщения в логе.

##### Возвращает:

**bool** - подтверждение существования данных.

##### Пример:

```JavaScript
let data = lead.issetData('manager_id');
let altdata = lead.isDataExist('status_id');
```

# lead.getSerialNumber()

### Порядковый номер лида

```JavaScript
lead.getSerialNumber()
```

##### Описание:

Возвращает порядковый номер лида в боте начиная с первого созданного.

<span style="font-size: 1.4em; font-weight: 400;">Возвращает:</span>

<span style="font-weight: 300;"> </span>**int** - порядковый номер лида

или

**null** - если лид не найден.

##### Пример:

```JavaScript
let num = lead.getSerialNumber();
```

# lead.getChannelCode()

### Код канала лида

```JavaScript
lead.getChannelCode()
```

##### Описание:

Возвращает код канала лида <span style="font-weight: 400;">(telegram, umnico, bitrix, и пр.)</span>

##### Возвращает:

**string** - код канала лида в формате строки.

Коды которые может возвращать данная функция:

- 'unknown'
- 'avito'
- 'apple\_business\_chat'
- 'facebook'
- 'instagram'
- 'jivoWidget'
- 'livechatWidget'
- 'odnoklassniki'
- 'skype'
- 'telegram'
- 'twitter'
- 'viber'
- 'vk'
- 'wechat'
- 'whatsapp'
- 'youla'
- 'metabotWidget'
- 'webim'

# lead.setAttr()

### Установить значение переменной лида

```JavaScript
lead.setAttr(string $key, string $value)
```

##### Описание:

<span style="font-weight: 400;">Обновляет значение уже существующей переменной лида или создает новую переменную с указанным значением. Данные будут сохранены в БД.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование переменной</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">value</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Значение переменной</td></tr></tbody></table>

##### Возвращает:

**self** - объект того же типа, в данном случае переменную, которая была создана.

##### Пример:

Создание переменной лида lead\_attribute:

```JavaScript
let lead = "Значение переменной лида";
let lead_attribute = lead.setAttr('lead_attribute', lead);
```

<div class="pointer-container" id="bkmrk-%C2%A0-0"><div class="pointer anim is-page-editable"><svg class="svg-icon" data-icon="link" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg><div class="input-group inline block"> <button class="button outline icon" data-clipboard-target="#pointer-url" title="Копировать ссылку" type="button"><svg class="svg-icon" data-icon="copy" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg></button></div><svg class="svg-icon" data-icon="edit" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg></div></div>

# lead.getAttr()

### Получить значение переменной лида

```JavaScript
lead.getAttr(string $key)
```

##### Описание:

<span style="font-weight: 400;">Возвращает значение уже существующей переменной лида.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование переменной</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**string** - </span>значение запрашиваемой переменной в виде строки

или

**null** - если переменная не была найдена.

##### Пример:

Получение значения переменной лида lead\_attribute:

```JavaScript
let lead_attribute_value = lead.getAttr('lead_attribute');
```

<div class="pointer-container" id="bkmrk-%C2%A0-1"><div class="pointer anim is-page-editable"><svg class="svg-icon" data-icon="link" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg><div class="input-group inline block"> <button class="button outline icon" data-clipboard-target="#pointer-url" title="Копировать ссылку" type="button"><svg class="svg-icon" data-icon="copy" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg></button></div><svg class="svg-icon" data-icon="edit" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg></div></div>

# lead.getAllAttr()

### Получить все переменные лида

```JavaScript
lead.getAllAttr()
```

##### Описание:

<span style="font-weight: 400;">Возвращает значение всех переменных лида.</span>

<span style="font-size: 1.4em; font-weight: 400;">Возвращает:</span>

**array** - массив значений всех переменных.

##### Пример:

Получение значения всех переменных лида и вынесение из массива одного из значений:

```JavaScript
let all_lead_attributes = lead.getAllAttr();
let lead_attribute = all_lead_attributes[3];
```

<div class="pointer-container" id="bkmrk-%C2%A0-2"><div class="pointer anim is-page-editable"><svg class="svg-icon" data-icon="link" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg><div class="input-group inline block"> <button class="button outline icon" data-clipboard-target="#pointer-url" title="Копировать ссылку" type="button"><svg class="svg-icon" data-icon="copy" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg></button></div><svg class="svg-icon" data-icon="edit" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg></div></div>

# lead.issetAttr() и lead.isAttrExist()

### Проверить наличие переменной лида

```JavaScript
lead.issetAttr(string $key)
```

или

```JavaScript
lead.isAttrExist(string $key)
```

##### Описание:

Проверяет существует ли переменная лида в боте.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-1" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование переменной</td></tr></tbody></table>

<span style="font-size: 1.4em; font-weight: 400;">Возвращает:</span>

**bool** - подтверждение существования переменной.

##### Пример:

Проверка двумя способами существования переменной лида lead\_attribute:

```JavaScript
let lead_exists = lead.issetAttr('lead_attribute');
let lead_altexists = lead.isAttrExist('lead_attribute');
```

# lead.deleteAttrs() и lead.deleteAttr()

### Удаление переменных лида

```JavaScript
lead.deleteAttrs(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false)
```

или

```JavaScript
lead.deleteAttr(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false)
```

##### Описание:

Удаляет переменную из бота.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-att" style="border-collapse: collapse; width: 100%; height: 447.313px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">attrs</td><td style="width: 33.3745%; height: 80.1875px;">string|object|array|null</td><td style="width: 33.3745%; height: 80.1875px;">Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив</td></tr><tr style="height: 63.3906px;"><td style="width: 33.3745%; height: 63.3906px;">ticketId </td><td style="width: 33.3745%; height: 63.3906px;">?int</td><td style="width: 33.3745%; height: 63.3906px;">Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления переменной</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">scriptRequestParams </td><td style="width: 33.3745%; height: 80.1875px;">object</td><td style="width: 33.3745%; height: 80.1875px;">Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления переменной</td></tr><tr style="height: 96.766px;"><td style="width: 33.3745%; height: 96.766px;">isForceDelete </td><td style="width: 33.3745%; height: 96.766px;">bool </td><td style="width: 33.3745%; height: 96.766px;">Подавить запуск триггеров или нет, т.е. если передать true,   
и есть триггер подписанный на событие изменения/удаления переменной то он не будет запущен.</td></tr><tr style="height: 96.9844px;"><td style="width: 33.3745%; height: 96.9844px;">isSuppressTriggers </td><td style="width: 33.3745%; height: 96.9844px;">bool </td><td style="width: 33.3745%; height: 96.9844px;">Не мягкое удаление. Если передано true, то переменная будет удалена из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается</td></tr></tbody></table>

<span style="font-size: 1.4em; font-weight: 400;">Возвращает:</span>

**self** - подтверждение удаления переменной.

##### Пример:

```JavaScript
lead.deleteAttrs('var1, var2, var3', null, null, true);
```

# lead.forceDeleteAttrs() и lead.forceDeleteAttr()

### Принудительное удаление переменных лида из БД

```JavaScript
lead.forceDeleteJsonAttrs(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false)
```

или

```JavaScript
lead.forceDeleteJsonAttr(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false)
```

##### Описание:

Удаляет переменную из бота и БД.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-att-0" style="border-collapse: collapse; width: 100%; height: 447.313px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">attrs</td><td style="width: 33.3745%; height: 80.1875px;">string|object|array|null</td><td style="width: 33.3745%; height: 80.1875px;">Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив</td></tr><tr style="height: 63.3906px;"><td style="width: 33.3745%; height: 63.3906px;">ticketId </td><td style="width: 33.3745%; height: 63.3906px;">?int</td><td style="width: 33.3745%; height: 63.3906px;">Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления переменной</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">scriptRequestParams </td><td style="width: 33.3745%; height: 80.1875px;">object</td><td style="width: 33.3745%; height: 80.1875px;">Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления переменной</td></tr><tr style="height: 96.9844px;"><td style="width: 33.3745%; height: 96.9844px;">isSuppressTriggers </td><td style="width: 33.3745%; height: 96.9844px;">bool </td><td style="width: 33.3745%; height: 96.9844px;">Не мягкое удаление. Если передано true, то переменная будет удалена из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается</td></tr></tbody></table>

<span style="font-size: 1.4em; font-weight: 400;">Возвращает:</span>

**self** - подтверждение удаления переменной.

##### Пример:

```JavaScript
lead.forceDeleteAttrs('var1, var2, var3');
```

# lead.deleteJsonAttrs() и lead.deleteJsonAttr()

### Удаление json-переменных лида

```JavaScript
lead.deleteJsonAttrs(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false)
```

или

```JavaScript
lead.deleteJsonAttr(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false)
```

##### Описание:

Удаляет json переменную из бота.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-att-1" style="border-collapse: collapse; width: 100%; height: 447.313px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">attrs</td><td style="width: 33.3745%; height: 80.1875px;">string|object|array|null</td><td style="width: 33.3745%; height: 80.1875px;">Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив</td></tr><tr style="height: 63.3906px;"><td style="width: 33.3745%; height: 63.3906px;">ticketId </td><td style="width: 33.3745%; height: 63.3906px;">?int</td><td style="width: 33.3745%; height: 63.3906px;">Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления переменной</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">scriptRequestParams </td><td style="width: 33.3745%; height: 80.1875px;">object</td><td style="width: 33.3745%; height: 80.1875px;">Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления переменной</td></tr><tr style="height: 96.766px;"><td style="width: 33.3745%; height: 96.766px;">isForceDelete </td><td style="width: 33.3745%; height: 96.766px;">bool </td><td style="width: 33.3745%; height: 96.766px;">Подавить запуск триггеров или нет, т.е. если передать true,   
и есть триггер подписанный на событие изменения/удаления переменной то он не будет запущен.</td></tr><tr style="height: 96.9844px;"><td style="width: 33.3745%; height: 96.9844px;">isSuppressTriggers </td><td style="width: 33.3745%; height: 96.9844px;">bool </td><td style="width: 33.3745%; height: 96.9844px;">Не мягкое удаление. Если передано true, то переменная будет удалена из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается</td></tr></tbody></table>

<span style="font-size: 1.4em; font-weight: 400;">Возвращает:</span>

**self** - подтверждение удаления переменной.

##### Пример:

```JavaScript
lead.deleteJsonAttrs('json_var1, json_var2, json_var3', null, null, true);
```

# lead.forceDeleteJsonAttrs() и lead.forceDeleteJsonAttr()

### Принудительное удаление json-переменных лида из БД

```JavaScript
lead.forceDeleteJsonAttrs(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false)
```

или

```JavaScript
lead.forceDeleteJsonAttr(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false)
```

##### Описание:

Удаляет json переменную из бота и БД.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-att-2" style="border-collapse: collapse; width: 100%; height: 447.313px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">attrs</td><td style="width: 33.3745%; height: 80.1875px;">string|object|array|null</td><td style="width: 33.3745%; height: 80.1875px;">Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив</td></tr><tr style="height: 63.3906px;"><td style="width: 33.3745%; height: 63.3906px;">ticketId </td><td style="width: 33.3745%; height: 63.3906px;">?int</td><td style="width: 33.3745%; height: 63.3906px;">Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления переменной</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">scriptRequestParams </td><td style="width: 33.3745%; height: 80.1875px;">object</td><td style="width: 33.3745%; height: 80.1875px;">Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления переменной</td></tr><tr style="height: 96.9844px;"><td style="width: 33.3745%; height: 96.9844px;">isSuppressTriggers </td><td style="width: 33.3745%; height: 96.9844px;">bool </td><td style="width: 33.3745%; height: 96.9844px;">Не мягкое удаление. Если передано true, то переменная будет удалена из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается</td></tr></tbody></table>

<span style="font-size: 1.4em; font-weight: 400;">Возвращает:</span>

**self** - подтверждение удаления переменной.

##### Пример:

```JavaScript
lead.forceDeleteJsonAttrs('json_var1, json_var2, json_var3');
```

# lead.isInStatus()

### Проверка существования статуса у лида

```JavaScript
lead.isInStatus(string $statusName)
```

##### Описание:

<span style="font-weight: 400;">Проверить, что лид находится в статусе с указанным в методе именем</span>.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">statusName</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование статуса</td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение существования статуса.

# lead.getStatusId()

### Узнать id статуса лида

```JavaScript
lead.getStatusId()
```

##### Описание:

<span style="font-weight: 400;">Возвращает значение поля status\_id лида.</span>

##### Возвращает:

**int** — id статуса лида в форме числа

или

**null** — если у лида нет статуса.

# lead.isTagExist() и lead.issetTag()

### Проверить наличие тэга лида

```JavaScript
lead.isTagExist($some_tag)
```

или

```JavaScript
lead.issetTag($some_tag)
```

##### Описание:

Проверяет существование тега у лида.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-tab" style="border-collapse: collapse; width: 100%; height: 94.9844px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">some\_tag</td><td style="width: 33.2909%; height: 29.7969px;">string</td><td style="width: 33.2948%; height: 29.7969px;">Наименование тэга</td></tr></tbody></table>

##### Возвращает:

**bool** - подтверждение существования тега.

##### Пример:

```JavaScript
let TagExist = lead.isTagExist('тэг');
```

или

```JavaScript
let TagExist = lead.issetTag('тэг');
```

# lead.getTag()

### Получить значение тэга лида

```JavaScript
lead.getTag(string $key)
```

##### Описание:

Возвращает значение тэга лида по наименованию.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 94.9844px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">key</td><td style="width: 33.2909%; height: 29.7969px;">string</td><td style="width: 33.2948%; height: 29.7969px;">Наименование тэга</td></tr></tbody></table>

##### Возвращает:

**string** - если тэг активен

или

**null** - если тэг неактивен.

##### Пример:

```JavaScript
let Tag = lead.getTag('тэг');
```

# lead.getAllTags()

### Получить массив всех тэгов лида

```JavaScript
lead.getAllTags()
```

##### Описание:

Возвращает массив всех тэгов лида.

##### Возвращает:

**array** - массив наименований тэгов лида.

##### Пример:

```JavaScript
let AllTags = lead.getAllTags();
let Tag2 = AllTags[1];
```

# lead.addTags() и lead.addTag()

### Добавление тэгов лида

```
lead.addTags(string|object|array|null $tags, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false)
```

или

```
lead.addTag(string|object|array|null $tags, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false)
```

##### Описание:

Добавляет тэг в бот.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-att" style="border-collapse: collapse; width: 100%; height: 447.313px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">tags</td><td style="width: 33.3745%; height: 80.1875px;">string|object|array|null</td><td style="width: 33.3745%; height: 80.1875px;">Строка, представляющая собой список названий тэгов(разделитель запятая). Можно указать вместо списка json объект или массив</td></tr><tr style="height: 63.3906px;"><td style="width: 33.3745%; height: 63.3906px;">ticketId </td><td style="width: 33.3745%; height: 63.3906px;">?int</td><td style="width: 33.3745%; height: 63.3906px;">Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления тэга</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">scriptRequestParams </td><td style="width: 33.3745%; height: 80.1875px;">object</td><td style="width: 33.3745%; height: 80.1875px;">Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления тэга</td></tr><tr style="height: 96.9844px;"><td style="width: 33.3745%; height: 96.9844px;">isSuppressTriggers </td><td style="width: 33.3745%; height: 96.9844px;">bool </td><td style="width: 33.3745%; height: 96.9844px;">Не мягкое удаление. Если передано true, то тэг будет удален из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается</td></tr></tbody></table>

<span style="font-size: 1.4em; font-weight: 400;">Возвращает:</span>

**self** - наименование созданного тэга.

##### Пример:

```JavaScript
lead.addTags('new_tag', null, {"some_key": "some_value"});
```

# lead.deleteTags() и lead.deleteTag()

### Удаление тэгов лида

```
lead.deleteTags(string|object|array|null $tags, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false)
```

или

```
lead.deleteTag(string|object|array|null $tags, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false)
```

##### Описание:

Удаляет тэг из бота.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-tag" style="border-collapse: collapse; width: 100%; height: 447.313px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">tags</td><td style="width: 33.3745%; height: 80.1875px;">string|object|array|null</td><td style="width: 33.3745%; height: 80.1875px;">Строка, представляющая собой список названий тэгов (разделитель запятая). Можно указать вместо списка json объект или массив</td></tr><tr style="height: 63.3906px;"><td style="width: 33.3745%; height: 63.3906px;">ticketId </td><td style="width: 33.3745%; height: 63.3906px;">?int</td><td style="width: 33.3745%; height: 63.3906px;">Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления тэга</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">scriptRequestParams </td><td style="width: 33.3745%; height: 80.1875px;">object</td><td style="width: 33.3745%; height: 80.1875px;">Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления тэга</td></tr><tr style="height: 96.766px;"><td style="width: 33.3745%; height: 96.766px;">isForceDelete </td><td style="width: 33.3745%; height: 96.766px;">bool </td><td style="width: 33.3745%; height: 96.766px;">Подавить запуск триггеров или нет, т.е. если передать true,   
и есть триггер подписанный на событие изменения/удаления тэга то он не будет запущен.</td></tr><tr style="height: 96.9844px;"><td style="width: 33.3745%; height: 96.9844px;">isSuppressTriggers </td><td style="width: 33.3745%; height: 96.9844px;">bool </td><td style="width: 33.3745%; height: 96.9844px;">Не мягкое удаление. Если передано true, то тэг будет удален из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается</td></tr></tbody></table>

<span style="font-size: 1.4em; font-weight: 400;">Возвращает:</span>

**self** - подтверждение удаления тэга.

##### Пример:

```JavaScript
lead.deleteTags('TAG_111, tag_222 , tag_333', null, null, true);
```

# lead.forceDeleteTags() и lead.forceDeleteTag()

### Принудительное удаление тэгов лидаиз БД

```JavaScript
lead.forceDeleteTags(string|object|array|null $tags, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false)
```

или

```JavaScript
lead.forceDeleteTag(string|object|array|null $tags, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false)
```

##### Описание:

Удаляет тэг из бота и БД.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-att-0" style="border-collapse: collapse; width: 100%; height: 447.313px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">attrs</td><td style="width: 33.3745%; height: 80.1875px;">string|object|array|null</td><td style="width: 33.3745%; height: 80.1875px;">Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив</td></tr><tr style="height: 63.3906px;"><td style="width: 33.3745%; height: 63.3906px;">ticketId </td><td style="width: 33.3745%; height: 63.3906px;">?int</td><td style="width: 33.3745%; height: 63.3906px;">Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления тэга</td></tr><tr style="height: 80.1875px;"><td style="width: 33.3745%; height: 80.1875px;">scriptRequestParams </td><td style="width: 33.3745%; height: 80.1875px;">object</td><td style="width: 33.3745%; height: 80.1875px;">Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления тэга</td></tr><tr><td style="width: 33.3745%; height: 96.9844px;">isSuppressTriggers </td><td style="width: 33.3745%; height: 96.9844px;">bool </td><td style="width: 33.3745%; height: 96.9844px;">Не мягкое удаление. Если передано true, то тэг будет удален из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается</td></tr></tbody></table>

<span style="font-size: 1.4em; font-weight: 400;">Возвращает:</span>

**self** - подтверждение удаления тэга.

##### Пример:

```JavaScript
lead.forceDeleteTags('TAG_111, tag_222 , tag_333');
```

# lead.setForwarded()

### Переключить на оператора

```JavaScript
lead.setForwarded(bool|int $state)
```

##### Описание:

<span style="font-weight: 400;">Установка ($state == true) или сброс ($state == false) у лида признака “Переведён на оператора”.</span>

##### <span style="font-weight: 400;">Атрибуты:</span>

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-sta" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 31.644%; height: 29.7969px;">Имя</td><td style="width: 30.0536%; height: 29.7969px;">Тип</td><td style="width: 38.3024%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 31.644%; height: 29.7969px;"><span style="font-weight: 400;">state </span></td><td style="width: 30.0536%; height: 29.7969px;">bool|int</td><td style="width: 38.3024%; height: 29.7969px;"><span style="font-weight: 400;">При $state = true установка и при $state = false сброс признака “Переведён на оператора”</span></td></tr></tbody></table>

##### Возвращает:

**self** - подтверждение установки или сброса в формате используемом при вызове метода.

# lead.getPersonId()

### Получить id персоны


```JavaScript
lead.getPersonId()
```

##### Описание:

Возвращает id персоны лида.

<span style="font-size: 1.4em; font-weight: 400;">Возвращает:</span>

**int** - id персоны в формате числа

или

**null** - если персоны нет.

##### Пример:

```JavaScript
let PersonId = lead.getPersonId();
lead.setAttr('PersonId', PersonId);
```

# lead.setPersonId()

### Привязать персону к лиду


```JavaScript
lead.setPersonId(?int $personId)
```

##### Описание:

Привязывает к лиду персону с соответствующим id.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-per-1" style="border-collapse: collapse; width: 100%; height: 94.9844px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 35.3906px;"><td style="width: 33.2909%; height: 35.3906px;">personId

</td><td style="width: 33.2909%; height: 35.3906px;">int</td><td style="width: 33.2948%; height: 35.3906px;">Id персоны</td></tr></tbody></table>

##### Возвращает:

**bool** - подтверждение успешной привязки персоны к лиду.

##### Пример:

```JavaScript
lead.setPersonId(167435);
```

# lead.createPersonForCurrentLead()

### Создать персону для лида


```JavaScript
lead.createPersonForCurrentLead($data)
```

##### Описание:

Создает персону для текущего лида в контексте которого запущен v8-скрипт.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-dat" style="border-collapse: collapse; width: 100%; height: 452.078px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3791%; height: 29.7969px;">Имя</td><td style="width: 33.3791%; height: 29.7969px;">Тип</td><td style="width: 33.3791%; height: 29.7969px;">Описание</td></tr><tr style="background-color: #ecf0f1;"><td style="width: 33.3791%;">data

</td><td style="width: 33.3791%;">json</td><td style="width: 33.3791%;">Данные о персоне в формате json. Возможные поля расписаны ниже</td></tr><tr style="height: 35.3906px;"><td style="width: 33.3791%; height: 35.3906px;">person\_role\_id

</td><td style="width: 33.3791%; height: 35.3906px;">integer</td><td style="width: 33.3791%; height: 35.3906px;">Id роли</td></tr><tr style="height: 124.953px;"><td style="width: 33.3791%; height: 124.953px;">is\_external

</td><td style="width: 33.3791%; height: 124.953px;">bool</td><td style="width: 33.3791%; height: 124.953px;"><span style="font-weight: 400;">Если не устанавливать по умолчанию будет установлено 1, означающее что персона является клиентом. </span>

<span style="font-weight: 400;">А 0 означает что персона является работником бизнеса</span>

</td></tr><tr style="height: 49.5938px;"><td style="width: 33.3791%; height: 49.5938px;">user\_id

</td><td style="width: 33.3791%; height: 49.5938px;">integer</td><td style="width: 33.3791%; height: 49.5938px;">Id пользователя, привязываемого к персоне</td></tr><tr style="height: 35.3906px;"><td style="width: 33.3791%; height: 35.3906px;">firstname

</td><td style="width: 33.3791%; height: 35.3906px;">string|null</td><td style="width: 33.3791%; height: 35.3906px;">Имя персоны</td></tr><tr style="height: 35.3906px;"><td style="width: 33.3791%; height: 35.3906px;">lastname

</td><td style="width: 33.3791%; height: 35.3906px;">string|null</td><td style="width: 33.3791%; height: 35.3906px;">Фамилия персоны</td></tr><tr style="height: 35.3906px;"><td style="width: 33.3791%; height: 35.3906px;">middlename

</td><td style="width: 33.3791%; height: 35.3906px;">string|null</td><td style="width: 33.3791%; height: 35.3906px;">Отчество персоны</td></tr><tr style="height: 35.3906px;"><td style="width: 33.3791%; height: 35.3906px;">email

</td><td style="width: 33.3791%; height: 35.3906px;">string|null</td><td style="width: 33.3791%; height: 35.3906px;">Адрес электронной почты персоны</td></tr><tr style="height: 35.3906px;"><td style="width: 33.3791%; height: 35.3906px;">phone

</td><td style="width: 33.3791%; height: 35.3906px;">string|null</td><td style="width: 33.3791%; height: 35.3906px;">Номер телефона персоны</td></tr><tr><td style="width: 33.3791%; height: 35.4688px;">organization\_name

</td><td style="width: 33.3791%; height: 35.4688px;">string|null</td><td style="width: 33.3791%; height: 35.4688px;">Название организации</td></tr><tr><td style="width: 33.3791%; height: 35.4688px;">organization\_address

</td><td style="width: 33.3791%; height: 35.4688px;">string|null</td><td style="width: 33.3791%; height: 35.4688px;">Адрес организации</td></tr><tr style="height: 35.3906px;"><td style="width: 33.3791%; height: 35.3906px;">comment

</td><td style="width: 33.3791%; height: 35.3906px;">string|null</td><td style="width: 33.3791%; height: 35.3906px;">Комментарий к персоне</td></tr></tbody></table>

##### Возвращает:

**int** - id созданной персоны в формате числа.

##### Пример:

```JavaScript
let newPersonId = lead.createPersonForCurrentLead({
  'is_external': 1,
  'firstname': 'Иван',
  'lastname': 'Иванов'
})
```

# lead.isContextExist() и lead.issetContext()

### Проверить наличие контекста лида

```
lead.isContextExist(string $key)
```

или

```
lead.issetContext(string $key)
```

##### Описание:

Проверяет существование контекста у лида.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-tab" style="border-collapse: collapse; width: 100%; height: 94.9844px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">key</td><td style="width: 33.2909%; height: 29.7969px;">string</td><td style="width: 33.2948%; height: 29.7969px;">Наименование контекста</td></tr></tbody></table>

##### Возвращает:

**bool** - подтверждение существования контекста.

##### Пример:

```
let ContextExist = lead.isContextExist('контекст');
```

или

```
let ContextExist = lead.issetContext('контекст');
```

# lead.getContext()

### Получить значение контекста лида

```
lead.getContext(string $key)
```

##### Описание:

Возвращает значение контекста лида по наименованию.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 94.9844px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">key</td><td style="width: 33.2909%; height: 29.7969px;">string</td><td style="width: 33.2948%; height: 29.7969px;">Наименование контекста</td></tr></tbody></table>

##### Возвращает:

**string** - если контекст активен

или

**null** - если контекст неактивен.

##### Пример:

```
let Context = lead.getContext('контекст');
```

# lead.getAllContexts()

### Получить массив всех контекстов лида

```
lead.getAllContexts()
```

##### Описание:

Возвращает массив всех контекстов лида.

##### Возвращает:

**array** - массив наименований контекстов лида.

##### Пример:

```JavaScript
let AllContexts = lead.getAllContexts();
let Context2 = AllContexts[1];
```

# lead.setActiveNlpIntegrationByCode()

### Присвоить интеграцию лиду по коду

```JavaScript
lead.setActiveNlpIntegrationByCode(?string $integrationCode)
```

##### Описание:

Присваивает интеграцию лиду в соответствии с кодом интеграции.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-int-2" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">integrationCode</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Код интеграции</td></tr></tbody></table>

##### Возвращает:

**bool** - подтверждение присвоения интеграции.

# lead.canAutoForward()

### Узнать доступно ли авто-назначение оператора в данном скрипте

```
lead.canAutoForward()
```

##### Описание:

Функция необходима для исключения рекурсивного вызова назначения диалога на оператора, а также для исключения выполнения авто-назначения диалога на оператора, если оператор сам подключается к диалога из контакт-центра.

Результат выполнения данной функции аналогичен результату выполнения функции **bot.canAutoForward()**, функция в bot первична, в лиде функция добавлена для удобства.

Если оператор сам выполняет подключение к диалогу из контакт-центра, то результат функции аналогичен проверке:

```JavaScript
return bot.getForwardEventType() !== 'forwarded_by_operator';
```

Но при этом **lead.canAutoForward(): bool** гарантирует что назначение заявки на оператора не вызвано рекурсивно.

##### Возвращает:

**bool** - подтверждение доступа к авто-назначению.

# lead.getNextOperators()

### Вернуть список следующих операторов

```JavaScript
lead.getNextOperators(string $departmentCode = null, bool $isOnline = true, int|null $limit = 1, bool $useLocks = true)
```

##### Описание:

Возвращает список следующих операторов.

Полученный список будет отсортирован, по:

<div class="pointer-container" id="bkmrk-%C2%A0"><div class="pointer anim is-page-editable"><svg class="svg-icon" data-icon="link" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg><div class="input-group inline block"> <button class="button outline icon" data-clipboard-target="#pointer-url" title="Копировать ссылку" type="button"><svg class="svg-icon" data-icon="copy" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg></button></div><svg class="svg-icon" data-icon="edit" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg></div></div>\- Кол-ву диалогов на операторе;  
\- Дате последнего назначения/принятия диалога;  
\- ID оператора.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 89.1204px;"><tbody><tr style="height: 29.7917px; background-color: #ced4d9;"><td style="width: 33.2909%; height: 29.7917px;">Имя</td><td style="width: 33.2909%; height: 29.7917px;">Тип</td><td style="width: 33.2948%; height: 29.7917px;">Описание</td></tr><tr style="height: 29.7917px;"><td style="width: 33.2909%; height: 29.7917px;">departmentCode </td><td style="width: 33.2909%; height: 29.7917px;">string</td><td style="width: 33.2948%; height: 29.7917px;">Код отдела</td></tr><tr style="height: 29.537px;"><td style="width: 33.2909%; height: 29.537px;">isOnline </td><td style="width: 33.2909%; height: 29.537px;">bool </td><td style="width: 33.2948%; height: 29.537px;">Должны ли операторы быть онлайн</td></tr><tr><td style="width: 33.2909%;">limit </td><td style="width: 33.2909%;">int|null</td><td style="width: 33.2948%;">Лимит возвращенных операторов. Чтобы получить всех операторов, указываем $limit=null</td></tr><tr><td style="width: 33.2909%;">useLocks </td><td style="width: 33.2909%;">bool </td><td style="width: 33.2948%;">Использовать ли блокировки</td></tr></tbody></table>

##### Возвращает:

**int** - список операторов

или

**null** - если нет операторов.

# lead.assignDialogToNextOperator()

### Назначить диалог на следующего оператора

```JavaScript
lead.assignDialogToNextOperator(string|null $departmentCode = null, bool $isOnline = true, bool $isForwardIfOperatorNotFound = true, bool $useLocks = true)
```

##### Описание:

Назначает диалог на следующего оператора полученного с помощью **getNextOperators**.

Варианты откуда может запускаться:  
\- оператор сам подключился к КЦ и в системном скрипте есть вызов данной функции - игнорируем ее вызов;  
\- функцию вызвали в другом скрипте и она также есть в системном скрипте - игнорируем ее вызов только из системного скрипта;  
\- функцию вызвали в системном скрипте - не игнорируем ее вызов.

Если вызываем функцию из системного скрипта перевода на оператора, то данная функция не выполняет перевод (так как он уже выполнен на момент запуска функции) и также не запускает системный скрипт (так как он уже запущен на момент запуска функции) - для этого есть внутренние механизмы отслеживания, откуда запущена функция, и по сути это исключает рекурсивный запуск функций, для этого и введена новая функция bot / lead.canAutoForward на самом деле выполнять данную проверку canAutoForward смысла нет, так как она выполняется автоматически внутри функций назначения оператора и автоматом отсечет рекурсивный вызов, но где может понадобиться использование canAutoForward - это для написания JavaScript условия - нужно ли отсылать уведомление лиду, о том что скрипт перевод на оператора: пример вызываем назначение на оператора в обычном скрипте, и в этом же скрипте уведомляем о то, что мы перевели на оператора, тогда при запуске системного скрипта Перевод на оператора вывод такого же сообщения нужно исключить.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 139.806px;"><tbody><tr style="height: 29.7917px; background-color: #ced4d9;"><td style="width: 33.2909%; height: 29.7917px;">Имя</td><td style="width: 33.2909%; height: 29.7917px;">Тип</td><td style="width: 33.2948%; height: 29.7917px;">Описание</td></tr><tr style="height: 29.7917px;"><td style="width: 33.2909%; height: 29.7917px;">departmentCode </td><td style="width: 33.2909%; height: 29.7917px;">string</td><td style="width: 33.2948%; height: 29.7917px;">Код отдела</td></tr><tr style="height: 29.537px;"><td style="width: 33.2909%; height: 29.537px;">isOnline </td><td style="width: 33.2909%; height: 29.537px;">bool </td><td style="width: 33.2948%; height: 29.537px;">Должны ли операторы быть онлайн</td></tr><tr style="height: 21.1482px;"><td style="width: 33.2909%; height: 21.1482px;">isForwardIfOperatorNotFound</td><td style="width: 33.2909%; height: 21.1482px;">bool</td><td style="width: 33.2948%; height: 21.1482px;">Продолжить если оператор не найден</td></tr><tr style="height: 29.537px;"><td style="width: 33.2909%; height: 29.537px;">useLocks </td><td style="width: 33.2909%; height: 29.537px;">bool </td><td style="width: 33.2948%; height: 29.537px;">Использовать ли блокировки</td></tr></tbody></table>

##### Возвращает:

**int** - оператора

или

**null** - если не удалось назначить.

# lead.assignDialogToOperator()

### Назначить диалог на указанного оператора

```JavaScript
lead.assignDialogToOperator(int|null $operatorId, bool $isForwardIfOperatorNotFound = true, bool $useLocks = true)
```

##### Описание:

Назначает диалог на указанного в методе оператора.

 Если вызываем функцию из системного скрипта перевода на оператора, то данная функция не выполняет перевод (так как он уже выполнен на момент запуска функции) и также не запускает системный скрипт (так как он уже запущен на момент запуска функции).

Если вызываем функцию из обычного скрипта, то в данной точке сразу будет вызван системный скрипт (если он есть). Системный скрипт можно не создавать и обрабатывать все в точке вызова (можно через v8 плагина) или в отдельном обычном скрипте. Если в системном скрипте и скрипте в котором вызывает данную функцию есть отправка сообщений то необходимо вызывать **bot.disableBuffer()**, чтобы не нарушать последовательность сообщений. Но лучше отправлять сообщения только в одном из скриптов.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 89.1204px;"><tbody><tr style="height: 29.7917px; background-color: #ced4d9;"><td style="width: 33.2909%; height: 29.7917px;">Имя</td><td style="width: 33.2909%; height: 29.7917px;">Тип</td><td style="width: 33.2948%; height: 29.7917px;">Описание</td></tr><tr style="height: 29.7917px;"><td style="width: 33.2909%; height: 29.7917px;">operatorId</td><td style="width: 33.2909%; height: 29.7917px;">string</td><td style="width: 33.2948%; height: 29.7917px;">ID оператора</td></tr><tr><td style="width: 33.2909%;">limit </td><td style="width: 33.2909%;">int|null</td><td style="width: 33.2948%;">Лимит возвращенных операторов. Чтобы получить всех операторов, указываем $limit=null</td></tr><tr><td style="width: 33.2909%;">useLocks </td><td style="width: 33.2909%;">bool </td><td style="width: 33.2948%;">Использовать ли блокировки</td></tr></tbody></table>

##### Возвращает:

**int** - оператора

или

**null** - если не удалось назначить оператора.

# lead.getLastRequest()

### Получить объект с параметрами последнего реквеста

```JavaScript
lead.getLastRequest()
```

##### Описание:

Находит последний реквест и возвращает объект с его параметрами.

##### Возвращает:

**ScriptRequest** — последний реквест.

# lead.getMessengerCode()

### Получить буквенное обозначение текущего мессенджера канала

```
lead.getMessengerCode()
```

##### Описание:

Возвращает буквенное обозначение текущего мессенджера канала.

##### Возвращает:

**string** - буквенное обозначение текущего мессенджера канала.

Коды которые может возвращать данная функция:

- 'unknown'
- 'avito'
- 'apple\_business\_chat'
- 'facebook'
- 'instagram'
- 'jivoWidget'
- 'livechatWidget'
- 'odnoklassniki'
- 'skype'
- 'telegram'
- 'twitter'
- 'viber'
- 'vk'
- 'wechat'
- 'whatsapp'
- 'youla'
- 'metabotWidget'
- 'webim'

# lead.getIdentification()

### Получить идентификатор лида во внешней системе

```
lead.getIdentification()
```

##### Описание:

Возвращает идентификатор лида во внешней системе, т.е. в мессенджере, например для Telegram - это id чата клиента.

##### Возвращает:

**string** - идентификатор лида во внешней системе в формате строки

или

**null** - если идентификатор не найден.

# lead.getIdentificationEntity()

### Получить дополнительный идентификатор лида во внешней системе

```
lead.getIdentificationEntity()
```

##### Описание:

Возвращает дополнительный идентификатор лида во внешней системе, например используется для Bitrix24 – и возвращает ‘LEAD’ / ‘DEAL’.

##### Возвращает:

**string** - дополнительный идентификатор лида во внешней системе в формате строки

или

**null** - если нет составного идентификатора лида.

# lead.getMessenger()

### Получить текущий мессенджер

```
lead.getMessenger()
```

##### Описание:

Метод для получения обозначения текущего мессенджера канала.

Коды которые может возвращать данная функция:

- Unknown - 0
- Avito - 1
- Apple business chat - 17
- Facebook - 2
- Instagram - 3
- JivoWidget - 15
- LivechatWidget - 4
- Jdnoklassniki - 16
- Skype - 5
- Telegram - 6
- Twitter - 7
- Viber - 8
- VK - 9
- Wechat - 12
- Whatsapp - 10
- Юла - 11
- MetabotWidget - 13
- Webim - 14

##### Возвращает:

**int** - код канала.

# lead.getAllData()

### Получить <span style="font-weight: 400;">все данные лида</span>

```JavaScript
lead.getAllData()
```

##### Описание:

<span style="font-weight: 400;">Возвращает все данные лида</span>.

##### Возвращает:

<span style="font-weight: 300;">**array** </span>- значение данных лида в формате массива:

- <span style="font-weight: 400;">**id** - id лида;</span>
- <span style="font-weight: 400;">**name** - имя лида;</span>
- <span style="font-weight: 400;">**identification** - внешний id лида;</span>
- <span style="font-weight: 400;">**identification\_entity** - внешний id сущности;</span>
- <span style="font-weight: 400;">**person\_id** - id персоны лида;</span>
- <span style="font-weight: 400;">**manager\_id** - id менеджера привязанного к лиду;</span>
- <span style="font-weight: 400;">**bot\_id** - id бота лида;</span>
- <span style="font-weight: 400;">**channel\_id** - id канала лида;</span>
- <span style="font-weight: 400;">**lang\_code** - код языка;</span>
- <span style="font-weight: 400;">**status\_id** - id статуса лида;</span>
- <span style="font-weight: 400;">**extra**</span>
    - <span style="font-weight: 400;">last\_message\_payload</span>
        - <span style="font-weight: 400;">**identification** - id последнего сообщения;</span>
        - <span style="font-weight: 400;">**event\_name** - код события, например, user\_uttered, когда последнее сообщение - ответ пользователя;</span>
        - <span style="font-weight: 400;">**text** - текст последнего сообщения;</span>
        - <span style="font-weight: 400;">**payload** - данные последнего сообщения;</span>
        - <span style="font-weight: 400;">**timestamp** - время отправки;</span>
        - <span style="font-weight: 400;">**session\_id** - id сессии;</span>
        - <span style="font-weight: 400;">**socket\_id** - id сокета;</span>
- <span style="font-weight: 400;">**is\_mute** - включен ли бот для лида;</span>
- <span style="font-weight: 400;">**last\_message\_date** - дата последнего сообщения;</span>
- <span style="font-weight: 400;">**active\_nlp\_integration\_id** - id активной NLP интеграции;</span>
- <span style="font-weight: 400;">**last\_activity** - время последней активности;</span>
- <span style="font-weight: 400;">**last\_response** - код последнего ответа;</span>
- <span style="font-weight: 400;">**messenger** - id мессенджера;</span>
- <span style="font-weight: 400;">**bot\_debug\_level** - уровень отладки бота;</span>
- <span style="font-weight: 400;">**created\_at** - время создания;</span>
- <span style="font-weight: 400;">**updated\_at** - время обновления;</span>
- <span style="font-weight: 400;">**dialog\_id** - id диалога;</span>
- <span style="font-weight: 400;">**unread\_count** - количество непрочитанных оператором сообщений;</span>
- <span style="font-weight: 400;">**last\_message** - последнее сообщение;</span>
- <span style="font-weight: 400;">**last\_message\_botlog\_id** - id последнего сообщения в логе.</span>

##### Пример:

```JavaScript
let extra = lead.getAllData();
```

# lead.setData()

### Установить значение данных лида

```JavaScript
lead.setData(string $key, $value)
```

##### Описание:

<span style="font-weight: 400;">Устанавливает значение данных лида по ключу</span>.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="height: 29.7969px; background-color: #ced4d9;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">key</td><td style="width: 33.2909%; height: 29.7969px;">string</td><td style="width: 33.2948%; height: 29.7969px;">Ключ данных лида</td></tr><tr><td style="width: 33.2909%;">value</td><td style="width: 33.2909%;">mixed</td><td style="width: 33.2948%;">Значение данных</td></tr></tbody></table>

<span style="font-weight: 400;">В качестве ключа можно указать:</span>

- <span style="font-weight: 400;">**id** - id лида;</span>
- <span style="font-weight: 400;">**name** - имя лида;</span>
- <span style="font-weight: 400;">**identification** - внешний id лида;</span>
- <span style="font-weight: 400;">**identification\_entity** - внешний id сущности;</span>
- <span style="font-weight: 400;">**person\_id** - id персоны лида;</span>
- <span style="font-weight: 400;">**manager\_id** - id менеджера привязанного к лиду;</span>
- <span style="font-weight: 400;">**bot\_id** - id бота лида;</span>
- <span style="font-weight: 400;">**channel\_id** - id канала лида;</span>
- <span style="font-weight: 400;">**lang\_code** - код языка;</span>
- <span style="font-weight: 400;">**status\_id** - id статуса лида;</span>
- <span style="font-weight: 400;">**extra**</span>
    - <span style="font-weight: 400;">last\_message\_payload</span>
        - <span style="font-weight: 400;">**identification** - id последнего сообщения;</span>
        - <span style="font-weight: 400;">**event\_name** - код события, например, user\_uttered, когда последнее сообщение - ответ пользователя;</span>
        - <span style="font-weight: 400;">**text** - текст последнего сообщения;</span>
        - <span style="font-weight: 400;">**payload** - данные последнего сообщения;</span>
        - <span style="font-weight: 400;">**timestamp** - время отправки;</span>
        - <span style="font-weight: 400;">**session\_id** - id сессии;</span>
        - <span style="font-weight: 400;">**socket\_id** - id сокета;</span>
- <span style="font-weight: 400;">**is\_mute** - включен ли бот для лида;</span>
- <span style="font-weight: 400;">**last\_message\_date** - дата последнего сообщения;</span>
- <span style="font-weight: 400;">**active\_nlp\_integration\_id** - id активной NLP интеграции;</span>
- <span style="font-weight: 400;">**last\_activity** - время последней активности;</span>
- <span style="font-weight: 400;">**last\_response** - код последнего ответа;</span>
- <span style="font-weight: 400;">**messenger** - id мессенджера;</span>
- <span style="font-weight: 400;">**bot\_debug\_level** - уровень отладки бота;</span>
- <span style="font-weight: 400;">**created\_at** - время создания;</span>
- <span style="font-weight: 400;">**updated\_at** - время обновления;</span>
- <span style="font-weight: 400;">**dialog\_id** - id диалога;</span>
- <span style="font-weight: 400;">**unread\_count** - количество непрочитанных оператором сообщений;</span>
- <span style="font-weight: 400;">**last\_message** - последнее сообщение;</span>
- <span style="font-weight: 400;">**last\_message\_botlog\_id** - id последнего сообщения в логе.</span>

##### Возвращает:

<span style="font-weight: 300;">**self** </span>- значение данных лида в формате, в котором они находятся в сущности.

##### Пример:

```JavaScript
let person_id = lead.setData('person_id', 34);
```

# lead.isInlineButtonsAvailable()

### Проверка включения инлайн кнопок

```JavaScript
lead.isInlineButtonsAvailable()
```

##### Описание:

Проверяет включены ли инлайн кнопки.

##### Возвращает:

**bool** - 0, если не включены, 1, если включены

или

**null** - если таких данных не существует.

##### Пример:

```JavaScript
let inlineButtons = lead.isInlineButtonsAvailable();
```

# lead.isInlineButtonsAvailableGeneralChannelSetting()

### Получить настройки кнопок канала

```JavaScript
lead.isInlineButtonsAvailableGeneralChannelSetting()
```

##### Описание:

Возвращает настройки кнопок текущего канала лида.

##### Возвращает:

**bool** - 0, если не включены, 1, если включены

или

**null** - если таких данных не существует.

##### Пример:

```JavaScript
let inlineButtons = lead.isInlineButtonsAvailableGeneralChannelSetting();
```

# lead.getIntAttr()

### Получить значение числовой переменной лида

```JavaScript
lead.getIntAttr(string $key, ?int|null $default = 0)
```

##### Описание:

<span style="font-weight: 400;">Возвращает значение уже существующей числовой переменной лида.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование переменной</td></tr><tr><td style="width: 33.3745%;">default</td><td style="width: 33.3745%;">int</td><td style="width: 33.3745%;">Дефолтное значение переменной</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**int** - </span>числовое значение запрашиваемой переменной

или

**null** - если переменная не была найдена.

##### Пример:

```JavaScript
let lead_attribute_value = lead.getIntAttr('lead_attribute', 2);
```

# lead.getFloatAttr()

### Получить значение float переменной лида

```JavaScript
lead.getFloatAttr(string $key, ?float|null $default = 0.0)
```

##### Описание:

<span style="font-weight: 400;">Возвращает значение уже существующей float переменной лида.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 89.1928px;"><tbody><tr style="background-color: #ced4d9; height: 29.7917px;"><td style="width: 33.3745%; height: 29.7917px;">Имя</td><td style="width: 33.3745%; height: 29.7917px;">Тип</td><td style="width: 33.3745%; height: 29.7917px;">Описание</td></tr><tr style="height: 29.7917px;"><td style="width: 33.3745%; height: 29.7917px;">key</td><td style="width: 33.3745%; height: 29.7917px;">string</td><td style="width: 33.3745%; height: 29.7917px;">Наименование переменной</td></tr><tr style="height: 29.6094px;"><td style="width: 33.3745%; height: 29.6094px;">default</td><td style="width: 33.3745%; height: 29.6094px;"><span style="font-weight: 400;">float </span></td><td style="width: 33.3745%; height: 29.6094px;">Дефолтное значение</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**float** - </span>значение запрашиваемой <span style="font-weight: 400;">float </span>переменной

или

**null** - если переменная не была найдена.

##### Пример:

```JavaScript
let lead_attribute_value = lead.getFloatAttr('lead_attribute', 0.1);
```

# lead.getBoolAttr()

### Получить значение bool переменной лида

```JavaScript
lead.getBoolAttr(string $key, ?bool|null $default = false)
```

##### Описание:

<span style="font-weight: 400;">Возвращает значение уже существующей bool переменной лида.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование переменной</td></tr><tr><td style="width: 33.3745%;">default</td><td style="width: 33.3745%;">bool</td><td style="width: 33.3745%;">Дефолтное значение</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**bool** - </span>значение запрашиваемой bool переменной

или

**null** - если переменная не была найдена.

##### Пример:

```JavaScript
let lead_attribute_value = lead.getBoolAttr('lead_attribute', true);
```

# lead.getJsonAttr()

### Получить значение JSON переменной лида

```JavaScript
lead.getJsonAttr(string $key)
```

##### Описание:

<span style="font-weight: 400;">Возвращает значение уже существующей JSON переменной лида.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование переменной</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**mixed** - </span>значение запрашиваемой <span style="font-weight: 400;">JSON</span> переменной

или

**null** - если переменная не была найдена.

##### Пример:

```JavaScript
let lead_attribute_value = lead.getJsonAttr('lead_attribute');
```

# lead.getAllJsonAttrs()

### Получить значение всех JSON переменных лида

```JavaScript
lead.getAllJsonAttrs()
```

#### Описание:

<span style="font-weight: 400;">Возвращает значение всех JSON переменных лида.</span>

##### Возвращает:

<span style="font-weight: 300;">**array** </span>- массив JSON переменных лида.

##### Пример:

```JavaScript
let lead_attribute_value = lead.getAllJsonAttrs();
```

# lead.setJsonAttr()

### Установить значение JSON переменной лида

```JavaScript
lead.setJsonAttr(string $key, $value)
```

#### Описание:

<span style="font-weight: 400;">Устанавливает значение JSON переменной лида.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование переменной</td></tr><tr><td style="width: 33.3745%;">value</td><td style="width: 33.3745%;">mixed</td><td style="width: 33.3745%;">JSON значение переменной</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**self** </span>- объект того же типа и значения, что задан в методе.

##### Пример:

```JavaScript
let lead_attribute_value = lead.setJsonAttr('lead_attribute', {
  															"id": 2415,
  															"name": "Имя"
															});
```

# lead.issetJsonAttr() и lead.isJsonAttrKeyExist()

### Проверить наличие JSON переменной лида

```JavaScript
lead.issetJsonAttr(string $key)

и

lead.isJsonAttrKeyExist(string $key)
```

#### Описание:

<span style="font-weight: 400;">Проверяет наличие JSON переменной лида.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование переменной</td></tr></tbody></table>

##### Возвращает:

**bool** - подтверждение существования переменной.

##### Пример:

```JavaScript
let lead_attribute_value = lead.issetJsonAttr('lead_attribute');

или

let lead_attribute_value = lead.isJsonAttrKeyExist('lead_attribute');
```

# lead.setAllLiveTexAttrs()

### Установить значение всех LiveTex переменных лида

```JavaScript
lead.setAllLiveTexAttrs(string $value)
```

#### Описание:

<span style="font-weight: 400;">Устанавливает значение всех LiveTex переменных лида.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.3745%;">value</td><td style="width: 33.3745%;">string</td><td style="width: 33.3745%;">Значение переменной</td></tr></tbody></table>


##### Возвращает:

<span style="font-weight: 300;">**self** </span>- объект того же типа и значения, что задан в методе.

##### Пример:

```JavaScript
let lead_attribute_value = lead.setAllLiveTexAttrs('lead_value');
```

# lead.setLiveTexAttr()

### Установить значение LiveTex переменной лида

```JavaScript
lead.setLiveTexAttr(string $key,string $value)
```

#### Описание:с

<span style="font-weight: 400;">Устанавливает значение LiveTex переменной лида.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование переменной</td></tr><tr><td style="width: 33.3745%;">value</td><td style="width: 33.3745%;">string</td><td style="width: 33.3745%;">Значение переменной</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**self** </span>- объект того же типа и значения, что задан в методе.

##### Пример:

```JavaScript
let lead_attribute_value = lead.setLiveTexAttr('lead_attribute', "lead_value");
```

# lead.getLiveTexAttr()

### Получить значение LiveTex переменной лида

```JavaScript
lead.getLiveTexAttr(string $key)
```

##### Описание:

<span style="font-weight: 400;">Возвращает значение уже существующей LiveTex переменной лида.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование переменной</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**mixed** - </span>значение запрашиваемой переменной

или

**null** - если переменная не была найдена.

##### Пример:

```JavaScript
let lead_attribute_value = lead.getLiveTexAttr('lead_attribute');
```

# lead.getAllLiveTexAttrs()

### Получить значение всех LiveTex переменных лида

```JavaScript
lead.getAllLiveTexAttrs()
```

#### Описание:

<span style="font-weight: 400;">Возвращает значение всех LiveTex переменных лида.</span>

##### Возвращает:

<span style="font-weight: 300;">**array** </span>- массив LiveTex переменных лида.

##### Пример:

```JavaScript
let lead_attribute_value = lead.getAllLiveTexAttrs();
```

# lead.setTag()

### Установить значение тэга лида

```JavaScript
lead.setTag(string $key, $value)
```

##### Описание:

Устанавливает значение тэга лида по наименованию.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 94.9844px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">key</td><td style="width: 33.2909%; height: 29.7969px;">string</td><td style="width: 33.2948%; height: 29.7969px;">Наименование тэга</td></tr><tr><td style="width: 33.2909%;">value</td><td style="width: 33.2909%;">mixed</td><td style="width: 33.2948%;">Значение тэга</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**self** </span>- значение, указанное в методе.

##### Пример:

```JavaScript
let Tag = lead.setTag('регистрация');
```

# lead.setContext()

### Установить значение контекста лида

```JavaScript
lead.setContext(string $key, $value)
```

##### Описание:

Устанавливает значение контекста лида по наименованию.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 89.1928px;"><tbody><tr style="background-color: #ced4d9; height: 29.7917px;"><td style="width: 33.2909%; height: 29.7917px;">Имя</td><td style="width: 33.2909%; height: 29.7917px;">Тип</td><td style="width: 33.2948%; height: 29.7917px;">Описание</td></tr><tr style="height: 29.7917px;"><td style="width: 33.2909%; height: 29.7917px;">key</td><td style="width: 33.2909%; height: 29.7917px;">string</td><td style="width: 33.2948%; height: 29.7917px;">Наименование контекста</td></tr><tr style="height: 29.6094px;"><td style="width: 33.2909%; height: 29.6094px;">value</td><td style="width: 33.2909%; height: 29.6094px;">mixed</td><td style="width: 33.2948%; height: 29.6094px;">Значение контекста</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**self** </span>- значение, указанное в методе.

##### Пример:

```JavaScript
let Con = lead.setContext('контекст', "регистрация");
```

# lead.getAllStatuses()

### <span style="font-weight: 400;">Узнать все статусы лида</span>

```JavaScript
lead.getAllStatuses()
```

##### Описание:

<span style="font-weight: 400;">Возвращает все статусы лида.</span>

##### Возвращает:

<span style="font-weight: 300;">**array** </span>— id статусов лида в формате массива.

# lead.getAllStatusesIndexedByName()

### <span style="font-weight: 400;">Узнать все наименования статусов лида</span>

```JavaScript
lead.getAllStatusesIndexedByName()
```

##### Описание:

<span style="font-weight: 400;">Возвращает все наименования статусов лида</span>.

##### Возвращает:

<span style="font-weight: 300;">**array** </span>— массив наименований статусов лида.

# lead.setStatusId()

### Установить <span style="font-weight: 400;">id статуса лида</span>

```JavaScript
lead.setStatusId(int $statusId, string $name)
```

##### Описание:

Устанавливает <span style="font-weight: 400;">id статуса лида</span>.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">statusId</td><td style="width: 33.3745%; height: 29.7969px;">int </td><td style="width: 33.3745%; height: 29.7969px;">Id статуса</td></tr><tr><td style="width: 33.3745%;">name</td><td style="width: 33.3745%;">string</td><td style="width: 33.3745%;">Наименование статуса</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**self** </span>— id статуса лида.

# lead.setStatusName()

### Установить <span style="font-weight: 400;">наименование статуса лида</span>

```JavaScript
lead.setStatusName(string $name)
```

##### Описание:

Устанавливает <span style="font-weight: 400;">наименование статуса лида</span>.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">name</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование статуса</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**self** </span>— наименование статуса лида.

# lead.getStatusName()

### <span style="font-weight: 400;">Узнать наименование статуса лида</span>

```JavaScript
lead.getStatusName()
```

##### Описание:

<span style="font-weight: 400;">Возвращает наименование статуса лида</span>.

##### Возвращает:

<span style="font-weight: 300;">**string** </span>— наименование статуса лида в формате строки.

# lead.setStatus()

### Установить <span style="font-weight: 400;">статус лида</span>

```JavaScript
lead.setStatus(int $statusId, string $name)
```

##### Описание:

Устанавливает <span style="font-weight: 400;">статус лида</span>.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 89.1928px;"><tbody><tr style="background-color: #ced4d9; height: 29.7917px;"><td style="width: 33.3745%; height: 29.7917px;">Имя</td><td style="width: 33.3745%; height: 29.7917px;">Тип</td><td style="width: 33.3745%; height: 29.7917px;">Описание</td></tr><tr style="height: 29.7917px;"><td style="width: 33.3745%; height: 29.7917px;">statusId</td><td style="width: 33.3745%; height: 29.7917px;">int</td><td style="width: 33.3745%; height: 29.7917px;">Id статуса</td></tr><tr style="height: 29.6094px;"><td style="width: 33.3745%; height: 29.6094px;">name</td><td style="width: 33.3745%; height: 29.6094px;">string</td><td style="width: 33.3745%; height: 29.6094px;">Наименование статуса</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**self** </span>— id статуса лида.

# lead.setStatusById()

### <span style="font-weight: 400;">Установить статус лида по id</span>

```JavaScript
lead.setStatusById(int $statusId)
```

##### Описание:

Устанавливает<span style="font-weight: 400;"> статус лида по id</span>.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">statusId</td><td style="width: 33.3745%; height: 29.7969px;">int</td><td style="width: 33.3745%; height: 29.7969px;">Id статуса</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**self** </span>— id статуса.

# lead.issetStatusById()

### Проверить существует ли статус у лида по <span style="font-weight: 400;">id</span>

```JavaScript
lead.issetStatusById(string $id)
```

##### Описание:

Проверяет существует ли статус у лида по <span style="font-weight: 400;">id</span>.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">id</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Id статуса</td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение существования статуса.

# lead.issetStatusByName()

### Проверить существует ли статуса у лида по наименованию

```JavaScript
lead.issetStatusByName(string $name)
```

##### Описание:

Проверяет существует ли статуса у лида по наименованию.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">name</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование статуса</td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение существования статуса.

# lead.getStatusIdByName()

### <span style="font-weight: 400;">Узнать id статуса лида по наименованию</span>

```JavaScript
lead.getStatusIdByName(string $statusName)
```

##### Описание:

<span style="font-weight: 400;">Возвращает id статуса лида по наименованию</span>.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">statusName</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование статуса</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**int** </span>— id статуса.

# lead.setStatusByName()

### <span style="font-weight: 400;">Установить статус лида по наименованию</span>

```JavaScript
lead.setStatusByName(string $statusName)
```

##### Описание:

Устанавливает<span style="font-weight: 400;"> статус лида по наименованию</span>.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 89.3907px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">statusName</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование статуса</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**self** </span>— наименование статуса лида.

# lead.setActiveNlpIntegrationById()

### Присвоить интеграцию лиду по id

```JavaScript
lead.setActiveNlpIntegrationById(int|null $nlpIntegrationId)
```

##### Описание:

Присваивает интеграцию лиду по id.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-int-2" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">nlpIntegrationId</td><td style="width: 33.3745%; height: 29.7969px;">int</td><td style="width: 33.3745%; height: 29.7969px;">Id интеграции</td></tr></tbody></table>

##### Возвращает:

**bool** - подтверждение присвоения интеграции.

# lead.hasActiveNlpIntegration()

### Проверить активна ли интеграция

```JavaScript
lead.hasActiveNlpIntegration()
```

##### Описание:

Проверяет активна ли интеграция.

##### Возвращает:

**bool** - подтверждение активности интеграции.

# lead.getActiveNlpIntegrationId()

### Получить интеграцию по id

```JavaScript
lead.getActiveNlpIntegrationId(int|null $nlpIntegrationId)
```

##### Описание:

Возвращает интеграцию по id.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-int-2" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">nlpIntegrationId</td><td style="width: 33.3745%; height: 29.7969px;">int</td><td style="width: 33.3745%; height: 29.7969px;">Id интеграции</td></tr></tbody></table>

##### Возвращает:

**int** - id интеграции

или

**null** - если таких данных нет.

# lead.getActiveNlpIntegrationCode()

### Получить интеграцию по коду

```JavaScript
lead.getActiveNlpIntegrationCode(string|null $integrationCode)
```

##### Описание:

Возвращает интеграцию по коду.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-int-2" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">integrationCode</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Код интеграции</td></tr></tbody></table>

##### Возвращает:

**string** - код интеграции

или

**null** - если таких данных нет.

# lead.getActiveOrFirstNlpIntegrationCode()

### Получить активную или первую интеграцию по коду

```JavaScript
lead.getActiveOrFirstNlpIntegrationCode(string|null $integrationCode)
```

##### Описание:

Возвращает активную или первую интеграцию по коду.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-int-2" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">integrationCode</td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Код интеграции</td></tr></tbody></table>

##### Возвращает:

**string** - код интеграции

или

**null** - если таких данных нет.

# lead.getActiveOrFirstNlpIntegrationId()

### Получить активную или первую интеграцию по id

```JavaScript
lead.getActiveOrFirstNlpIntegrationId(int|null $nlpIntegrationId)
```

##### Описание:

Возвращает активную или первую интеграцию по id.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-int-2" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">nlpIntegrationId</td><td style="width: 33.3745%; height: 29.7969px;">int</td><td style="width: 33.3745%; height: 29.7969px;">Id интеграции</td></tr></tbody></table>

##### Возвращает:

**int** - id интеграции

или

**null** - если данные не найдены.

# lead.getForwardEventTypeForFB()

### Получить тип события для ФБ

```JavaScript
lead.getForwardEventTypeForFB()
```

##### Описание:

Возвращает тип события для ФБ.

##### Возвращает:

**string** - тип события интеграции

или

**null** - если таких данных нет.

# lead.getLang()

### Получить язык установленный в бизнесе

```JavaScript
lead.getLang()
```

##### Описание:

Возвращает язык установленный в бизнесе.

##### Возвращает:

**string** - код языка

или

**null** - если таких данных нет.

# lead.setLang()

### Установить язык в бизнесе

```JavaScript
lead.setLang(string|null $langCode)
```

##### Описание:

Устанавливает язык в бизнесе.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="height: 29.7969px; background-color: #ced4d9;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">langCode</td><td style="width: 33.2909%; height: 29.7969px;">string</td><td style="width: 33.2948%; height: 29.7969px;">Код языка</td></tr></tbody></table>

##### Возвращает:

**string** - код языка

или

**null** - если таких данных не существует.

# lead.isLangExist()

### Проверить существует ли язык

```JavaScript
lead.isLangExist(string $langCode, bool|null $isEnabled = true)
```

##### Описание:

Проверяет существует ли язык.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="height: 29.7969px; background-color: #ced4d9;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">langCode</td><td style="width: 33.2909%; height: 29.7969px;">string </td><td style="width: 33.2948%; height: 29.7969px;">Код языка</td></tr><tr><td style="width: 33.2909%;">isEnabled</td><td style="width: 33.2909%;">bool</td><td style="width: 33.2948%;">Активность языка</td></tr></tbody></table>

##### Возвращает:

**bool** - подтверждения существования языка.