# 07. Справочник по функциям JS # Справочник всех функций ### Получение данных бота
Метод | Описание |
bot.**getAllData**(): **array** | Возвращает все данные текущего бота |
bot.**setData**(string $key, $value): **self** | Устанавливает значение данных текущего бота по ключу |
[bot.**getData**(string $key): **mixed|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetdata "bot.getData()") | Возвращает данные текущего бота по ключу |
Метод | Описание |
[bot.**findLeads**(array|object $columns = \[\], array|object $where = \[\], array|object $orderBy = \[\], int|null $limit = null, int|null $offset = null): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botfindleads "bot.findLeads()") | Находит лиды по указанным атрибутам |
[bot.**getGeoLocation**(): **array|null**](https://docs.metabot24.ru/books/07-spravocnik-po-funkciyam-js/page/botgetgeolocation "bot.getGeoLocation()") | Возвращает геолокацию лида |
Метод | Описание |
lead.**getAllData**(): **array** | Возвращает все данные лида |
lead.**setData**(string $key, $value): **self** | Устанавливает значение данных лида по ключу Возможные ключи: - **id** - id лида; - **identification** - внешний id лида; - **manager\_id** - id менеджера привязанного к лиду; - **bot\_id** - id бота лида; - **channel\_id** - id канала лида; - **status\_id** - id статуса лида; - **extra** - дополнения; - **is\_mute** - включен ли бот для лида; - все системные поля лида (по английски). |
[lead.**getData**(string $key): **mixed|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetdata "lead.getData()") | Возвращает значение данных лида по ключу Возможные ключи: - **id** - id лида; - **identification** - внешний id лида; - **manager\_id** - id менеджера привязанного к лиду; - **bot\_id** - id бота лида; - **channel\_id** - id канала лида; - **status\_id** - id статуса лида; - **extra** - дополнения; - **is\_mute** - включен ли бот для лида; - все системные поля лида (по английски). |
[lead.**issetData**(string $key): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadissetdata-i-leadisdataexist "lead.issetData() и lead.isDataExist()") | Проверяет наличие данных лида по ключу Возможные ключи: - **id** - id лида; - **identification** - внешний id лида; - **manager\_id** - id менеджера привязанного к лиду; - **bot\_id** - id бота лида; - **channel\_id** - id канала лида; - **status\_id** - id статуса лида; - **extra** - дополнения; - **is\_mute** - включен ли бот для лида; - все системные поля лида (по английски). |
[lead.**isDataExist**(string $key): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadissetdata-i-leadisdataexist "lead.issetData() и lead.isDataExist()") | |
[lead.**getSerialNumber**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetserialnumber "lead.getSerialNumber()") | Возвращает порядковый номер лида в текущем боте |
[lead.**getChannelCode**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetchannelcode "lead.getChannelCode()") | Возвращает код канала лида |
lead.**isInlineButtonsAvailable**(): **bool|null** | Проверяет включены ли инлайн кнопки |
lead.**isInlineButtonsAvailableGeneralChannelSetting**(): **bool|null** | Возвращает настройки кнопок канала |
Метод | Описание |
[bot.**scheduleScript**(int|null $scriptId, int|null $leadId, int|null $ticketId = null, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botschedulescript "bot.scheduleScript()") | Планирует вызов скрипта |
bot.**scheduleScriptByCode**(string $scriptCode, int|null $leadId, int|null $ticketId = null, $jobParams = \[\]): **bool** | Планирует вызов скрипта по коду |
[bot.**getScriptIdByName**(string|null $scriptName): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetscriptidbyname "bot.getScriptIdByName()") | Возвращает ID скрипта по наименованию |
[bot.**getScriptIdByCode**(string|null $scriptCode): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetscriptidbycode "bot.getScriptIdByCode()") | Возвращает ID скрипта по коду |
bot.**getScriptCodeById**(string|null $scriptId): **int|null** | Возвращает код скрипта по ID |
[bot.**runScriptForLead**(?int $scriptId, ?int $leadId, ?int $ticketId = null, $addToQueue = true, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botrunscriptforlead "bot.runScriptForLead()") | Запускает скрипт для лида по ID скрипта |
[bot**.runScriptByNameForLead**(string|null $scriptName, int|null $leadId, int|null $ticketId = null, $addToQueue = true, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botrunscriptbynameforlead "bot.runScriptByNameForLead()") | Запускает скрипт для лида по наименованию скрипта |
[bot.**runScriptForPerson**(int|null $scriptId, int|null $personId, int|null $ticketId = null, $addToQueue = true, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botrunscriptforperson "bot.runScriptForPerson()") | Запускает скрипт для персоны по ID скрипта |
[bot.**runScriptByNameForPerson**(string|null $scriptName, int|null $personId, int|null $ticketId = null, $addToQueue = true, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botrunscriptbynameforperson "bot.runScriptByNameForPerson()") | Запускает скрипт для персоны по наименованию скрипта |
[bot.**runScriptByCodeForLead**(string|null $scriptCode, int|null $leadId, int |null$ticketId = null, $addToQueue = true, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botrunscriptbycodeforlead "bot.runScriptByCodeForLead()") | Запускает скрипт для лида по коду |
[bot.**runScriptByCodeForPerson**(string|null $scriptCode, int|null $personId, int|null $ticketId = null, $addToQueue = true, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botrunscriptbycodeforperson "bot.runScriptByCodeForPerson()") | Запускает скрипт для персоны по коду |
[bot.**clearJobsByScriptId**(int|null $scriptId, int|null $leadId = null): **bool** ](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botclearjobsbyscriptid "bot.clearJobsByScriptId()") | Очищает джобы по id скрипта |
[bot.**clearJobsByScriptName**(string|null $scriptName, int|null $leadId = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botclearjobsbyscriptname "bot.clearJobsByScriptName()") | Очищает джобы по наименованию скрипта |
[bot.**clearJobsByScriptCode**(string|null $scriptCode, int|null $leadId = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botclearjobsbyscriptcode) | Очищает джобы по коду скрипта |
Метод | Описание |
[bot.**setAttr(**string $key, string $value): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botsetattr "bot.setAttr()") | Устанавливает значение переменной бота |
[bot.**getAttr**(string $key): **mixed|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetattr "bot.getAttr()") | Возвращает значение переменной бота |
[bot.**getAllAttr**(): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetallattr "bot.getAllAttr()") | Возвращает массив всех переменных бота |
bot.**getIntAttr**(string $key, ?int|null $default = 0): **int****|null** | Возвращает значение int переменной бота |
bot.**getFloatAttr**(string $key, ?float|null $default = 0.0): **float****|null** | Возвращает значение float переменной бота |
bot.**getBoolAttr**(string $key, ?bool|null $default = false): **bool****|null** | Возвращает значение bool переменной бота |
[bot.**issetAttr**(string $key): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botissetattr-i-botisattrexist "bot.issetAttr() и bot.isAttrExist()") | Проверяет наличие переменной бота |
[bot.**isAttrExist**(string $key): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botissetattr-i-botisattrexist) | |
bot.**getAllJsonAttrs**(): **array** | Возвращает значение всех JSON переменных бота |
bot.**setJsonAttr**(string $key, $value): **self** | Устанавливает значение JSON переменной бота |
bot.**getJsonAttr**(string $key): **mixed|null** | Возвращает значение JSON переменной бота |
bot.**issetJsonAttr**(string $key): **bool** | Проверяет наличие JSON переменной бота |
bot.**isJsonAttrKeyExist**(string $key): **bool** |
Метод | Описание |
[lead.**setAttr**(string $key, string $value): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadsetattr "lead.setAttr()") | Устанавливает значение переменной лида |
[lead.**getAttr**(string $key): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetattr "lead.getAttr()") | Возвращает значение переменной лида |
[lead.**getAllAttr**(): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetallattr) | Возвращает все переменные лида |
lead.**getIntAttr**(string $key, ?int|null $default = 0): **int****|null** | Возвращает значение int переменной лида |
lead.**getFloatAttr**(string $key, ?float|null $default = 0.0): **float****|null** | Возвращает значение float переменной лида |
lead.**getBoolAttr**(string $key, ?bool|null $default = false): **bool****|null** | Возвращает значение bool переменной лида |
[lead.**issetAttr**(string $key): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadissetattr-i-leadisattrexist) | Проверяет наличие переменной лида |
[lead.**isAttrExist**(string $key): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadissetattr-i-leadisattrexist) | |
[lead.**deleteAttrs**(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = \[\], bool $isForceDelete = false, bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leaddeleteattrs-i-leaddeleteattr "lead.deleteAttrs() и lead.deleteAttr()") | Удаляет переменную/переменные лида |
[lead.**deleteAttr**(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = \[\], bool $isForceDelete = false, bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leaddeleteattrs-i-leaddeleteattr) | |
[lead.**forceDeleteAttrs**(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = \[\], bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadforcedeleteattrs-i-leadforcedeleteattr "lead.forceDeleteAttrs() и lead.forceDeleteAttr()") | Принудительно удаляет переменную/переменные лида из БД |
[lead.**forceDeleteAttr**(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = \[\], bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadforcedeleteattrs-i-leadforcedeleteattr) | |
lead.**getAllJsonAttrs**(): **array** | Возвращает значение всех JSON переменных лида |
lead.**setJsonAttr**(string $key, $value): **self** | Устанавливает значение JSON переменной лида |
lead.**getJsonAttr**(string $key): **mixed|null** | Возвращает значение JSON переменной лида |
lead.**issetJsonAttr**(string $key): **bool** | Проверяет наличие JSON переменной лида |
lead.**isJsonAttrKeyExist**(string $key): **bool** | |
[lead.**deleteJsonAttrs**(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = \[\], bool $isForceDelete = false, bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leaddeletejsonattrs-i-leaddeletejsonattr "lead.deleteJsonAttrs() и lead.deleteJsonAttr()") | Удаляет json-переменную/json-переменные лида |
[lead.**deleteJsonAttr**(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = \[\], bool $isForceDelete = false, bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leaddeletejsonattrs-i-leaddeletejsonattr "lead.deleteJsonAttrs() и lead.deleteJsonAttr()") | |
[lead.**forceDeleteJsonAttrs**(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = \[\], bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadforcedeletejsonattrs-i-leadforcedeletejsonattr "lead.forceDeleteJsonAttrs() и lead.forceDeleteJsonAttr()") | Принудительно удаляет json-переменную/json-переменные лида из БД |
[lead.**forceDeleteJsonAttr**(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = \[\], bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadforcedeletejsonattrs-i-leadforcedeletejsonattr) | |
lead.**setAllLiveTexAttrs**(string $value): **self** | Устанавливает значение всех LiveTex переменных лида |
lead.**setLiveTexAttr**(string $key,string $value): **self** | Устанавливает значение LiveTex переменной лида |
lead.**getAllLiveTexAttrs**(): **array** | Возвращает значение всех LiveTex переменных лида |
lead.**getLiveTexAttr**(string $key): **mixed|null** | Возвращает значение LiveTex переменной лида |
Метод | Описание |
memory.**setAttr**(string $key, string $value): **self** | Устанавливает значение временной переменной |
memory.**getAttr**(string $key): **string|null** | Возвращает значение временной переменной |
memory.**getIntAttr**(string $key, ?int|null $default = 0): **int****|null** | Возвращает значение int временной переменной |
memory.**getFloatAttr**(string $key, ?float|null $default = 0.0): **float****|null** | Возвращает значение float временной переменной |
memory.**getBoolAttr**(string $key, ?bool|null $default = false): **bool****|null** | Возвращает значение bool временной переменной |
memory.**issetAttr**(string $key): **bool** | Проверяет наличие временной переменной |
memory.**isAttrExist**(string $key): **bool** | |
memory.**setAllJsonAttrs**(array $data): **self** | Устанавливает значение всех временных JSON переменных |
memory.**getAllJsonAttrs**(): **array** | Возвращает значение всех временных JSON переменных |
memory.**setJsonAttr**(string $key, $value): **self** | Устанавливает значение временной JSON переменной |
memory.**getJsonAttr**(string $key): **mixed|null** | Возвращает значение временной JSON переменной |
memory.**issetJsonAttr**(string $key): **bool** | Проверяет наличие временной JSON переменной |
memory.**isJsonAttrKeyExist**(string $key): **bool** |
Метод | Описание |
[bot.**scheduleTrigger**(int|null $triggerId, int|null $leadId, int|null $ticketId = null, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botscheduletrigger "bot.scheduleTrigger()") | Планирует запуск триггера |
bot.**scheduleTriggerByCode**(string $triggerCode, int|null $leadId, int|null $ticketId = null, $jobParams = \[\]): **bool** | Планирует запуск триггера по коду |
[bot.**runTriggerForLead**(?int $triggerId, ?int $leadId, ?int $ticketId = null, $addToQueue = true, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botruntriggerforlead "bot.runTriggerForLead()") | Запускает триггер для лида по ID триггера |
[bot.**runTriggerByCodeForLead**(string|null $triggerCode, int|null $leadId, int|null $ticketId = null, $addToQueue = true, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botruntriggerbycodeforlead "bot.runTriggerByCodeForLead()") | Планирует запуск триггера по коду |
[bot.**runTriggerByCodeForPerson**(string|null $triggerCode, int|null $personId, int|null $ticketId = null, $addToQueue = true, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botruntriggerbycodeforperson "bot.runTriggerByCodeForPerson()") | Планирует запуск триггера по коду для последнего лида персоны |
[bot.**clearTriggerJobsForLead**(int|null $leadId, int|null $ticketId = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botcleartriggerjobsforlead "bot.clearTriggerJobsForLead()") | Удаляет триггеры для лида |
[bot.**clearTriggerJobsForAllPersonLeads**(int|null $personId, int|null $ticketId = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botcleartriggerjobsforallpersonleads "bot.clearTriggerJobsForAllPersonLeads()") | Удаляет триггеры для всех лидов персоны |
[bot.**getTriggerIdByName**(string|null $triggerName): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgettriggeridbyname "bot.getTriggerIdByName()") | Возвращает ID триггера по наименованию |
[bot.**getTriggerIdByCode**(string|null $triggerCode): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgettriggeridbycode "bot.getTriggerIdByCode()") | Возвращает ID Триггера по Коду |
[bot.**runTriggerByNameForLead**(string|null $triggerName, int|null $leadId, int|null $ticketId = null, $addToQueue = true, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botruntriggerbynameforlead "bot.runTriggerByNameForLead()") | Запускает триггер для лида по наименованию |
[bot.**runTriggerForPerson**(int|null $triggerId, int|null $personId, int|null $ticketId = null, $addToQueue = true, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botruntriggerforperson "bot.runTriggerForPerson()") | Запускает триггер для персоны по ID |
[bot.**runTriggerByNameForPerson**(string|null $triggerName, int|null $personId, int|null $ticketId = null, $addToQueue = true, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botruntriggerbynameforperson "bot.runTriggerByNameForPerson()") | Запускает триггер для персоны по наименованию |
bot.**clearTriggerJobsByScriptId**(int|null $scriptId, int|null $leadId = null): **bool** | Очищает джобы триггера по id скрипта |
bot.**clearTriggerJobsByScriptName**(string|null $scriptName, int|null $leadId = null): **bool** | Очищает джобы триггера по наименованию скрипта |
[bot.**clearTriggerJobsById**(int|null $triggerId, int|null $leadId = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botcleartriggerjobsbyid "bot.clearTriggerJobsById()") | Очищает джобы по id триггера |
bot.**clearTriggerJobsByCode**(string|null $triggerCode, int|null $leadId = null, int $ticketId = null): **bool** | Очищает джобы по коду триггера |
bot.**clearTriggerJobsByCodeForAllPersonLeads**(string|null $triggerCode, int|null $personId, int $ticketId = null): **bool** | Удаляет триггеры для всех лидов персоны по коду |
[bot.**clearTriggerJobsByName**(string|null $triggerName, int|null $leadId = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botcleartriggerjobsbyname "bot.clearTriggerJobsByName()") | Очищает джобы по наименованию триггера |
[bot.**clearTriggerJobsByScriptCode**(string|null $scriptCode, int|null $leadId = null, int|null $ticketId = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botcleartriggerjobsbyscriptcode "bot.clearTriggerJobsByScriptCode()") | Очищает джобы по коду скрипта |
[bot.**clearTriggerJobsByIdForTicket**(int|null $triggerId, int|null $ticketId): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botcleartriggerjobsbyidforticket "bot.clearTriggerJobsByIdForTicket()") | Очищает джобы по id триггера и ID заявки |
[bot.**clearTriggerJobsByNameForTicket**(string|null $triggerName, int|null $ticketId): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botcleartriggerjobsbynameforticket "bot.clearTriggerJobsByNameForTicket()") | Очищает джобы по наименованию триггера и ID заявки |
bot.**clearTriggerJobsByCodeForTicket**(string|null $triggerCode, int|null $ticketId): **bool** | Очищает джобы по коду триггера и ID заявки |
Метод | Описание |
[lead.**isInStatus**(string $statusName): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadisinstatus "lead.isInStatus()") | Проверяет существует ли статуса у лида |
[lead.**getStatusId**(): **int**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetstatusid "lead.getStatusId()")[**|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetstatusid "lead.getStatusId()") | Возвращает id статуса лида |
lead.**getAllStatuses**(): **array** | Возвращает все статусы лида |
lead.**getAllStatusesIndexedByName**(): **array** | Возвращает все наименования статусов лида |
lead.**setStatusId**(int $statusId, string $name): **self** | Устанавливает id статуса лида |
lead.**setStatusName**(string $name): **self** | Устанавливает наименование статуса лида |
lead.**getStatusName**(): **string** | Возвращает наименование статуса лида |
lead.**setStatus**(int $statusId, string $name): **self** | Устанавливает статус лида |
lead.**setStatusById**(int $statusId): **self** | Устанавливает статус лида по id |
lead.**issetStatusById**(string $id): **bool** | Проверяет существует ли статуса у лида по id |
lead.**issetStatusByName**(string $name): **bool** | Проверяет существует ли статуса у лида по наименованию |
lead.**getStatusIdByName**(string $statusName): **int** | Возвращает id статуса лида по наименованию |
lead.**setStatusByName**(string $statusName): **self** | Устанавливает статус лида по наименованию |
Метод | Описание |
[bot.**scheduleBroadcast**(int|null $broadcastId, int|null $ticketId = null, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botschedulebroadcast "bot.scheduleBroadcast()") | Планирует запуск рассылки |
[bot.**scheduleBroadcastByCode**(string|null $broadcastCode, int|null $ticketId = null, $jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botschedulebroadcastbycode "bot.scheduleBroadcastByCode()") | Планирует запуск рассылки по коду |
[bot.**getBroadcastIdByCode**(string|null $broadcastCode): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetbroadcastidbycode "bot.getBroadcastIdByCode()") | Возвращает ID рассылки по коду |
Метод | Описание |
[lead.**isTagExist**('some\_tag'): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadistagexist-i-leadissettag "lead.isTagExist() и lead.issetTag()") | Проверяет наличие тэга лида |
[lead.**issetTag**('some\_tag'): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadistagexist-i-leadissettag) | |
lead.**setTag**(string $key, $value): **self** | Устанавливает значение тэга лида |
[lead.**getTag**(string $key): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgettag "lead.getTag()") | Возвращает значение тэга лида |
[lead.**getAllTags**(): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetalltags "lead.getAllTags()") | Возвращает массив всех тэгов лида |
[lead.**addTags**(string|object|array|null $tags, int $ticketId = null, $scriptRequestParams = \[\], bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadaddtags-i-leadaddtag "lead.addTags() и lead.addTag()") | Добавляет тэги лиду |
[lead.**addTag**(string|object|array|null $tags, int|null $ticketId = null, $scriptRequestParams = \[\], bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadaddtags-i-leadaddtag) | |
[lead.**deleteTags**(string|object|array|null $tags, int|null $ticketId = null, $scriptRequestParams = \[\], bool $isForceDelete = false, bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leaddeletetags-i-leaddeletetag "lead.deleteTags() и lead.deleteTag()") | Удаляет тэги лида |
[lead.**deleteTag**(string|object|array|null $tags, int|null $ticketId = null, $scriptRequestParams = \[\], bool $isForceDelete = false, bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leaddeletetags-i-leaddeletetag) | |
[lead.**forceDeleteTags**(string|object|array|null $tags, int|null $ticketId = null, $scriptRequestParams = \[\], bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadforcedeletetags-i-leadforcedeletetag "lead.forceDeleteTags() и lead.forceDeleteTag()") | Принудительно удаляет тэги лида из БД |
[lead.**forceDeleteTag**(string|object|array|null $tags, int|null $ticketId = null, $scriptRequestParams = \[\], bool $isSuppressTriggers = false): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadforcedeletetags-i-leadforcedeletetag "lead.forceDeleteTags() и lead.forceDeleteTag()") |
Метод | Описание |
lead.**setContext**(string $key, $value): **self** | Устанавливает значение контекста лида |
[lead.**isContextExist**('some\_tag'): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadiscontextexist-i-leadissetcontext "lead.isContextExist() и lead.issetContext()") | Проверяет наличие контекста лида |
[lead.**issetContext**('some\_tag'): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadiscontextexist-i-leadissetcontext) | |
[lead.**getContext**(string $key): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetcontext "lead.getContext()") | Возвращает значение контекста лида |
[lead.**getAllContexts**(): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetallcontexts "lead.getAllContexts()") | Возвращает массив всех контекстов лида |
Метод | Описание |
[bot.**getForwardEventType**(): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetforwardeventtype "bot.getForwardEventType()") | Проверяет кто переключил на оператора |
[bot.**isForwardedToOperator**(): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botisforwardedtooperator "bot.isForwardedToOperator()") | Проверяет переключения на оператора |
Метод | Описание |
[lead.**setForwarded**(bool|int $state): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadsetforwarded "lead.setForwarded()") | Переключает бот на оператора |
Метод | Описание |
[bot.**createTicket**($data): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botcreateticket "bot.createTicket()") | Создает заявку |
[bot.**updateTicketById**(int $ticketId, $data): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botupdateticketbyid "bot.updateTicketById()") | Обновляет заявку |
[bot.**getMaxRejectsTicketCount**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetmaxrejectsticketcount "bot.getMaxRejectsTicketCount()") | Возвращает максимальное количество отказов |
[bot.**findTickets**($where = \[\], bool $findInAllBusinessBots = false, $orderBy = \[\], int|null $limit = null, int|null $offset = null): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botfindtickets "bot.findTickets()") | Находит заявку по заданным атрибутам |
[bot.**findTicketIdByCustomField**(string $fieldName, $value): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botfindticketidbycustomfield "bot.findTicketIdByCustomField()") | Возвращает id заявки по значению поля |
[bot.**getTicketTypeIdByName**(string $typeName): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgettickettypeidbyname "bot.getTicketTypeIdByName()") | Возвращает id заявки по наименованию вида заявки |
bot.**getTicketTypeNameById**(int|null $ticketTypeId): **string|null** | Возвращает наименование заявки по id вида заявки |
[bot.**getTicketStatusIdByName**(string $statusName): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetticketstatusidbyname "bot.getTicketStatusIdByName()") | Возвращает id заявки по наименованию статуса заявки |
[bot.**setCurrentTicketById**(int|null $ticketId): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botsetcurrentticketbyid "bot.setCurrentTicketById()") | Устанавливает указанную заявку как текущую |
[bot.**clearTicketAssignedPersonsLog**(): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botclearticketassignedpersonslog "bot.clearTicketAssignedPersonsLog()") | Очищает лог назначения тикета персонам |
Метод | Описание |
[ticket.**update**($data): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketupdate "ticket.update()") | Обновляет заявку, через объект заявки |
ticket.**getAllData**(): **array** | Возвращает значение всех данных заявки |
ticket.**setData**(string $key, $value): **self** | Устанавливает значение данных заявки по ключу
В качестве ключа можно указать:
|
[ticket.**getData**(string $key): **mixed|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetdata "ticket.getData()") | Возвращает значение данных заявки по ключу
В качестве ключа можно указать:
|
[ticket.**getCustomData**(string $key): **mixed|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetcustomdata "ticket.getCustomData()") | Считывает произвольные поля заявки по ключу
В качестве ключа можно указать:
|
[ticket.**issetData**(string $key): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketissetdata-i-ticketisdataexist "ticket.issetData() и ticket.isDataExist()") | Проверяет наличие данных по заявке по ключу
В качестве ключа можно указать:
|
[ticket.**isDataExist**(string $key): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketissetdata-i-ticketisdataexist) | |
[ticket.**reloadCustomData**(bool $isReloadModel = false): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketreloadcustomdata "ticket.reloadCustomData()") | Перезагружает кастомные данные |
ticket.**loadCustomDataIfNotLoaded**(bool $isReloadModel = false): **bool** | Загружает кастомные данные, если они не загружены |
[ticket.**setAllCustomData**(array $customData): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketsetallcustomdata "ticket.setAllCustomData()") | Переопределяет список кастомных полей |
[ticket.**getAllCustomData**(): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetallcustomdata "ticket.getAllCustomData()") | Возвращает список кастомных полей |
[ticket.**setCustomData**(string $key, $value): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketsetcustomdata "ticket.setCustomData()") | Устанавливает значение кастомного поля
В качестве ключа можно указать:
|
[ticket.**issetCustomData**(string $key): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketissetcustomdata "ticket.issetCustomData()") | Проверяет имеет ли значение кастомное поле
В качестве ключа можно указать:
|
[ticket.**isCustomDataExist**(string $key): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketiscustomdataexist "ticket.isCustomDataExist()") | Проверяет существует ли кастомное поле
В качестве ключа можно указать:
|
[ticket.**getTicketTypeName**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgettickettypename "ticket.getTicketTypeName()")**[|null](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetstatusid "lead.getStatusId()")** | Возвращает название типа заявки |
[ticket.**getStatusId**(): **int**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetstatusid-i-ticketgetattrstatus-id "ticket.getStatusId() и ticket.getAttr("status_id")")**[|null](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetstatusid "lead.getStatusId()")** | Возвращает ID статуса заявки |
[ticket.**getAttr**('status\_id'): **int**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetstatusid-i-ticketgetattrstatus-id)**[|null](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetstatusid "lead.getStatusId()")** | |
[ticket.**getStatusName**(): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetstatusname "ticket.getStatusName()") | Возвращает название статуса заявки |
[ticket.**getStatusType**(): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetstatustype "ticket.getStatusType()") | Возвращает тип статуса заявки |
[ticket.**isInStatus**($statusName): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketisinstatus "ticket.isInStatus()") | Проверяет статус заявки |
[ticket.**setStatusId**(int|null $statusId, int|null $personQueueIdForLog = null, string|null $personQueueTableForLog = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketsetstatusid "ticket.setStatusId()") | Устанавливает статус заявки по id |
[ticket.**setStatusByName**(string $statusName, int|null $personQueueIdForLog = null, string|null $personQueueTableForLog = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketsetstatusbyname "ticket.setStatusByName()") | Устанавливает статус заявки по имени |
[ticket.**reloadTicket**(): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketreloadticket "ticket.reloadTicket()") | Загружает заявку повторно |
[ticket.**getAuthorPersonId**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetauthorpersonid "ticket.getAuthorPersonId()") | Возвращает ID автора заявки |
[ticket.**getAssignedPersonId**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetassignedpersonid "ticket.getAssignedPersonId()") | Возвращает ID исполнителя заявки |
[ticket.**getClientPersonId**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetclientpersonid "ticket.getClientPersonId()") | Возвращает ID клиента заявки |
[ticket.**getAuthorPersonFullName**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetauthorpersonfullname "ticket.getAuthorPersonFullName()") | Возвращает ФИО автора заявки |
[ticket.**getAssignedPersonFullName**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetassignedpersonfullname "ticket.getAssignedPersonFullName()") | Возвращает ФИО исполнителя заявки |
[ticket.**getClientPersonFullName**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetclientpersonfullname "ticket.getClientPersonFullName()") | Возвращает ФИО клиента заявки |
[ticket.**getAuthorPersonRoleId**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetauthorpersonroleid "ticket.getAuthorPersonRoleId()") | Возвращает ID роли автора заявки |
[ticket.**getAssignedPersonRoleId**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetassignedpersonroleid "ticket.getAssignedPersonRoleId()") | Возвращает ID роли исполнителя заявки |
[ticket.**getClientPersonRoleId**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetclientpersonroleid "ticket.getClientPersonRoleId()") | Возвращает ID роли клиента заявки |
[ticket.**getAuthorPersonRoleName**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetauthorpersonrolename "ticket.getAuthorPersonRoleName()") | Возвращает имя роли автора заявки |
[ticket.**getAssignedPersonRoleName**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetassignedpersonrolename "ticket.getAssignedPersonRoleName()") | Возвращает имя роли исполнителя заявки |
[ticket.**getClientPersonRoleName**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetclientpersonrolename "ticket.getClientPersonRoleName()") | Возвращает имя роли клиента заявки |
[ticket.**getAuthorPersonRoleTitle**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetauthorpersonroletitle "ticket.getAuthorPersonRoleTitle()") | Возвращает заголовок роли автора заявки |
[ticket.**getAssignedPersonRoleTitle**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetassignedpersonroletitle "ticket.getAssignedPersonRoleTitle()") | Возвращает заголовок роли исполнителя заявки |
[ticket.**getClientPersonRoleTitle**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetclientpersonroletitle "ticket.getClientPersonRoleTitle()") | Возвращает заголовок роли клиента заявки |
[ticket.**getAuthorPersonRoleFormattedTitle**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetauthorpersonroleformattedtitle "ticket.getAuthorPersonRoleFormattedTitle()") | Возвращает форматированное название роли автора заявки |
[ticket.**getAssignedPersonRoleFormattedTitle**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetassignedpersonroleformattedtitle "ticket.getAssignedPersonRoleFormattedTitle()") | Возвращает форматированное название роли исполнителя заявки |
[ticket.**getClientPersonRoleFormattedTitle**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetclientpersonroleformattedtitle "ticket.getClientPersonRoleFormattedTitle()") | Возвращает форматированное название роли клиента заявки |
[ticket.**getPerson1Id**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetperson1id "ticket.getPerson1Id()") | Возвращает id первой дополнительной персоны |
[ticket.**getPerson2Id**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetperson2id "ticket.getPerson2Id()") | Возвращает id второй дополнительной персоны |
[ticket.**getPerson3Id**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetperson3id "ticket.getPerson3Id()") | Возвращает id третьей дополнительной персоны |
[ticket.**setPerson1Id**(int|null $personId): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketsetperson1id "ticket.setPerson1Id()") | Устанавливает id первой дополнительной персоны |
[ticket.**setPerson2Id**(int|null $personId): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketsetperson2id "ticket.setPerson2Id()") | Устанавливает id второй дополнительной персоны |
[ticket.**setPerson3Id**(int|null $personId): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketsetperson3id "ticket.setPerson3Id()") | Устанавливает id третьей дополнительной персоны |
ticket.**getTotalFormatted**(): **string** | Возвращает форматированную итоговую стоимость заказа |
ticket.**getSubtotalFormatted**(): **string** | Возвращает форматированную промежуточную стоимость заказа |
ticket.**getTotalFeeFormatted**(): **string** | Возвращает форматированную стоимость заказа |
ticket.**getDeliveryFeeFormatted**(): **string** | Возвращает форматированную стоимость доставки |
ticket.**getTicketLines**(): **ScriptTicketLine** | Возвращает массив объектов ScriptTicketLine |
Метод | Описание |
ScriptTicketLine.**reload**(): **bool** | Обновить данные по строке заявки из бд |
ScriptTicketLine.**getId**(): **int|null** | Возвращает id ScriptTicketLine |
ScriptTicketLine.**getTicketId**(): **int|null** | Возвращает id заявки |
ScriptTicketLine.**getProductId**(): **int|null** | Возвращает id продукта заявки |
ScriptTicketLine.**getProduct**(): **ScriptProduct|null** | Возвращает все данные продукта заявки |
ScriptTicketLine.**getQuantity**(): **int|null** | Возвращает количество продукта в заявке |
ScriptTicketLine.**getPrice**(): **float** | Возвращает цену продукта в заявке |
ScriptTicketLine.**getPriceFormatted**(): **string** | Возвращает форматированную цену продукта в заявки |
ScriptTicketLine.**getPriceDateFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | Возвращает цену продукта в заявке в указанном форматировании |
ScriptTicketLine.**priceDateFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | |
ScriptTicketLine.**getFee**(): **float** | Возвращает стоимость заявки |
ScriptTicketLine.**getFeeFormatted**(): **string** | Возвращает форматированную стоимость заявки |
ScriptTicketLine.**getSubtotal**(): **float** | Возвращает итоговую стоимость заявки |
ScriptTicketLine.**getSubtotalFormatted**(): **string** | Возвращает форматированную итоговую стоимость заявки |
ScriptTicketLine.**getCreatedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | Возвращает форматированную дату создания заказа |
ScriptTicketLine.**createdAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | |
ScriptTicketLine.**getUpdatedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | Возвращает форматированную дату обновления заказа |
ScriptTicketLine.**updatedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | |
ScriptTicketLine.**getDeletedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | Возвращает форматированную дату удаления заказа |
ScriptTicketLine.**deletedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** |
Метод | Описание |
ScriptProduct.**reload**(): **bool** | Обновить данные по продукту из бд |
ScriptProduct.**getId**(): **int|null** | Возвращает id продукта |
ScriptProduct.**getTitle**(): **string|null** | Возвращает наименование продукта |
ScriptProduct.**getCode**(): **string|null** | Возвращает код продукта |
ScriptProduct.**getPrice**(): **float|null** | Возвращает цену продукта |
ScriptProduct.**getMainCategoryId**(): **int|null** | Возвращает id категории продукта |
ScriptProduct.**getIsEnabled**(): **bool|null** | Проверяет активен ли продукт |
ScriptProduct.**getIsAvailableInStock**(): **bool|null** | Проверяет есть ли продукт в наличии |
ScriptProduct.**getUrl**(): **string|null** | Возвращает url продукта |
ScriptProduct.**getThumbUrl**(): **string|null** | Возвращает thumb url продукта |
ScriptProduct.**getPriceFormatted**(): **string|null** | Возвращает форматированную цену продукта |
ScriptProduct.**getCreatedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | Возвращает форматированную дату создания продукта |
ScriptProduct.**createdAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | |
ScriptProduct.**getUpdatedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | Возвращает форматированную дату обновления продукта |
ScriptProduct.**updatedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | |
ScriptProduct.**getDeletedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | Возвращает форматированную дату удаления продукта |
ScriptProduct.**deletedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** |
Метод | Описание |
ticketStatus.**reload**(): **bool** | Перезагружает статус в БД |
ticketStatus.**getId**(): **int** | Возвращает id статуса |
ticketStatus.**getName**(): **string** | Возвращает наименование статуса |
ticketStatus.**getType**(): **string|null** | Возвращает тип статуса |
ticketStatus.**getOrderPos**(): **int** | Возвращает значение статуса |
ticketStatus.**isSameStatusName**($statusName): **bool** | Проверяет наименование статуса на сходство |
ticketStatus.**getCreatedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | Возвращает форматированную дату создания статуса |
ticketStatus.**createdAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | |
ticketStatus.**getUpdatedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | Возвращает форматированную дату обновления статуса |
ticketStatus.**updatedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | |
ticketStatus.**getDeletedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | Возвращает форматированную дату удаления статуса |
ticketStatus.**deletedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** |
Метод | Описание |
[ticketStatuses.**reload**(): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketstatusesreload "ticketStatuses.reload()") | Перезагружает все статусы из БД |
[ticketStatuses.**getCollection**(): **Collection|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketstatusesgetcollection "ticketStatuses.getCollection()") | Возвращает Laravel Collection |
[ticketStatuses.**find**(array|object|null $where, bool $isReturnCollection = false): **ScriptTicketStatus|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketstatusesfind "ticketStatuses.find()") | Возвращает статусы заявок |
[ticketStatuses.**findById**(string|int|null $id): **ScriptTicketStatus|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketstatusesfindbyid "ticketStatuses.findById()") | Возвращает статус по ID |
[ticketStatuses.**findByName**(string $name): **ScriptTicketStatus|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketstatusesfindbyname "ticketStatuses.findByName()") | Возвращает статус по имени |
[ticketStatuses.**findAllByNames**(string|array|object|null $names, string $operator = '=', bool $isReturnCollection = false): **Collection|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketstatusesfindallbynames "ticketStatuses.findAllByNames()") | Возвращает статусы по имени |
[ticketStatuses.**findAllByTypes**(string|array|object|null $types, string $operator = '=', bool $isReturnCollection = false): **Collection|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketstatusesfindallbytypes "ticketStatuses.findAllByTypes()") | Возвращает статусы по типу статуса |
Метод | Описание |
[bot.**createPerson**($data): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botcreateperson "bot.createPerson()") | Создает персону |
[bot.**findPersons**($where = \[\], $orderBy = \[\], int|null $limit = null, int|null $offset = null, bool $isLogErrorIfManyPersonsFound = false): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botfindpersons "bot.findPersons()") | Возвращает данные персон соответствующих атрибутам |
[bot.**updatePersonById**(int $personId, $data): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botupdatepersonbyid "bot.updatePersonById()") | Обновляет персону по id |
[bot.**deletePersonById**(int $personId): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botdeletepersonbyid "bot.deletePersonById()") | Удаляет персону по id |
bot.**getDefaultPersonRoleId**(): **int|null** | Возвращает id персоны по умолчанию |
Метод | Описание |
[lead.**getPersonId**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetpersonid "lead.getPersonId()") | Возвращает id персоны |
[lead.**setPersonId**(int|null $personId): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadsetpersonid "lead.setPersonId()") | Привязывает персону к лиду |
[lead.**createPersonForCurrentLead**($data): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadcreatepersonforcurrentlead "lead.createPersonForCurrentLead()") | Создает персону для лида |
Метод | Описание |
[person.**update**($data): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personupdate "person.update()") | Обновляет данные персоны |
[person.**delete**(): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/persondelete "person.delete()") | Удаляет персону |
[person.**getAllData**(): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/persongetalldata "person.getAllData()") | Возвращает все поля персоны |
[person.**setData**(string $key, $value): **self**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personsetdata "person.setData()") | Устанавливает поле персоны по ключу
В качестве ключа можно указать:
|
[person.**getData**(string $key)](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/persongetdata "person.getData()") | Возвращает значение данных персоны
В качестве ключа можно указать:
|
[person.**issetData**(string $key): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personissetdata-i-personisdataexist "person.issetData() и person.isDataExist()") | Проверяет наличие данных по персоне
В качестве ключа можно указать:
|
[person.**isDataExist**(string $key): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personissetdata-i-personisdataexist) | |
person.**getLeads**(bool $isFindInAllBusinessBots = false): **array** | Возвращает лиды персоны |
[person.**getId**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/persongetid "person.getId()") | Возвращает ID персоны |
[person.**getFullName**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/persongetfullname "person.getFullName()") | Возвращает полное имя персоны |
person.**getFIO**(): **string** | |
[person.**getRoleId**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/persongetroleid "person.getRoleId()") | Возвращает ID роли персоны |
[person.**getRoleName**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/persongetrolename "person.getRoleName()") | Возвращает название роли персоны |
[person.**getRoleTitle**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/persongetroletitle "person.getRoleTitle()") | Возвращает заголовок роли персоны |
[person.**getRoleFormattedTitle**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/persongetroleformattedtitle "person.getRoleFormattedTitle()") | Возвращает форматированное название роли персоны. |
[person.**getPhone**(): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/persongetphone "person.getPhone()") | Возвращает номер телефона персоны |
[person.**setPhone**(string|null $phone): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personsetphone "person.setPhone()") | Устанавливает номер телефона персоны |
[person.**getEmail**(): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/persongetemail "person.getEmail()") | Возвращает почту персоны |
Метод | Описание |
[ticket.**assignToNextQueuePerson**(int $queueMode = 1, int|null $personQueueId = null, string|null $personQueueTable = null, int|null $currentAssignAttempt = null, bool $isIncRejectsCount = true, bool $isMoveToEndIfRejectsExceed = true): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketassigntonextqueueperson "ticket.assignToNextQueuePerson()") | Назначает заявку следующему исполнителю |
[ticket.**moveAssignedPersonToEndOfQueue**(int $queueMode = 1, int|null $personQueueId = null, string|null $personQueueTable = null, bool $isResetRejectsCount = true): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketmoveassignedpersontoendofqueue "ticket.moveAssignedPersonToEndOfQueue()") | Переносит исполнителя в конец очереди |
[ticket.**assignToPersonById**(int|null $personId, int|null $personQueueIdForLog = null, string|null $personQueueTableForLog = null, int|null $assignAttemptForLog = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketassigntopersonbyid "ticket.assignToPersonById()") | Назначает исполнителя заявки |
[ticket.**assignToNextPersonAndMoveToEnd**(): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketassigntonextpersonandmovetoend "ticket.assignToNextPersonAndMoveToEnd()") | Назначает заявку следующему исполнителю и переносит его в конец очереди |
[ticket.**getAssignedPersonRejectsCount**(int $personQueueId = null, string|null $personQueueTable = null): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketgetassignedpersonrejectscount "ticket.getAssignedPersonRejectsCount()") | Возвращает количество отказов от заявок |
[ticket.**setAssignedPersonRejectsCount**(int $rejectsCount, int|null $personQueueId = null, string|null $personQueueTable = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketsetassignedpersonrejectscount "ticket.setAssignedPersonRejectsCount()") | Устанавливает количество отказов от заявок |
[ticket.**incAssignedPersonRejectsCount**(int|null $personQueueId = null, string|null $personQueueTable = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/ticketincassignedpersonrejectscount "ticket.incAssignedPersonRejectsCount()") | Увеличивает количество отказов от заявок |
Метод | Описание |
[person.**addToQueue**(int|null $personQueueId = null, string|null $personQueueTable = null, int|null $ticketTypeId = null, bool $isActive = true, int $rejectsCount = 0): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personaddtoqueue "person.addToQueue()") | Добавляет персону в очередь |
[person.**removeFromQueue**(int|null $personQueueId = null, string|null $personQueueTable = null, int|null $ticketTypeId = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personremovefromqueue "person.removeFromQueue()") | Удаляет персону из очереди |
[person.**moveToEndOfQueue**(int $queueMode = 1, int|null $personQueueId = null, string|null $personQueueTable = null, int|null $ticketTypeId = null, bool $isResetRejectsCount = true): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personmovetoendofqueue "person.moveToEndOfQueue()") | Перемещает персону в конец очереди |
[person.**setIsActiveInQueue**(bool $isActive = true): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personsetisactiveinqueue "person.setIsActiveInQueue()") | Активирует/деактивирует персону в очереди |
Метод | Описание |
personQueue.**getId**(): **int** | Возвращает id очереди персон |
personQueue.**getCode**(): **string** | Возвращает код очереди персон |
personQueue.**getIsEnabled**(): **bool** | Проверяет активна ли очередь персон |
personQueue.**getName**(): **string** | Возвращает наименование очереди персон |
personQueue.**isSameName**($name): **bool** | Проверяет наименование очереди персон на сходство |
personQueue.**getCreatedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | Возвращает форматированную дату создания очереди персон |
personQueue.**createdAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | |
personQueue.**getUpdatedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** | Возвращает форматированную дату обновления очереди персон |
personQueue.**updatedAtFormatted**(string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null** |
Метод | Описание |
[personQueues.**find**($where, bool $isReturnCollection = false): **ScriptPersonQueue\[\]|Collection**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personqueuesfind "personQueues.find()") | Возвращает очередь исполнителей |
[personQueues.**findById**(string|int|null $id): **ScriptPersonQueue|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personqueuesfindbyid "personQueues.findById()") | Возвращает очередь исполнителей по id |
personQueues.**findByName**(string $name, bool $isEnabled = null): **ScriptPersonQueue|null** | Возвращает очередь исполнителей по наименованию |
personQueues.**findAllByNames**($names, bool $isEnabled = null, string $findNameOperator = 'IN', bool $isReturnCollection = false): **ScriptPersonQueue\[\]|Collection** | Возвращает очереди исполнителей по наименованию |
[personQueues.**findByCode**(string $code, bool $isEnabled = null, string $findCodeOperator = '='): **ScriptPersonQueue|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personqueuesfindbycode "personQueues.findByCode()") | Возвращает очередь исполнителей по коду |
[personQueues.**findAllByCodes**($codes, bool $isEnabled = null, string $findCodeOperator = 'IN', bool $isReturnCollection = false): **ScriptPersonQueue\[\]|Collection**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personqueuesfindallbycodes "personQueues.findAllByCodes()") | Возвращает очереди исполнителей по коду |
[personQueues.**reload**(): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personqueuesreload "personQueues.reload()") | Обновляет очередь исполнителей |
[personQueues.**getCollection**(): **Collection|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/personqueuesgetcollection "personQueues.getCollection()") | Возвращает коллекцию очередей |
Метод | Описание |
[bot.**getIntegrationIdByCode**(string|null $integrationCode): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetintegrationidbycode "bot.getIntegrationIdByCode()") | Возвращает id интеграции бота по коду |
[bot.**getEnabledIntegrationIdByCode**(string|null $integrationCode): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetenabledintegrationidbycode "bot.getEnabledIntegrationIdByCode()") | Возвращает id включенной интеграции бота по коду |
[bot.**isEnabledIntegrationById**(int|null $integrationId): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botisenabledintegrationbyid "bot.isEnabledIntegrationById()") | Проверяет активность интеграции по id |
[bot.**isEnabledIntegrationByCode**(string|null $integrationCode): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botisenabledintegrationbycode "bot.isEnabledIntegrationByCode()") | Проверяет активность интеграции по коду |
Метод | Описание |
[lead.**setActiveNlpIntegrationByCode**(string|null $integrationCode): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadsetactivenlpintegrationbycode "lead.setActiveNlpIntegrationByCode()") | Присваивает интеграцию лиду по коду |
lead.**setActiveNlpIntegrationById**(int|null $nlpIntegrationId): **bool** | Присваивает интеграцию лиду по id |
lead.**hasActiveNlpIntegration**(): **bool** | Проверяет активна ли интеграция |
lead.**getActiveNlpIntegrationId**(): **int|null** | Возвращает интеграцию по id |
lead.**getActiveNlpIntegrationCode**(): **string|null** | Возвращает интеграцию по коду |
lead.**getActiveOrFirstNlpIntegrationId**(): **int|null** | Возвращает активную или первую интеграцию по id |
lead.**getActiveOrFirstNlpIntegrationCode**(): **string|null** | Возвращает активную или первую интеграцию по коду |
Метод | Описание |
lead.**getForwardEventTypeForFB**(): **string|null** | Возвращает тип события для ФБ |
Метод | Описание |
[table.**createItem**(string $tableName, array|object $data): **ScriptCustomTableItem**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/tablecreateitem "table.createItem()") | Создает запись в таблице |
[table.**find**(string $tableName, array|object $columns = \[\], array|object $where = \[\], array|object $orderBy = \[\], int|null $limit = null, int|null $offset = null): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/tablefind "table.find()") | Ищет запись в таблице |
[table.**count**(string $tableName, array|object $where = \[\]): **int** ](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/tablecount "table.count()") | Подсчитывает количество записей |
[table.**sum**(string $tableName, string $column, array|object $where = \[\]): **int**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/tablesum "table.sum()") | Подсчитывает сумму значений по полю |
[table.**max**(string $tableName, string $column, array|object $where = \[\]): **mixed|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/tablemax "table.max()") | Ищет максимальное значение по полю |
За объект **item** принимаем запись кастомной таблицы полученную с помощью **table.createItem** или **table.find**.
Метод | Описание |
[item.**update**(array|object $data): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/itemupdate "item.update()") | Обновляет записи в таблице |
[item.**delete**(): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/itemdelete "item.delete()") | Удаляет записи из таблицы |
[item.**getDateFormatted**(string $fieldName, string $format = 'Y-m-d H:i:s', string|null $timeZone = null): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/itemgetdateformatted "item.getDateFormatted()") | Возвращает форматированную дату по названию поля |
[item.**getDateFormattedString**(string|DateTimeInterface $date, string $toFormat = 'Y-m-d H:i:s', string|null $fromFormat = 'Y-m-d H:i:s', string|null $toTimeZone = null, string|null $fromTimeZone = null): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/itemgetdateformattedstring "item.getDateFormattedString()") | Возвращает форматированную дату из произвольной строки |
[item.**reload**(): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/itemreload "item.reload()") | Перезагружает данные записи из БД |
Метод | Описание |
[bot.**getLockNameForBot**(string $lockName, string $lockPrefix = ''): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetlocknameforbot "bot.getLockNameForBot()") | Генерирует имя блокировки по боту |
[bot.**getLockNameForBusiness**(string $lockName, string $lockPrefix = ''): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetlocknameforbusiness "bot.getLockNameForBusiness()") | Генерирует имя блокировки по бизнесу |
[bot.**waitForBusinessLock**(string $lockName, string $lockPrefix = '', int|null $ttlSec = null, $maxWaitSec = 300): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botwaitforbusinesslock "bot.waitForBusinessLock()") | Захватывает блокировку по бизнесу |
[bot.**waitForBotLock**(string $lockName, string $lockPrefix = '', int|null $ttlSec = null, $maxWaitSec = 300): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botwaitforbusinesslock "bot.waitForBusinessLock()") | Захватывает блокировку по боту |
[bot.**releaseAllCurrentLocks**(): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botreleaseallcurrentlocks "bot.releaseAllCurrentLocks()") | Освобождает все блокировки захваченные в текущем скрипте |
[bot.**releaseCurrentLockForBusiness**(string $lockName, string $lockPrefix = ''): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botreleasecurrentlockforbusiness "bot.releaseCurrentLockForBusiness()") | Освобождает блокировку захваченную текущем скрипте по бизнесу |
[bot.**releaseCurrentLockForBot**(string $lockName, string $lockPrefix = ''): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botreleasecurrentlockforbot "bot.releaseCurrentLockForBot()") | Освобождает блокировку захваченную в текущем скрипте по боту |
[bot.**releaseLockForBusiness**(string $lockName, string $lockPrefix = ''): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botreleaselockforbusiness "bot.releaseLockForBusiness()") | Освобождает блокировку по бизнесу |
[bot.**releaseLockForBot**(string $lockName, string $lockPrefix = ''): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botreleaselockforbot "bot.releaseLockForBot()") | Освобождает блокировку по боту |
[bot.**hasLockForBusiness**(string $lockName, string $lockPrefix = '', $checkValue = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/bothaslockforbusiness "bot.hasLockForBusiness()") | Проверяет существование блокировки по бизнесу |
[bot.**hasLockForBot**(string $lockName, string $lockPrefix = '', $checkValue = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/bothaslockforbot "bot.hasLockForBot()") | Проверяет существование блокировки по боту |
Метод | Описание |
[bot.**canAutoForward**(): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botcanautoforward "bot.canAutoForward()") | Узнает доступно ли авто-назначение оператора в данном скрипте |
Метод | Описание |
[lead.**canAutoForward**(): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadcanautoforward "lead.canAutoForward()") | Узнает доступно ли авто-назначение оператора в данном скрипте |
[lead.**getNextOperators**(string $departmentCode = null, bool $isOnline = true, int|null $limit = 1, bool $useLocks = true): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetnextoperators "lead.getNextOperators()") | Возвращает список следующих операторов |
[lead.**assignDialogToNextOperator**(string|null $departmentCode = null, bool $isOnline = true, bool $isForwardIfOperatorNotFound = true, bool $useLocks = true): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadassigndialogtonextoperator "lead.assignDialogToNextOperator()") | Назначает диалог на следующего оператора полученного с помощью **getNextOperators** |
[lead.**assignDialogToOperator**(int|null $operatorId, bool $isForwardIfOperatorNotFound = true, bool $useLocks = true): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadassigndialogtooperator "lead.assignDialogToOperator()") | Назначает диалог на указанного в методе оператора |
Метод | Описание |
[bot.**scheduleJob**($jobParams = \[\]): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botschedulejob "bot.scheduleJob()") | Планирует любую задачу |
Метод | Описание |
[lead.**getLastRequest**(): **ScriptRequest|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetlastrequest "lead.getLastRequest()") | Возвращает объект с параметрами последнего реквеста |
lead.**getLang**(): **string|null** | Возвращает язык установленный в бизнесе |
lead.**setLang**(string|null $langCode): **string|null** | Устанавливает язык в бизнесе |
lead.**isLangExist**(string $langCode, bool|null $isEnabled = true): **bool** | Проверяет существует ли язык |
За объект **request** принимаем объект с параметрами последнего реквеста полученный с помощью **lead**.**getLastRequest**.
Метод | Описание |
[request.json](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/request "request.") | Доступ к json параметрам в виде javascript json-обьекта |
[request.asJson(): **ScriptRequest|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/request) | |
[request.array](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/request) | Доступ к json параметрам в виде javascript json-обьекта |
[request.asArray(): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/request) | |
[request.string](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/request) | Входящие параметры в виде json обьекта |
[request.asString(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/request) |
За объект **last\_request** принимаем объект с параметрами последнего реквеста полученный с помощью **lead**.**getLastRequest**.
Метод | Описание |
[last\_request.json](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/last-request "last_request.") | Доступ к последнему реквесту в виде javascript json-обьекта |
[last\_request.asJson(): **ScriptRequest|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/last-request) | |
[last\_request.array](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/last-request) | Доступ к последнему реквесту в виде массива |
[last\_request.asArray(): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/last-request) | |
[last\_request.string](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/last-request) | Доступ к последнему реквесту в виде json обьекта |
[last\_request.asString(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/last-request) |
Метод | Описание |
api.**callEndpoint**( string $externalApiEndpointCode, string|null $uri = null, string|null $method = null, string|null $format = null, array|object|string|null $body = null, array|object|string|null $headers = \[\], array|object|string|null $requestOptions = \[\], array|object|string|null $httpClientConfig = \[\], string|null $proxyUrl = null ): **array|string|null** | Вызывает внешнее API из чат-бота |
[api.**request**(string $method, string $uri, $requestOptions = \[\], $httpClientConfig = \[\], $body = null, $jsonBody = null, $headers = \[\], bool $isForceAddJsonHeaders = false): **ResponseInterface|null|mixed**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/apirequest "api.request()") | Выполняет HTTP запрос, с помощью Guzzle |
[api.**post**(string $uri, $body = \[\], $requestOptions = \[\], $headers = \[\], $httpClientConfig = \[\]): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/apipost "api.post()") | Выполняет HTTP POST запрос, с помощью Guzzle |
api.**get**(string $uri, $requestOptions = \[\], $headers = \[\], $httpClientConfig = \[\]): **string|null** | Выполняет HTTP GET запрос, с помощью Guzzle |
api.**getJson**(string $uri, $jsonBody = \[\], $headers = \[\], $requestOptions = \[\], $httpClientConfig = \[\]): **array|null** | Выполняет HTTP POST запрос с jsonBody, с помощью Guzzle |
api.**postJson**(string $uri, $jsonBody = \[\], $headers = \[\], $requestOptions = \[\], $httpClientConfig = \[\]): **array|null** | Выполняет HTTP GET запрос с jsonBody, с помощью Guzzle |
api.**getHttpConfig**(): **array** | Возвращает HTTP Config |
api.**setHttpConfig**($config): **self** | Устанавливает HTTP Config |
api.**getRequestOptions**(): **array** | Возвращает параметры HTTP запроса |
api.**setRequestOptions**($options): **self** | Устанавливает параметры HTTP запроса |
api.**getHeaders**(): **array** | Возвращает заголовки HTTP запроса |
api.**setHeaders**($headers): **self** | Устанавливает заголовки HTTP запроса |
api.**getProxyUrl**(): **string|null** | Возвращает Proxy Url HTTP запроса |
api.**setProxyUrl**($proxyUrl): **self** | Устанавливает Proxy Url HTTP запроса |
api.**getLastResponse**(): **mixed|ResponseInterface|null** | Возвращает последний ответ HTTP запроса |
api.**getLastResponseCode**(): **int** | Возвращает код последнего ответа HTTP запроса |
api.**getLastResponseContent**(): **string|null** | Возвращает содержимое последнего ответа HTTP запроса |
api.**getLastJsonResponse**(): **array|null** | Возвращает последний ответ HTTP запроса в формате JSON |
api.**enableExceptions**(): **self** | Включает исключения для HTTP запросов |
api.**disableExceptions**(): **self** | Выключает исключения для HTTP запросов |
api.**setTimeout**(float $timeout): **self** | Устанавливает время задержки для HTTP запросов |
api.**getTimeout**(): **float** | Возвращает время задержки для HTTP запросов |
api.**isExceptionThrown**(): **bool** | Проверяет существует ли исключение |
api.**isConnectExceptionThrown**(): **bool** | Проверяет существует ли исключение подключения |
api.**getLastResponseTime**(): **float** | Возвращает время последнего ответа HTTP запроса |
api.**getLastErrorBody**(bool $isAutoConvertToJson = true): **string|array|null** | Возвращает содержимое ошибки последнего ответа HTTP запроса |
api.**enableContinueCallEndpointOnJsError**(): **self** | Включает вызов эндпоинта при ошибке JS |
api.**disableContinueCallEndpointOnJsError**(): **self** | Выключает вызов эндпоинта при ошибке JS |
api.**getIsContinueCallEndpointOnJsError**(): **bool** | Возвращает режим вызова эндпоинта при ошибке JS |
Метод | Описание |
[bot.**getIncomingMessage**(bool $useOutputFilter = false): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetincomingmessage "bot.getIncomingMessage()") | Возвращает текст входящего сообщения или текст подписи к вложению |
[bot.**getWebhookJobId**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetwebhookjobid "bot.getWebhookJobId()") | Возвращает id вебхука зарегистрированного в очереди Метабот |
bot.**getWebhookJobRecord**(): **BotWebhookQueueRecord|null** | Возвращает запись вебхука зарегистрированного в очереди Метабот |
[bot.**getWebhookJob**(): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetwebhookjob "bot.getWebhookJob()") | Возвращает информацию о вебхуке |
[bot.**getWebhookPayload**(): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetwebhookpayload "bot.getWebhookPayload()") | Возвращает payload входящего вебхука в виде массива |
[bot.**getLastResultPayload**(): **array|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetlastresultpayload "bot.getLastResultPayload()") | Возвращает payload c данными о последнем ответе мессенджера в ввиде массива |
[bot.**getChannelData**(string|null $key = null): **array|null|mixed**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetchanneldata "bot.getChannelData()") | Возвращает настройки канала лида |
[bot.**disableBuffer**()](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botdisablebuffer "bot.disableBuffer()") | Принудительное отключение буффера исходящих сообщений |
[bot.**enableBuffer**()](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botenablebuffer "bot.enableBuffer()") | Принудительное включение буффера исходящих сообщений |
[bot.**flushBuffer**()](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botflushbuffer "bot.flushBuffer()") | Принудительное освобождение буффера исходящих сообщений |
[bot.**getAllAttachments**(string|null $filesMimeExcludeFilter = 'image|video'): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetallattachments "bot.getAllAttachments()") | Возвращает вложения всех видов |
[bot.**getFiles**(string|null $mimeIncludeFilter = null, string|null $mimeExcludeFilter = 'image|video'): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetfiles "bot.getFiles()") | Возвращает все вложения, которые распознаны как файл |
[bot.**getImages**(string|null $mimeIncludeFilter = 'image'): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetimages "bot.getImages()") | Возвращает все изображения, а также файлы, которые распознаны как изображение |
[bot.**getVideos**(string|null $mimeIncludeFilter = 'video'): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetvideos "bot.getVideos()") | Возвращает все видео, а также файлы, которые распознаны как видео |
[bot.**sendPayload**(string|null $endpoint, array|object $payload): **array|string|mixed**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botsendpayload "bot.sendPayload()") | Отправляет payload в мессенджер |
[bot.**sendText**(string|null|mixed $messageText, array|object|null $apiAdditionalParams = null, bool $isDisableBuffer = true): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botsendtext "bot.sendText()") | Отправляет текст в мессенджер |
[bot.**sendMessage**(string|null|mixed $messageText, array|object|null $buttons = null, array|object|null $attachments = null, array|object|null $apiAdditionalParams = null, bool $isDisableBuffer = true, bool $isUpdateMessageButtons = false): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botsendmessage "bot.sendMessage()") | Отправляет сообщение в мессенджер, сообщение может содержать текст, кнопки меню и вложения |
[bot.**sendButtons**(string|null|mixed $messageText, array|object $buttons, array|object|null $apiAdditionalParams = null, bool $isDisableBuffer = true, bool $isUpdateMessageButtons = false): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botsendbuttons "bot.sendButtons()") | Отправляет кнопки с сообщением в мессенджер |
[bot.**getTelegramFileInfoById**(string|null $fileId, bool $isShowOriginalInfo = false): **array|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgettelegramfileinfobyid "bot.getTelegramFileInfoById()") | Возвращает информацию о файле в Telegram по его id |
[bot.**sendTelegramAttachmentAndGetFileId**(string|null $messageText, array|object|null $attachment, array|object|null $buttons = null, array|object|null $apiAdditionalParams = null): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botsendtelegramattachmentandgetfileid "bot.sendTelegramAttachmentAndGetFileId()") | Отправляет файл в телеграм и возвращает его id |
[bot.**editTelegramInlineKeyboard**(int|string $chatId, int|string $messageId, string|null string $inlineMessageId, array|object|null $inlineKeyboardMarkup): **array|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botedittelegraminlinekeyboard "bot.editTelegramInlineKeyboard()") | Редактирует кнопки меню уже отправленного в Telegram сообщения |
[bot.**removeTelegramInlineKeyboard**(int|string $chatId, int|string $messageId, string|null $inlineMessageId = null): **array|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botremovetelegraminlinekeyboard "bot.removeTelegramInlineKeyboard()") | |
[bot.**getTelegramLastMessageId**(): **int|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgettelegramlastmessageid "bot.getTelegramLastMessageId()") | Возвращает ID последнего сообщения, отправленного в Telegram |
[bot.**setCdnConfig**(array|object|null $cdnConfig = null): **bool**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botsetcdnconfig "bot.setCdnConfig()") | Устанавливает конфиг для доступа к CDN |
[bot.**getCdnConfig**(): **array|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetcdnconfig "bot.getCdnConfig()") | Возвращает текущий конфиг CDN |
[bot.**getFileInfoByUrl**(string $fileUrl): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botgetfileinfobyurl "bot.getFileInfoByUrl()") | Возвращает информацию о файле по URL |
[bot.**downloadFileFromUrl**(string $fileUrl): **string|array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botdownloadfilefromurl "bot.downloadFileFromUrl()") | Скачивает файл с URL и загружает в хранилище файлов Метабот для вашего бизнеса |
[bot.**downloadTmpFileFromUrl**(string $fileUrl): **string|array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botdownloadtmpfilefromurl "bot.downloadTmpFileFromUrl()") | Скачивает файл с URL и загружает во временное хранилище файлов Метабот для вашего бизнеса |
[bot.**removeFile**(string $fileUrl): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botremovefile "bot.removeFile()") | Удаляет файл по URL из хранилища файлов Метабот для вашего бизнеса |
[bot.**removeTmpFile**(string $fileUrl): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botremovetmpfile "bot.removeTmpFile()") | Удаляет файл по URL из временного хранилища файлов Метабот для вашего бизнеса |
[bot.**uploadFileToCdnAndGetNewUrl**(string $fileUrl, array|object|null $cdnConfig = null): **array**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botuploadfiletocdnandgetnewurl "bot.uploadFileToCdnAndGetNewUrl()") | Заливает файл на CDN и возвращает новую ссылку |
[bot.**removeFileFromCdn**(string $fileUrl, $cdnConfig = null)](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/botremovefilefromcdn "bot.removeFileFromCdn()") | Удаляет файл из CDN |
Метод | Описание |
[lead.**getMessenger**(): **int**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetmessenger "lead.getMessenger()") | Возвращает обозначение текущего мессенджера канала |
[lead.**getMessengerCode**(): **string**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetmessengercode "lead.getMessengerCode()") | Возвращает буквенное обозначение текущего мессенджера канала |
[lead.**getIdentification**(): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetidentification "lead.getIdentification()") | Возвращает идентификатор лида во внешней системе |
[lead.**getIdentificationEntity**(): **string|null**](https://docs.metabot24.ru/books/7-spravocnik-po-funkciyam-js/page/leadgetidentificationentity "lead.getIdentificationEntity()") | Возвращает дополнительный идентификатор лида во внешней системе |
Метод | Описание |
bot.**run**(array|object|null $jobParams = \[\]): **bool** | Запускает скрипт в рамках текущего потока бота |
bot.**stop**(): **bool** | Прерывает текущий скрипт |
bot.**throw**(string $message = '', int $code = 0): **bool** | Создает искусственное падение скрипта |
bot.**disableRepeatMessageText**(): **bool** | Отключает вывод сообщения для команды конструктора "Повтор" для текущего вебхука/задания |
bot.**enableRepeatMessageText**(): **bool** | Включает вывод сообщения для команды конструктора "Повтор" для текущего вебхука/задания |
bot.**isEnabledRepeatMessageText**(): **bool** | Проверяет включен или нет вывод сообщения для команды конструктора "Повтор" для текущего вебхука/задания |
bot.**hideRepeatMessageButtons**(): **bool** | Отключает вывод меню для команды конструктора "Повтор" для текущего вебхука/задания |
bot.**showRepeatMessageButtons**(): **bool** | Включает вывод меню для команды конструктора "Повтор" для текущего вебхука/задания |
bot.**isShowRepeatMessageButtons**(): **bool** | Проверяет включен или нет вывод меню для команды конструктора "Повтор" для текущего вебхука/задания |
bot.**getConversationQuestion**(): **OverridenQuestion|null** | Возвращает текущее состояние беседы |
bot.**getCurrentScriptId**(): **int|null** | Возвращает ID текущего скрипта |
bot.**getCurrentScriptCode**(): **string|null** | Возвращает код текущего скрипта |
bot.**getCurrentCommandId**(): **int|null** | Возвращает код текущей команды |
bot.**getConversationButtons**(): **array** | Возвращает текущие кнопки |
bot.**getMenuItemsForScript**(?string $scriptCode): **array** | Возвращает все пункты меню скрипта |
bot.**getMenuItemsForCurrentScript**(): **array** | Возвращает все пункты меню текущего скрипта |
bot.**getButtonsForScript**(?string $scriptCode, ?int $scriptId = null, bool $withRunScriptId = true): **array** | Возвращает все кнопки скрипта |
bot.**getButtonsForCurrentScript**(bool $withRunScriptId = true): **array** | Возвращает все кнопки текущего скрипта |
bot.**findButtonByIncomingMessage**(array|object $buttons, ?string $overrideIncomingMessage = null, bool $isLogFoundButton = true): **array|null** | Находит кнопку которую "нажимает пользователь" по входящему сообщению |
bot.**getScriptIdFromButtonsByIncomingMessage**(array|object $buttons, ?string $overrideIncomingMessage = null, bool $isLogFoundButton = true): **int|null** | Возвращает id скрипта по кнопке которую "нажимает пользователь" |
bot.**getScriptCodeFromButtonsByIncomingMessage**(array|object $buttons, ?string $overrideIncomingMessage = null, bool $isLogFoundButton = true): **string|null** | Возвращает код скрипта по кнопке которую "нажимает пользователь" |
Метод | Описание |
api.**getLastErrorBody**(bool $isAutoConvertToJson = true): **string|array|null** | Возвращает содержимое API ответа, если внешнее API вернуло код ошибки |
api.**enableContinueCallEndpointOnJsError**(): **bool** | Игнорирует ошибку в JS Body |
api.**disableContinueCallEndpointOnJsError**(): **bool** | Отключает игнорирование ошибки в JS Body |
api.**getIsContinueCallEndpointOnJsError**(): **bool** | Проверяет вкл. или выключено игнорирование ошибки в JS Body перед запуском внешнего api |
api.**callApiOnlyByOkFlag**(bool $value = true): **bool** | Выполняет обращение по api, только если JS валиден |
api.**onlyForOk**(bool $value = true): **bool** | |
api.**isCallApiOnlyByOkFlag**(): **bool** | Проверяет включен или нет флаг isCallApiOnlyByOkFlag |
api.**isOnlyForOk**(): **bool** | |
api.**ok**(bool $value = true): **bool** | Указывает что JS валиден, для того чтобы выполнился запуск внешнего api |
api.**isOk**(): **bool** | Проверяет валиден ли JS |
Имя | Тип | Описание |
key | string | Ключ данных бота |
Имя | Тип | Описание |
columns | array | Возвращаемые поля лидов, по умолчанию все поля. Вы можете вывести дополнительные поля: **status\_name**, **channel\_name**, **channel\_code** |
[where](https://docs.metabot24.ru/books/07-spravocnik-po-funkciyam-js/page/where-dlya-botfindleads) | array | Массив для поиска лидов по атрибутам, статусам и каналам. Подробнее читайте [здесь.](https://docs.metabot24.ru/books/07-spravocnik-po-funkciyam-js/page/where-dlya-botfindleads) |
[orderBy](https://docs.metabot24.ru/books/07-spravocnik-po-funkciyam-js/page/orderby-dlya-botfindleads) | array | Массив сортировки возвращаемых значений. Подробнее читайте [здесь](https://docs.metabot24.ru/books/07-spravocnik-po-funkciyam-js/page/orderby-dlya-botfindleads). |
limit | int | Максимальное число возвращаемых лидов. Можно вернуть диапазон от 1 до 100 |
offset | int | Числовое значение, указывающее количество записей, которые необходимо пропустить от начала результата выборки перед возвратом данных. Этот параметр используется для пагинации. Например, если `limit` установлен на 100, а `offset` равен 100, то будут возвращены записи, начиная со 101-го лида. |
Имя | Тип | Описание |
scriptId | int | ID скрипта, который будет запущен |
leadId | int | ID лида, для которого будет запущен скрипт |
ticketId | int | ID заявки, для которой будет запущен скрипт |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение планирования скрипта. ##### Пример: ```JavaScript var result = bot.scheduleScript(1426, 6473, null, { "script_request_params": { "name": "Alex" } }); ``` # bot.getScriptIdByName() ### Получить ID скрипта по наименованию ```JavaScript bot.getScriptIdByName(?string $scriptName) ``` ##### Описание: Возвращает id скрипта по его наименованию. ##### Атрибуты:Имя | Тип | Описание |
scriptName | string | Наименование скрипта |
Имя | Тип | Описание |
scriptCode | string | Код скрипта |
Имя | Тип | Описание |
scriptId | int | ID скрипта, который будет запущен |
leadId | int | ID лида, для которого будет запущен скрипт |
ticketId | int | ID заявки, для которой будет запущен скрипт |
addToQueue | bool | Добавление в очередь скриптов |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение запуска скрипта. ##### Пример: ```JavaScript let ScriptId = bot.getScriptIdByName('Меню'); bot.runScriptForLead(ScriptId, 165784, null, true); ``` # bot.runScriptByNameForLead() ### Запустить скрипт для лида по наименованию ```JavaScript bot.runScriptByNameForLead(?string $scriptName, ?int $leadId, ?int $ticketId = null, $addToQueue = true, $jobParams = []) ``` ##### Описание: Запускает скрипт бота для лида по указанному имени скрипта. ##### Атрибуты:Имя | Тип | Описание |
scriptName | string | Наименование скрипта, который будет запущен |
leadId | int | ID лида, для которого будет запущен скрипт |
ticketId | int | ID заявки, для которой будет запущен скрипт |
addToQueue | bool | Добавление в очередь скриптов |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение запуска скрипта. ##### Пример: ```JavaScript bot.runScriptByNameForLead('Меню', 165784, null, true); ``` # bot.runScriptForPerson() ### Запустить скрипт для персоны по ID ```JavaScript bot.runScriptForPerson(?int $scriptId, ?int $personId, ?int $ticketId = null, $addToQueue = true, $jobParams = []) ``` ##### Описание: Запускает скрипт бота для персоны по указанному id скрипта. ##### Атрибуты:Имя | Тип | Описание |
scriptId | int | ID скрипта, который будет запущен |
personId | int | ID персоны, для которой будет запущен скрипт |
ticketId | int | ID заявки, для которой будет запущен скрипт |
addToQueue | bool | Добавление в очередь скриптов |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение запуска скрипта. ##### Пример: ```JavaScript let ScriptId = bot.getScriptIdByCode('menu'); bot.runScriptForPerson(ScriptId, 24178, null, true); ``` # bot.runScriptByNameForPerson() ### Запустить скрипт для персоны по наименованию ```JavaScript bot.runScriptByNameForPerson(?string $scriptName, ?int $personId, ?int $ticketId = null, $addToQueue = true, $jobParams = []) ``` ##### Описание: Запускает скрипт бота для персоны по указанному имени скрипта. ##### Атрибуты:Имя | Тип | Описание |
scriptName | string | Наименование скрипта, который будет запущен |
personId | int | ID персоны, для которой будет запущен скрипт |
ticketId | int | ID заявки, для которой будет запущен скрипт |
addToQueue | bool | Добавление в очередь скриптов |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение запуска скрипта. ##### Пример: ```JavaScript bot.runScriptByNameForPerson('Меню', 24178, null, false); ``` # bot.runScriptByCodeForLead() ### Запустить скрипт для лида по коду ```JavaScript bot.runScriptByCodeForLead(?string $scriptCode, ?int $leadId, ?int $ticketId = null, $addToQueue = true, $jobParams = []) ``` ##### Описание: Запускает скрипт бота для лида по указанному коду скрипта. ##### Атрибуты:Имя | Тип | Описание |
scriptCode | string | Код скрипта, который будет запущен |
leadId | int | ID лида, для которого будет запущен скрипт |
ticketId | int | ID заявки, для которой будет запущен скрипт |
addToQueue | bool | Добавление в очередь скриптов |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение запуска скрипта. ##### Пример: ```JavaScript bot.runScriptByCodeForLead("SEND_TOKEN", 135, null, false, { "run_at": "2021-03-23 19:05:30", }); ``` # bot.runScriptByCodeForPerson() ### Запустить скрипт для персоны по коду ```JavaScript bot.runScriptByCodeForPerson(?string $scriptCode, ?int $personId, ?int $ticketId = null, $addToQueue = true, $jobParams = []) ``` ##### Описание: Запускает скрипт бота для персоны по указанному коду скрипта. ##### Атрибуты:Имя | Тип | Описание |
scriptCode | string | Код скрипта, который будет запущен |
personId | int | ID персоны, для которой будет запущен скрипт |
ticketId | int | ID заявки, для которой будет запущен скрипт |
addToQueue | bool | Добавление в очередь скриптов |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение запуска скрипта. ##### Пример: ```JavaScript bot.runScriptByCodeForPerson("SEND_TOKEN", 135, null, false, { "run_after_sec": 5, }); ``` # bot.clearJobsByScriptId() ### Очистить джобы по id скрипта ```JavaScript bot.clearJobsByScriptId(?int $scriptId, ?int $leadId = null) ``` ##### Описание: Выполняется поиск и очистка джоб по id скрипта. ##### Атрибуты:Имя | Тип | Описание |
scriptId | int | ID серипта |
leadId | int | ID лида |
Имя | Тип | Описание |
scriptName | string | Наименование скрипта |
leadId | int | ID лида |
Имя | Тип | Описание |
scriptCode | string | Код скрипта |
leadId | int | ID лида |
Имя | Тип | Описание |
key | string | Наименование переменной |
value | string | Значение переменной |
Имя | Тип | Описание |
key | string | Наименование переменной |
Имя | Тип | Описание |
key | string | Наименование переменной |
Имя | Тип | Описание |
triggerId | int | ID триггера, который будет запущен |
leadId | int | ID лида, для которого будет запущен триггер |
ticketId | int | ID заявки, для которой будет запущен триггер |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение планирования триггера. ##### Пример: ```JavaScript var result = bot.scheduleTrigger(4213, 1426, null, { "is_periodic": true, "repeat_interval_sec": 10, "script_request_params": { "name": "Alex" } }); ``` # bot.runTriggerByCodeForLead() ### Планирование триггера по коду ``` bot.runTriggerByCodeForLead(?string $triggerCode, ?int $leadId, ?int $ticketId = null, $addToQueue = true, $jobParams = []) ``` ##### Описание: Запускает триггер в соответствии с указанными параметрами по коду. ##### Атрибуты:Имя | Тип | Описание |
triggerCode | string | ID триггера, который будет запущен |
leadId | int | ID лида, для которого будет запущен триггер |
ticketId | int | ID заявки, для которой будет запущен триггер |
addToQueue | bool | Добавление в очередь триггеров |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение планирования триггера. ##### Пример: ```JavaScript var result = bot.runTriggerByCodeForLead('test', 1426, null, true, { "is_periodic": true, "repeat_interval_sec": 10, "script_request_params": { "name": "Alex" } }); ``` # bot.runTriggerByCodeForPerson() ### Планирование триггера по коду для последнего лида персоны ``` bot.runTriggerByCodeForPerson(?string $triggerCode, ?int $personId, ?int $ticketId = null, $addToQueue = true, $jobParams = []) ``` ##### Описание: Запускает триггер в соответствии с указанными параметрами по коду для последнего лида указанной персоны. ##### Атрибуты:Имя | Тип | Описание |
triggerCode | string | ID триггера, который будет запущен |
personId | int | ID персоны, для которой будет найден последний лид |
ticketId | int | ID заявки, для которой будет запущен триггер |
addToQueue | bool | Добавление в очередь триггеров |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение планирования триггера. ##### Пример: ```JavaScript var result = bot.runTriggerByCodeForPerson('test', 1426, null, true, { "is_periodic": true, "repeat_interval_sec": 10, "script_request_params": { "name": "Alex" } }); ``` # bot.clearTriggerJobsForLead() ### Удалить триггеры для лида ```JavaScript bot.clearTriggerJobsForLead(?int $leadId, ?int $ticketId = null) ``` ##### Описание: Удаляет все триггеры из очереди для лида. ##### Атрибуты:Имя | Тип | Описание |
leadId | int | ID лида, триггеры которого будут удалены |
ticketId | int | ID заявки, триггеры которого будут удалены |
Имя | Тип | Описание |
personId | int | ID персоны, триггеры которой будут удалены |
ticketId | int | ID заявки, триггеры которого будут удалены |
Имя | Тип | Описание |
triggerName | string | Наименование триггера |
Имя | Тип | Описание |
triggerCode | string | Код триггера |
Имя | Тип | Описание |
triggerId | int | ID триггера, который будет запущен |
leadId | int | ID лида, для которого будет запущен скрипт |
ticketId | int | ID заявки, для которой будет запущен скрипт |
addToQueue | bool | Добавление в очередь скриптов |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение запуска триггера. ##### Пример: ```JavaScript let TriggerId = bot.getTriggerIdByName('Триггер'); bot.runTriggerForLead(TriggerId, 236178, null, true, { "run_at": "2021-03-23 19:01:00", }); ``` # bot.runTriggerByNameForLead() ### Запустить триггер для лида по наименованию ```JavaScript bot.runTriggerByNameForLead(?string $triggerName, ?int $leadId, ?int $ticketId = null, $addToQueue = true, $jobParams = []) ``` ##### Описание: Запускает триггер для лида по указанному имени триггера. ##### Атрибуты:Имя | Тип | Описание |
triggerName | string | Наименование триггера, который будет запущен |
leadId | int | ID лида, для которого будет запущен скрипт |
ticketId | int | ID заявки, для которой будет запущен скрипт |
addToQueue | bool | Добавление в очередь скриптов |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение запуска триггера. ##### Пример: ```JavaScript bot.runTriggerByNameForLead('Триггер', 236178, null, true{ "run_after_sec": 5, }); ``` # bot.runTriggerForPerson() ### Запустить триггер для персоны по ID ```JavaScript bot.runTriggerForPerson(?int $triggerId, ?int $personId, ?int $ticketId = null, $addToQueue = true, $jobParams = []) ``` ##### Описание: Запускает триггер для персоны по указанному id триггера. ##### Атрибуты:Имя | Тип | Описание |
triggerId | int | ID триггера, который будет запущен |
personId | int | ID персоны, для которой будет запущен скрипт |
ticketId | int | ID заявки, для которой будет запущен скрипт |
addToQueue | bool | Добавление в очередь скриптов |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение запуска триггера. ##### Пример: ```JavaScript let TriggerId = bot.getTriggerIdByName('Триггер'); bot.runTriggerForPerson(TriggerId, 36178, null, true); ``` # bot.runTriggerByNameForPerson() ### Запустить триггер для персоны по наименованию ```JavaScript bot.runTriggerByNameForPerson(?string $triggerName, ?int $personId, ?int $ticketId = null, $addToQueue = true, $jobParams = []) ``` ##### Описание: Запускает триггер для персоны по указанному имени триггера. ##### Атрибуты:Имя | Тип | Описание |
triggerName | string | Наименование триггера, который будет запущен |
personId | int | ID персоны, для которой будет запущен скрипт |
ticketId | int | ID заявки, для которой будет запущен скрипт |
addToQueue | bool | Добавление в очередь скриптов |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение запуска триггера. ##### Пример: ```JavaScript bot.runTriggerByNameForPerson('Триггер', 36178, null, true); ``` # bot.clearTriggerJobsById() ### Очистить джобы по id триггера ```JavaScript bot.clearTriggerJobsById(?int $triggerId, ?int $leadId = null) ``` ##### Описание: Выполняется поиск и очистка джоб по id триггера. ##### Атрибуты:Имя | Тип | Описание |
triggerId | int | ID триггера |
leadId | int | ID лида |
Имя | Тип | Описание |
triggerName | string | Наименование триггера |
leadId | int | ID лида |
Имя | Тип | Описание |
scriptCode | string | Код скрипта |
leadId | int | ID лида |
ticketId | int | ID заявки |
Имя | Тип | Описание |
triggerId | int | ID триггера |
ticketId | int | ID заявки, джобы которой будут очищены |
Имя | Тип | Описание |
triggerName | string | Наименование триггера |
ticketId | int | ID заявки, джобы которой будут очищены |
Имя | Тип | Описание |
broadcastId | int | ID рассылки, которая будет запущена |
ticketId | int | ID заявки, для которой будет запущена рассылка |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение планирования рассылки. ##### Пример: ```JavaScript var result = bot.scheduleBroadcast(1426, null, { "is_periodic": true, "repeat_interval_sec": 10, "script_request_params": { "name": "Alex" } }); ``` # bot.scheduleBroadcastByCode() ### Планирование рассылки по коду ```JavaScript bot.scheduleBroadcastByCode(?string $broadcastCode, ?int $ticketId = null, $jobParams = []) ``` ##### Описание: Запускает рассылку в соответствии с указанными параметрами по коду. ##### Атрибуты:Имя | Тип | Описание |
broadcastCode | string | Код рассылки, которая будет запущена |
ticketId | int | ID заявки, для которой будет запущена рассылка |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). Для установки времени запуска: **run\_at** - точное время запуска (по часовому поясу сервера) или **run\_after\_sec** - для запуска через указанное кол-во секунд |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** - подтверждение планирования рассылки. ##### Пример: ```JavaScript var result = bot.scheduleBroadcastByCode('test_broadcast', null, { "is_periodic": true, "repeat_interval_sec": 10, "condition_script_code": "if (leadId == 135) { lead.setAttr('рассылка 127', 'выполнено. параметр name: ' + request.json.name); bot.runScriptForLead(7724, 135); }", "script_request_params": { "name": "Alex" } }); memory.setAttr('yes_or_not', result ? 'да' : 'нет'); ``` # bot.getBroadcastIdByCode() ### Получить ID Рассылки по Коду ```JavaScript bot.getBroadcastIdByCode(?string $broadcastCode) ``` ##### Описание: Находит id рассылки по ее коду. ##### Атрибуты:Имя | Тип | Описание |
broadcastCode | string | Код рассылки |
Имя | Тип | Описание |
data | json | Данные о заявке в формате json. Возможные поля расписаны ниже |
title | string | Заголовок заявки |
ticket\_type\_id | int | Id типа заявки |
status\_id | int | Id статуса заявки |
author\_person\_id | int | Id автора заявки |
client\_person\_id | int | Id клиента заявки |
assigned\_person\_id | int | Id исполнителя заявки |
description | string | Описание заявки |
Имя | Тип | Описание |
ticketId | int | ID заявки |
data | json | Данные о заявке в формате json. Возможные поля расписаны ниже |
title | string | Заголовок заявки |
ticket\_type\_id | int | Id типа заявки |
status\_id | int | Id статуса заявки |
author\_person\_id | int | Id автора заявки |
client\_person\_id | int | Id клиента заявки |
assigned\_person\_id | int | Id исполнителя заявки |
description | string | Описание заявки |
Имя | Тип | Описание |
where | array | Параметр по которому будет проверяться соответствие с найденными заявками |
findInAllBusinessBots | bool | Параметр, показывающий нужно ли искать заявки во всех ботах бизнеса |
orderBy | array | Параметр сортирующий найденные заявки |
limit | ?int | Максимальное количество заявок, которое будет возвращено |
offset | ?int | Параметр показывающий с какой по счету найденной заявки начать возвращать значения |
Имя | Тип | Описание |
fieldName | string | Наименование поля заявки |
value | mixed | Значение поля заявки |
Имя | Тип | Описание |
typeName | string | Наименование вида заявки |
Имя | Тип | Описание |
statusName | string | Наименование статуса заявки |
Имя | Тип | Описание |
ticketId | ?int | ID заявки |
Имя | Тип | Описание |
data | json | Данные о персоне в формате json. Возможные поля расписаны ниже |
lead\_id | integer|null | Id лида, к которому будет привязана персона |
person\_role\_id | integer | Id персоны |
is\_external | bool | Если не устанавливать по умолчанию будет установлено 1, означающее что персона является клиентом. А 0 означает что персона является работником бизнеса |
user\_id | integer | Id пользователя, привязываемого к персоне |
firstname | string|null | Имя персоны |
lastname | string|null | Фамилия персоны |
middlename | string|null | Отчество персоны |
string|null | Адрес электронной почты персоны | |
phone | string|null | Номер телефона персоны |
organization\_name | string|null | Название организации |
organization\_address | string|null | Адрес организации |
comment | string|null | Комментарий к персоне |
Имя | Тип | Описание |
where | array | Параметр по которому будет проверяться соответствие с найденными персонами |
orderBy | array | Параметр сортирующий найденные персоны |
limit | ?int | Максимальное количество персон, которое будет возвращено |
offset | ?int | Параметр показывающий с какой по счету найденной персоны начать возвращать значения |
isLogErrorIfManyPersonsFound | bool | Возвращать ли лог с ошибкой, если найдено больше персон чем указано в limit |
Имя | Тип | Описание |
personId | int | ID персоны |
data | json | Данные о персоне в формате json. Возможные поля расписаны ниже |
person\_role\_id | integer | Id персоны |
is\_external | bool | Если не устанавливать по умолчанию будет установлено 1, означающее что персона является клиентом. А 0 означает что персона является работником бизнеса |
user\_id | integer | Id пользователя, привязываемого к персоне |
firstname | string|null | Имя персоны |
lastname | string|null | Фамилия персоны |
middlename | string|null | Отчество персоны |
string|null | Адрес электронной почты персоны | |
phone | string|null | Номер телефона персоны |
organization\_name | string|null | Название организации |
organization\_address | string|null | Адрес организации |
comment | string|null | Комментарий к персоне |
Имя | Тип | Описание |
personId | int | ID персоны |
Имя | Тип | Описание |
integrationCode | string | Код интеграции |
Имя | Тип | Описание |
integrationCode | string | Код интеграции |
Имя | Тип | Описание |
integrationId | int | ID интеграции |
Имя | Тип | Описание |
integrationId | int | ID интеграции |
Использование на данный момент смысла не имеет, функции блокировок сами добавляют дополнительные префиксы к именами блокировок указанным в аргументах функций.
##### Атрибуты:Имя | Тип | Описание |
lockName | string | Имя блокировки |
lockPrefix | string | Префикс, который будет добавлен к имени блокировки |
Использование на данный момент смысла не имеет, функции блокировок сами добавляют дополнительные префиксы к именами блокировок указанным в аргументах функций.
##### Атрибуты:Имя | Тип | Описание |
lockName | string | Имя блокировки |
lockPrefix | string | Префикс, который будет добавлен к имени блокировки |
Имя | Тип | Описание |
lockName | string | Имя блокировки |
lockPrefix | string | Префикс, который будет добавлен к имени блокировки |
ttlSec | ?int | Время жизни блокировки |
maxWaitSec | int | Максимальное время ожидания блокировки |
Имя | Тип | Описание |
lockName | string | Имя блокировки |
lockPrefix | string | Префикс, который будет добавлен к имени блокировки |
ttlSec | ?int | Время жизни блокировки |
maxWaitSec | int | Максимальное время ожидания блокировки |
Имя | Тип | Описание |
lockName | string | Имя блокировки |
lockPrefix | string | Префикс, который будет добавлен к имени блокировки |
Имя | Тип | Описание |
lockName | string | Имя блокировки |
lockPrefix | string | Префикс, который будет добавлен к имени блокировки |
Имя | Тип | Описание |
lockName | string | Имя блокировки |
lockPrefix | string | Префикс, который будет добавлен к имени блокировки |
Имя | Тип | Описание |
lockName | string | Имя блокировки |
lockPrefix | string | Префикс, который будет добавлен к имени блокировки |
Имя | Тип | Описание |
lockName | string | Имя блокировки |
lockPrefix | string | Префикс, который будет добавлен к имени блокировки |
checkValue | int | Количество проверок |
Имя | Тип | Описание |
lockName | string | Имя блокировки |
lockPrefix | string | Префикс, который будет добавлен к имени блокировки |
checkValue | int | Количество проверок |
Имя | Тип | Описание |
jobParams | json | Передача в планируемую задачу входящих json параметров. Можно указать script\_request\_params (для скрипта/триггера/рассылки) condition\_script\_code (для перекрытия условия триггера/рассылки). |
Если указать run\_at и run\_after\_sec то будет использован только параметр run\_at.
##### Возвращает: **bool** — подтверждение планирования задачи.Имя | Тип | Описание |
useOutputFilter | bool | Используется для включения фильтра входящего сообщения, чтобы исключить не поддерживаемые системой символы |
Имя | Тип | Описание |
key | string|null | Ключ настройки канала лида |
Если отключаете, не забывайте **включать назад**, в конце вашего JavaScript кода.
# bot.enableBuffer() ### Принудительное включение буфера исходящих сообщений ``` bot.enableBuffer() ``` ##### Описание: Принудительное включение буфера исходящих сообщений.Не влияет на аргумент $isDisableBuffer передаваемый в sendText / sendMessage / sendButtons.
# bot.flushBuffer() ### Принудительное освобождение буфера исходящих сообщений ``` bot.flushBuffer() ``` ##### Описание: Принудительное освобождение буфера исходящих сообщений. Отправка всех накопленных сообщений клиенту. # bot.getAllAttachments() ### Получить вложения всех видов ``` bot.getAllAttachments(string|null $filesMimeExcludeFilter = 'image|video') ``` ##### Описание: Получить вложения всех видов, в т.ч. фото, видео, аудио, файлы и т.д., т.е. все вложения которые поддерживаем Метабот и данный канал.На данный момент getAllAttachments **работает только с Telegram**, для других каналов функция возвращает пустой массив.
##### Атрибуты:Имя | Тип | Описание |
filesMimeExcludeFilter | 'image|video' | null | Тип исключаемых файлов |
На данный момент getFilesработает **работает только с Telegram**, для других каналов функция возвращает пустой массив.
##### Атрибуты:Имя | Тип | Описание |
mimeIncludeFilter | string|null | null | Тип добавляемых файлов |
mimeExcludeFilter | 'image|video' | null | Тип исключаемых файлов |
На данный момент getImagesработает **работает только с Telegram**, для других каналов функция возвращает пустой массив.
##### Атрибуты:Имя | Тип | Описание |
mimeIncludeFilter | string|null | Тип включаемых файлов |
На данный момент getVideos **работает только с Telegram**, для других каналов функция возвращает пустой массив.
##### Атрибуты:Имя | Тип | Описание |
mimeIncludeFilter | string | null | Тип включаемых файлов |
Имя | Тип | Описание |
endpoint | string|null | Ключ данных бота |
payload | array|object |
Имя | Тип | Описание |
messageText | string|null|mixed | Текст сообщения |
apiAdditionalParams | array|object|null | Дополнительные параметры API |
isDisableBuffer | bool | Отключение буфера |
Имя | Тип | Описание |
messageText | string|null|mixed | Текст сообщения |
buttons | array|object|null | Кнопки |
attachments | array|object|null | Вложения |
apiAdditionalParams | array|object|null | Дополнительные параметры, которые будут отправлены по REST API в мессенджер |
isDisableBuffer | bool | Принудительное отключение буффера исходящих сообщений |
isUpdateMessageButtons | bool | true, для обновления последнего отправленного сообщения в логе, чтобы не писать в лог повторы сообщений от GPT при апдейте |
Имя | Тип | Описание |
messageText | string|null|mixed | Текст сообщения |
buttons | array|object|null | Кнопки |
apiAdditionalParams | array|object|null | Дополнительные параметры, которые будут отправлены по REST API в мессенджер |
isDisableBuffer | bool | Принудительное отключение буффера исходящих сообщений |
isUpdateMessageButtons | bool | Чтобы не логировать сообщение "Выберите вариант с помощью кнопок ниже" для кнопок GPT, которые отправляются в Telegram для обновления сообщений |
Имя | Тип | Описание |
fileId | string|null|mixed | ID файла |
isShowOriginalInfo | array|object|null | Показать оригинальную информацию |
Имя | Тип | Описание |
messageText | string|null|mixed | Текст сообщения |
buttons | array|object|null | Кнопки |
attachments | array|object|null | Вложения |
apiAdditionalParams | array|object|null | Дополнительные параметры, которые будут отправлены по REST API в мессенджер |
Имя | Тип | Описание |
chatId | string|null | Обязателен, если не указан inline\_message\_id. Уникальный идентификатор целевого чата или имя пользователя целевого канала |
messageId | array|object|null | Обязателен, если не указан inline\_message\_id. Идентификатор сообщения для редактирования |
inlineMessageId | array|object|null | Обязателен, если не указаны Chat\_id и message\_id. Идентификатор встроенного сообщения |
inlineKeyboardMarkup | array|object|null | В формате JSON объект для кнопок. |
Имя | Тип | Описание |
chatId | string|null | Обязателен, если не указан inline\_message\_id. Уникальный идентификатор целевого чата или имя пользователя целевого канала |
messageId | array|object|null | Обязателен, если не указан inline\_message\_id. Идентификатор сообщения для редактирования |
inlineMessageId | array|object|null | Обязателен, если не указаны Chat\_id и message\_id. Идентификатор встроенного сообщения |
Имя | Тип | Описание |
cdnConfig | array|object|null | Конфиг |
Поэтому мы можем подключить CDN к вашему бизнесу с помощью конфига системы, для этого обратитесь в поддержку.
##### Атрибуты:Имя | Тип | Описание |
cdnConfig | array|object|null | Конфиг |
Имя | Тип | Описание |
fileUrl | string | URL файла |
Имя | Тип | Описание |
fileUrl | string | URL файла |
Имейте ввиду, что такое хранилище периодически очищается.
##### Атрибуты:Имя | Тип | Описание |
fileUrl | string | URL файла |
Имя | Тип | Описание |
fileUrl | string | URL файла |
Имя | Тип | Описание |
fileUrl | string | URL файла |
Имя | Тип | Описание |
fileUrl | string | URL файла |
cdnConfig | array|object|null | Конфиг |
Имя | Тип | Описание |
fileUrl | string | URL файла |
cdnConfig | array|object|null | Конфиг |
Имя | Тип | Описание |
key | string | Ключ данных лида |
Имя | Тип | Описание |
key | string | Ключ данных лида |
Имя | Тип | Описание |
key | string | Наименование переменной |
value | string | Значение переменной |
Имя | Тип | Описание |
key | string | Наименование переменной |
Имя | Тип | Описание |
key | string | Наименование переменной |
Имя | Тип | Описание |
attrs | string|object|array|null | Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив |
ticketId | ?int | Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления переменной |
scriptRequestParams | object | Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления переменной |
isForceDelete | bool | Подавить запуск триггеров или нет, т.е. если передать true, и есть триггер подписанный на событие изменения/удаления переменной то он не будет запущен. |
isSuppressTriggers | bool | Не мягкое удаление. Если передано true, то переменная будет удалена из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается |
Имя | Тип | Описание |
attrs | string|object|array|null | Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив |
ticketId | ?int | Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления переменной |
scriptRequestParams | object | Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления переменной |
isSuppressTriggers | bool | Не мягкое удаление. Если передано true, то переменная будет удалена из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается |
Имя | Тип | Описание |
attrs | string|object|array|null | Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив |
ticketId | ?int | Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления переменной |
scriptRequestParams | object | Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления переменной |
isForceDelete | bool | Подавить запуск триггеров или нет, т.е. если передать true, и есть триггер подписанный на событие изменения/удаления переменной то он не будет запущен. |
isSuppressTriggers | bool | Не мягкое удаление. Если передано true, то переменная будет удалена из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается |
Имя | Тип | Описание |
attrs | string|object|array|null | Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив |
ticketId | ?int | Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления переменной |
scriptRequestParams | object | Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления переменной |
isSuppressTriggers | bool | Не мягкое удаление. Если передано true, то переменная будет удалена из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается |
Имя | Тип | Описание |
statusName | string | Наименование статуса |
Имя | Тип | Описание |
some\_tag | string | Наименование тэга |
Имя | Тип | Описание |
key | string | Наименование тэга |
Имя | Тип | Описание |
tags | string|object|array|null | Строка, представляющая собой список названий тэгов(разделитель запятая). Можно указать вместо списка json объект или массив |
ticketId | ?int | Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления тэга |
scriptRequestParams | object | Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления тэга |
isSuppressTriggers | bool | Не мягкое удаление. Если передано true, то тэг будет удален из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается |
Имя | Тип | Описание |
tags | string|object|array|null | Строка, представляющая собой список названий тэгов (разделитель запятая). Можно указать вместо списка json объект или массив |
ticketId | ?int | Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления тэга |
scriptRequestParams | object | Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления тэга |
isForceDelete | bool | Подавить запуск триггеров или нет, т.е. если передать true, и есть триггер подписанный на событие изменения/удаления тэга то он не будет запущен. |
isSuppressTriggers | bool | Не мягкое удаление. Если передано true, то тэг будет удален из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается |
Имя | Тип | Описание |
attrs | string|object|array|null | Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив |
ticketId | ?int | Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления тэга |
scriptRequestParams | object | Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления тэга |
isSuppressTriggers | bool | Не мягкое удаление. Если передано true, то тэг будет удален из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается |
Имя | Тип | Описание |
state | bool|int | При $state = true установка и при $state = false сброс признака “Переведён на оператора” |
Имя | Тип | Описание |
personId | int | Id персоны |
Имя | Тип | Описание |
data | json | Данные о персоне в формате json. Возможные поля расписаны ниже |
person\_role\_id | integer | Id роли |
is\_external | bool | Если не устанавливать по умолчанию будет установлено 1, означающее что персона является клиентом. А 0 означает что персона является работником бизнеса |
user\_id | integer | Id пользователя, привязываемого к персоне |
firstname | string|null | Имя персоны |
lastname | string|null | Фамилия персоны |
middlename | string|null | Отчество персоны |
string|null | Адрес электронной почты персоны | |
phone | string|null | Номер телефона персоны |
organization\_name | string|null | Название организации |
organization\_address | string|null | Адрес организации |
comment | string|null | Комментарий к персоне |
Имя | Тип | Описание |
key | string | Наименование контекста |
Имя | Тип | Описание |
key | string | Наименование контекста |
Имя | Тип | Описание |
integrationCode | string | Код интеграции |
Имя | Тип | Описание |
departmentCode | string | Код отдела |
isOnline | bool | Должны ли операторы быть онлайн |
limit | int|null | Лимит возвращенных операторов. Чтобы получить всех операторов, указываем $limit=null |
useLocks | bool | Использовать ли блокировки |
Имя | Тип | Описание |
departmentCode | string | Код отдела |
isOnline | bool | Должны ли операторы быть онлайн |
isForwardIfOperatorNotFound | bool | Продолжить если оператор не найден |
useLocks | bool | Использовать ли блокировки |
Имя | Тип | Описание |
operatorId | string | ID оператора |
limit | int|null | Лимит возвращенных операторов. Чтобы получить всех операторов, указываем $limit=null |
useLocks | bool | Использовать ли блокировки |
Имя | Тип | Описание |
data | json | Данные о заявке в формате json. Возможные поля расписаны ниже |
title | string | Заголовок заявки |
ticket\_type\_id | int | Id типа заявки |
status\_id | int | Id статуса заявки |
author\_person\_id | int | Id автора заявки |
client\_person\_id | int | Id клиента заявки |
assigned\_person\_id | int | Id исполнителя заявки |
description | string | Описание заявки |
Имя | Тип | Описание |
key | string | Ключ наименование поля |
Имя | Тип | Описание |
key | string | Ключ наименование поля |
Можно получить код значения, используя суффикс **".raw"** к имени произвольного поля. Т.е. если в заявке установлено из опций поля с именем age второе значение: ({ "1": "18-25 лет", "2": "25-30 лет", "3": "30-35 лет", "4": "35-40 лет", "5": "Больше 40 лет", "6": "Не важно" }) то **ticket.getCustomData('age')** вернёт "25-30 лет", **ticket.getCustomData('age.raw')** вернёт "2".
##### Возвращает: **mixed** - если значение найдено или **null** - если значение не найдено. ##### Пример: ```JavaScript let tickets = bot.findTickets(); for (let i = 0; i < tickets.length; i++) { lead.setAttr('tickets_' + i + '_tickets_title', tickets[i].getData('title')); lead.setAttr('tickets_' + i + '_client_contacts', tickets[i].getCustomData('client_contacts')); lead.setAttr('tickets_' + i + '_details', tickets[i].getCustomData('details')); lead.setAttr('tickets_' + i + '_статус_имя', tickets[i].getCustomData('статус.имя')); } lead.setAttr('found_tickets_count', tickets.length); ``` # ticket.issetData() и ticket.isDataExist() #### Проверить наличие данных по заявке ```JavaScript ticket.issetData(string $key) ``` или ```JavaScript ticket.isDataExist(string $key) ``` ##### Описание: Проверяет существуют ли данные заявки по заданному ключу. ##### Атрибуты:Имя | Тип | Описание |
key | string | Ключ наименование поля |
Имя | Тип | Описание |
isReloadModel | bool | Перезагружает и системные поля заявки, вызывая ticket.reloadTicket() |
Имя | Тип | Описание |
customData | array | Массив кастомных полей |
Имя | Тип | Описание |
key | string | Ключ наименование поля |
value | self | Значение поля |
Имя | Тип | Описание |
key | string | Ключ наименование поля |
Имя | Тип | Описание |
key | string | Ключ наименование поля |
Имя | Тип | Описание |
status\_id | string | Ключ id статуса заявки |
Имя | Тип | Описание |
statusNme | string | Наименование статуса заявки |
В v8 скриптах не используется.
# ticket.isInStatus() ### Проверить статус заявки ```JavaScript ticket.isInStatus($statusName) ``` ##### Описание: Проверить, что заявка находится в статусе с именем $statusName. ##### Атрибуты:Имя | Тип | Описание |
statusName | string | Наименование статуса заявки |
Имя | Тип | Описание |
statusId | int|null | id статуса заявки |
personQueueIdForLog | int|null | id очереди записываемый в лог |
personQueueTableForLog | string|null | Название таблицы-связки для очередей записываемое в лог |
Имя | Тип | Описание |
statusName | string | Наименование статуса заявки |
personQueueIdForLog | int|null | id очереди записываемый в лог |
personQueueTableForLog | string|null | Название таблицы-связки для очередей записываемое в лог |
Имя | Тип | Описание |
personId | int|null | ID персоны |
Имя | Тип | Описание |
personId | int|null | ID персоны |
Имя | Тип | Описание |
personId | int|null | ID персоны |
Условие (количество отказов по исполнителю rejects\_count < $maxRejects+1) НЕ НУЖНО, т.к.: 1. Как только лимит превышен персона сразу будет перемещена в конец очереди, а счетчик сброшен. 2. Может возникнуть баг, если лимит превышен, персона никогда не попадет в выборку и ее счетчик не будет сброшен.
##### Атрибуты:Имя | Тип | Описание |
queueMode | int | Режим работы очереди. Для работы с очередью на основе видов заявок указывать не нужно, будет использовано значение по умолчанию **1**; Для работы с очередью на основе видов очередей указать **2.** |
personQueueId | int|null | id очереди |
personQueueTable | string|null | Название таблицы-связки для очередей |
currentAssignAttempt | int|null | Номер попытки прогона одного и того же тикета по той же очереди |
isIncRejectsCount | bool | Увеличивать или нет счетчик попыток у персоны (в очереди исполнителей) |
isMoveToEndIfRejectsExceed | bool | Переносить или нет персону в конец очереди и сбрасывать счетчик попыток, если кол-во попыток превышено (превышает число указанное в настройках бота) |
Имя | Тип | Описание |
queueMode | int | Режим работы очереди. Для работы с очередью на основе видов заявок указывать не нужно, будет использовано значение по умолчанию **1**; Для работы с очередью на основе видов очередей указать **2.** |
personQueueId | int|null | id очереди |
personQueueTable | string|null | Название таблицы-связки для очередей |
isResetRejectsCount | bool | Обновить или нет счетчик попыток у персоны (в очереди исполнителей) |
Имя | Тип | Описание |
personId | int|null | id персоны-исполнителя |
personQueueIdForLog | int|null | id очереди записываемый в лог |
personQueueTableForLog | string|null | Название таблицы-связки для очередей записываемое в лог |
assignAttemptForLog | int|null | Номер попытки прогона одного и того же тикета по той же очереди записываемый в лог |
Имя | Тип | Описание |
personQueueId | int|null | id очереди |
personQueueTable | string|null | Название таблицы-связки для очередей |
Имя | Тип | Описание |
rejectsCount | int | Количество отказов |
personQueueId | int|null | id очереди |
personQueueTable | string|null | Название таблицы-связки для очередей |
Имя | Тип | Описание |
personQueueId | int|null | id очереди |
personQueueTable | string|null | Название таблицы-связки для очередей |
Имя | Тип | Описание |
where | array|object|null | Параметр по которому будет проверяться соответствие с найденными статусами |
isReturnCollection | bool | Параметр позволяющий вернуть значения в виде коллекции |
Описание | Метод | Возвращаемое значение |
Получение элемента | - .last() - .first() - .where() | **?string** |
Обновление | - .reload() | **bool** |
Получение даты создания | - created\_at - createdAt - getCreatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string - createdAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **?string** |
Получение даты обновления | - updated\_at - updatedAt - getUpdatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string - updatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **?string** |
Получение даты удаления | - deleted\_at - deletedAt - getDeletedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string - deletedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **?string** |
Имя | Тип | Описание |
id | string|int|null | ID статуса заявки |
Описание | Метод | Возвращаемое значение |
Получение элемента | - .last() - .first() - .where() | **?string** |
Обновление | - .reload() | **bool** |
Получение даты создания | - created\_at - createdAt - getCreatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string - createdAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **?string** |
Получение даты обновления | - updated\_at - updatedAt - getUpdatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string - updatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **?string** |
Получение даты удаления | - deleted\_at - deletedAt - getDeletedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string - deletedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **?string** |
Имя | Тип | Описание |
name | string | Имя статуса заявки |
Описание | Метод | Возвращаемое значение |
Получение элемента | - .last() - .first() - .where() | **?string** |
Обновление | - .reload() | **bool** |
Получение даты создания | - created\_at - createdAt - getCreatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string - createdAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **?string** |
Получение даты обновления | - updated\_at - updatedAt - getUpdatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string - updatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **?string** |
Получение даты удаления | - deleted\_at - deletedAt - getDeletedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null): ?string - deletedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **?string** |
Имя | Тип | Описание |
names | string|array|object|null | Имя статуса |
operator | string | Оператор |
isReturnCollection | bool | Параметр позволяющий вернуть значения в виде коллекции |
Имя | Тип | Описание |
types | string|array|object|null | Тип статуса |
operator | string | Оператор |
isReturnCollection | bool | Параметр позволяющий вернуть значения в виде коллекции |
Имя | Тип | Описание |
data | json | Данные о персоне в формате json. Возможные поля расписаны ниже |
person\_role\_id | integer | Id персоны |
is\_external | bool | Если не устанавливать по умолчанию будет установлено 1, означающее что персона является клиентом. А 0 означает что персона является работником бизнеса |
user\_id | integer | Id пользователя, привязываемого к персоне |
firstname | string|null | Имя персоны |
lastname | string|null | Фамилия персоны |
middlename | string|null | Отчество персоны |
string|null | Адрес электронной почты персоны | |
phone | string|null | Номер телефона персоны |
organization\_name | string|null | Название организации |
organization\_address | string|null | Адрес организации |
comment | string|null | Комментарий к персоне |
Имя | Тип | Описание |
key | string | Ключ наименование поля |
value | mixed | Значение вводимое в поле |
Имя | Тип | Описание |
key | string | Ключ наименование поля |
Имя | Тип | Описание |
key | string | Ключ наименование поля |
Имя | Тип | Описание |
phone | string | Номер телефона |
Имя | Тип | Описание |
personQueueId | int | ID вида очереди, в которую будет добавлена персона |
personQueueTable | string | Наименование кастомной таблицы |
ticketTypeId | int | ID вида заявки, в очередь которой будет добавлена персона |
isActive | bool | Активность персоны в очереди |
rejectsCount | int | Количество отказов от заявки |
Одновременно в методе может быть указан либо только вид заявки, либо только вид очереди (одна из этих переменных должна содержать значение null). Так же по видам заявок не должна допускаться установка значения кастомной таблицы
##### Возвращает: **int** - id добавленной персоны. ##### Пример: ```JavaScript person.addToQueue(null, null, 2541); ``` # person.removeFromQueue() ### Удаление персоны из очереди ```JavaScript person.removeFromQueue(?int $personQueueId = null, ?string $personQueueTable = null, ?int $ticketTypeId = null) ``` ##### Описание: Удаляет персону из указанной очереди. ##### Атрибуты:Имя | Тип | Описание |
personQueueId | int | ID вида очереди |
personQueueTable | string | Наименование кастомной таблицы |
ticketTypeId | int | ID вида заявки |
Одновременно в методе может быть указан либо только вид заявки, либо только вид очереди (одна из этих переменных должна содержать значение null)
##### Возвращает: **bool** - подтверждение удаления персоны. ##### Пример: ```JavaScript person.removeFromQueue(3527, "table"); ``` # person.moveToEndOfQueue() ### Перемещение персоны в конец очереди ```JavaScript person.moveToEndOfQueue(int $queueMode = 1, ?int $personQueueId = null, ?string $personQueueTable = null, ?int $ticketTypeId = null, bool $isResetRejectsCount = true) ``` ##### Описание: Перемещает персону в конец указанной очереди, либо в конец нескольких очередей. ##### Атрибуты:Имя | Тип | Описание |
queueMode | int | Режим работы очереди. Для работы с очередью на основе видов заявок указывать не нужно, будет использовано значение по умолчанию **1**; Для работы с очередью на основе видов очередей указать **2** |
personQueueId | ?int | id очереди |
personQueueTable | ?string | Название таблицы-связки для очередей |
ticketTypeIds | int|array|object|null | **$ticketTypeIds = null**, то персона будет перемещена в конец очереди по всем типам заявок; **$ticketTypeIds = число**, то персона будет перемещена в конец очереди по указанному типу заявки; **$ticketTypeIds = строка** **с перечислениями** типов заявок через запятую, то персона будет перемещена в конец очереди по указанным типам заявок (например 1,2,3); **$ticketTypeIds = строка без перечислений** через запятую, ticketTypeIds будет приведен к типу = число и персона будет перемещена в конец очереди по указанному типу заявки; **$ticketTypeIds = json массив**, то персона будет перемещена в конец очереди по всем типам заявок (например \[1,2,3\]) |
isResetRejectsCount | bool | Обнулить количество отказов персоны |
Имя | Тип | Описание |
isActive | bool | Активировать или деактивировать персону в очереди |
Имя | Тип | Описание |
where | array | Параметр по которому будет проверяться соответствие с найденными очередями |
isReturnCollection | bool | Параметр позволяющий вернуть значения в виде коллекции |
Описание | Метод | Возвращаемое значение |
Получение id | - .id - .getId() | **int** |
Получение кода | - .code - .getCode() | **string** |
Получение активности | - .is\_enabled - .getIsEnabled() | **bool** |
Получение заголовка | - .title - .getTitle() | **string** |
Получение даты создания | - .created\_at - .createdAt - .getCreatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) - .createdAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **string** |
Получение даты обновления | - .updated\_at - .updatedAt - .getUpdatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) - .updatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **string** |
Обновление | - .reload() | **bool** |
Приводит $title к нижнему регистру и сравнивает с заголовком очереди | - .isSameTitle($title) | **bool** |
Имя | Тип | Описание |
id | string|int|null | ID очереди исполнителей |
Описание | Метод | Возвращаемое значение |
Получение id | - .id - .getId() | **int** |
Получение кода | - .code - .getCode() | **string** |
Получение активности | - .is\_enabled - .getIsEnabled() | **bool** |
Получение заголовка | - .title - .getTitle() | **string** |
Получение даты создания | - .created\_at - .createdAt - .getCreatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) - .createdAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **string** |
Получение даты обновления | - .updated\_at - .updatedAt - .getUpdatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) - .updatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **string** |
Обновление | - .reload() | **bool** |
Приводит $title к нижнему регистру и сравнивает с заголовком очереди | - .isSameTitle($title) | **bool** |
Имя | Тип | Описание |
titles | string|array|object|null | Заголовки очередей |
isEnabled | bool | Активность очереди |
findTitleOperator | string | Оператор заголовка, по умолчанию 'IN' |
isReturnCollection | bool | Параметр позволяющий вернуть значения в виде коллекции |
Описание | Метод | Возвращаемое значение |
Получение id | - .id - .getId() | **int** |
Получение кода | - .code - .getCode() | **string** |
Получение активности | - .is\_enabled - .getIsEnabled() | **bool** |
Получение заголовка | - .title - .getTitle() | **string** |
Получение даты создания | - .created\_at - .createdAt - .getCreatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) - .createdAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **string** |
Получение даты обновления | - .updated\_at - .updatedAt - .getUpdatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) - .updatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **string** |
Обновление | - .reload() | **bool** |
Приводит $title к нижнему регистру и сравнивает с заголовком очереди | - .isSameTitle($title) | **bool** |
Имя | Тип | Описание |
code | string | Код очереди |
isEnabled | bool | Активность очереди |
findCodeOperator | string | Оператор кода, по умолчанию '=' |
Описание | Метод | Возвращаемое значение |
Получение id | - .id - .getId() | **int** |
Получение кода | - .code - .getCode() | **string** |
Получение активности | - .is\_enabled - .getIsEnabled() | **bool** |
Получение заголовка | - .title - .getTitle() | **string** |
Получение даты создания | - .created\_at - .createdAt - .getCreatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) - .createdAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **string** |
Получение даты обновления | - .updated\_at - .updatedAt - .getUpdatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) - .updatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **string** |
Обновление | - .reload() | **bool** |
Приводит $title к нижнему регистру и сравнивает с заголовком очереди | - .isSameTitle($title) | **bool** |
Имя | Тип | Описание |
codes | string|array|object|null | Коды очередей |
isEnabled | bool | Активность очереди |
findCodeOperator | string | Оператор кода, по умолчанию 'IN' |
isReturnCollection | bool | Параметр позволяющий вернуть значения в виде коллекции |
Описание | Метод | Возвращаемое значение |
Получение id | - .id - .getId() | **int** |
Получение кода | - .code - .getCode() | **string** |
Получение активности | - .is\_enabled - .getIsEnabled() | **bool** |
Получение заголовка | - .title - .getTitle() | **string** |
Получение даты создания | - .created\_at - .createdAt - .getCreatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) - .createdAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **string** |
Получение даты обновления | - .updated\_at - .updatedAt - .getUpdatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) - .updatedAtFormatted(string $format = 'Y-m-d H:i:s', ?string $timeZone = null) | **string** |
Обновление | - .reload() | **bool** |
Приводит $title к нижнему регистру и сравнивает с заголовком очереди | - .isSameTitle($title) | **bool** |
Имя | Тип | Описание |
tableName | string | Наименование таблицы, в которой будет создана запись |
data | array | object ( json{} ) | Значения | значение записи |
Имя | Тип | Описание |
tableName | string | Наименование таблицы, в которой будет найдена запись |
columns | array | object ( json{} ) | Столбцы которые будут возвращены в ответе |
where | array | object ( json{} ) | Условие, которое будет проверяться при поиске |
orderBy | array | object ( json{} ) | Устанавливает в какой последовательности будут возвращены выходные значения |
limit | int | Устанавливает максимальное количество возвращенных значений |
offset | int | Устанавливает смещение |
Имя | Тип | Описание |
tableName | string | Наименование таблицы, в которой будет создана запись |
where | array | object ( json{} ) | Условие, которое будет проверяться при поиске |
Имя | Тип | Описание |
tableName | string | Наименование таблицы, в которой будет создана запись |
column | string | Наименование поля из которого будут браться значения |
where | array | object ( json{} ) | Условие, которое будет проверяться при поиске |
Имя | Тип | Описание |
tableName | string | Наименование таблицы, в которой будет создана запись |
column | string | Наименование поля из которого будут браться значения |
where | array | object ( json{} ) | Условие, которое будет проверяться при поиске |
Имя | Тип | Описание |
data | array | object ( json{} ) | Значения | значение записи |
Имя | Тип | Описание |
fieldName | string | Наименование поля из которого будет браться значение |
toFormat | string | Формат даты, например: 'Y-m-d H:i:s' (Y - год; m - месяц; d - день; H - часы; i - минуты; s - секунды.) |
toTimeZone | string|null | Часовой пояс в ответе |
fromTimeZone | string|null | Часовой пояс в запросе |
Имя | Тип | Описание |
date | string | Дата |
toFormat | string | Формат даты в ответе, например: 'Y-m-d H:i:s' (Y - год; m - месяц; d - день; H - часы; i - минуты; s - секунды.) |
fromFormat | string|null | Формат даты в запросе |
toTimeZone | string|null | Часовой пояс в ответе |
fromTimeZone | string|null | Часовой пояс в запросе |
.json/.array/.string — это синонимы и по факту вызывают функции
request — это параметры текущего request запроса
# last_request. ### Доступ к последнему реквесту ``` last_request.json last_request.array last_request.string ``` или ``` last_request.asJson() last_request.asArray() last_request.asString() ``` ##### Описание: Доступ к последним json параметрам сохраненным в атрибутах лида в виде javascript json-обьекта, например для использования как request.json.name или в виде массива request.array\['name'\] или в виде json объекта соответственно. В лид параметры будут сохранены в json атрибут лида (sys\_last\_script\_request\_params). # Примеры использования методов # Использование методов блокировок Ниже представлен JS скрипт на примере которого будет рассмотрена работа с методами блокировок. ```JavaScript bot.sendText('Ожидаю получения блокировки') let lockName = 'my_lock_1' let lockPrefix = '' let ttlSec = 5 // время жизни блокировки let maxWaitSec = 300 // макс время ожидания блокировки let isLocked = false // Получаем блокировку по бизнесу (bot.waitForBusinessLock) или боту (bot.waitForBotLock) isLocked = bot.waitForBusinessLock(lockName, lockPrefix, ttlSec, maxWaitSec) if (isLocked) { bot.sendText('Блокировка получена') } else { bot.sendText('Время ожидания блокировки истекло') } bot.sendText('Ожидаю истечения блокировки и получаю новую') //bot.releaseAllCurrentLocks() ttlSec = 20 maxWaitSec = 1 // если раскомментировать то время ожидания будет превышено // (если проверять превышение то закомментировано выше должно быть maxWaitSec) // Повторно, получаем новую блокировку по бизнесу с тем же ключем isLocked = bot.waitForBusinessLock(lockName, lockPrefix, ttlSec, maxWaitSec) if (isLocked) { bot.sendText('Повторная блокировка получена') } else { bot.sendText('Время ожидания повторной блокировки истекло') } // Блокировка получена или время ожидания истекло bot.sendText('Блокировка получена') // -------------- bot.sendText('Ищем и удаляем блокировку') let hasLock = bot.hasLockForBusiness(lockName) if (hasLock) { // Удаляем блокировку // по бизнесу - bot.releaseLockForBusiness / по боту - bot.releaseLockForBot // на самом деле это не releaseLock а forceReleaseLock (тк можно разрблокировать даже если ее тут не получали) // но зато это гарантирует удаление блокировки, поэтому префикс force в начале убран // для удаления же блокировки по тек скрипту можно использовать bot.releaseCurrentLock(lockName) или bot.releaseAllCurrentLocks() //if (bot.releaseLockForBusiness(lockName)) { // Вариант чтобы случайно не удалить блокировку, если мы ее не созадли в текущем скрипте // Например истекло время ожидания получения блокировки (maxWaitSec) // bot.releaseCurrentLockForBusiness / bot.releaseCurrentLockForBot if (bot.releaseCurrentLockForBusiness(lockName)) { bot.sendText('Блокировка удалена') } else { bot.sendText('Ошика удаления блокировки') } } else { bot.sendText('Блокировка не найдена') } // Удаляем блокировку если она получена именно в данном скрипте (через waitForBusinessLock / waitForBotLock) // Скрипт сам запоминает какие мы блокировки создавали в данном скрипте и удаляем ее только если создали тут //bot.releaseCurrentLock(lockName) // На всякий случай // Удаляем все блокировки полученные именно в данном скрипте // Скрипт сам запоминает какие мы блокировки создавали в данном скрипте и удаляем их все, которые мы тут создали bot.releaseAllCurrentLocks() bot.sendText('Дополнительно, почистили все блокировки созданные в данном скрипте, на случай, если что-то забыли...') ``` # Использование методов планирования времени Установить время задержки для выполнения функции можно двумя способами: - Метод **setTimeout()**; - Задерживающий декоратор **delay()**. Они позволяют вызвать функцию один раз через определённый интервал времени. ### setTimeout() ```JavaScript setTimeout($func, int $delay, $arg1, $arg2, ...) ``` ##### Атрибуты:Имя | Тип | Описание |
func | function | Вызываемая функция |
delay | int | Задержка перед запуском в миллисекундах. Значение по умолчанию – 0 |
arg1, arg2, ... | mixed | Аргументы, передаваемые в функцию |
Имя | Тип | Описание |
f | function | Вызываемая функция |
ms | int | Задержка перед запуском в миллисекундах |
Имя | Тип | Описание |
method | string | Метод запроса |
uri | string | Url запроса |
requestOptions | array|object | Опции запроса |
httpClientConfig | array|object | Набор параметров для включения или выключения различных возможностей Http Client |
body | array|object|string|null | Тело запроса |
jsonBody | array|object|null | JSON тело запроса |
headers | array|object | Заголовки запроса |
isForceAddJsonHeaders | bool | Добавление заголовков Json |
Имя | Тип | Описание |
uri | string | Url запроса |
requestOptions | array|object | Опции запроса |
httpClientConfig | array|object | Набор параметров для включения или выключения различных возможностей Http Client |
body | array|object|null | Тело запроса |
headers | array|object | Заголовки запроса |
Имя | Тип | Описание |
uri | string | Url запроса |
requestOptions | array|object | Опции запроса |
httpClientConfig | array|object | Набор параметров для включения или выключения различных возможностей Http Client |
headers | array|object | Заголовки запроса |
Имя | Тип | Описание |
uri | string | Url запроса |
requestOptions | array|object | Опции запроса |
httpClientConfig | array|object | Набор параметров для включения или выключения различных возможностей Http Client |
jsonBody | array|object|null | Json тело запроса |
headers | array|object | Заголовки запроса |
Имя | Тип | Описание |
uri | string | Url запроса |
requestOptions | array|object | Опции запроса |
httpClientConfig | array|object | Набор параметров для включения или выключения различных возможностей Http Client |
jsonBody | array|object | Json тело запроса |
headers | array|object | Заголовки запроса |
Имя | Тип | Описание |
config | array|object|string | HTTP Config |
Имя | Тип | Описание |
options | array|object|string | Параметры HTTP запроса |
Имя | Тип | Описание |
headers | array|object | Заголовки HTTP запроса |
Имя | Тип | Описание |
proxyUrl | string | Proxy Url HTTP запроса |
Имя | Тип | Описание |
timeout | float | Время задержки |
Имя | Тип | Описание |
isAutoConvertToJson | bool | Конвертация в Json |
Имя | Тип | Описание |
externalApiEndpointCode | string | Внешний код эндпоинта |
uri | string|null | Url запроса |
method | string|null | Метод запроса |
format | string|null | Формат запроса |
body | array|object|string|null | Тело запроса |
headers | array|object|string|null | Заголовки запроса |
requestOptions | array|object|string|null | Параметры запроса |
httpClientConfig | array|object|string|null | Набор параметров для включения или выключения различных возможностей Http Client |
proxyUrl | string|null | Proxy Url HTTP запроса |
Поле | Описание |
---|---|
id | ID лида |
name | Имя лида |
identification | ID в мессенджере (например, Telegram ID) |
person\_id | ID персоны |
manager\_id | ID менеджера |
bot\_id | ID бота |
channel\_id | ID канала |
lang\_code | Код языка |
status\_id | ID статуса |
is\_mute | Включен ли бот для лида (0 или 1) |
is\_forwarded | Передан ли оператору (0 или 1) |
last\_activity | Дата последней активности |
last\_response | Timestamp последнего ответа |
messenger | ID мессенджера |
bot\_debug\_level | Уровень отладки бота (0 - обычный, 11 - админ) |
created\_at | Дата создания |
updated\_at | Дата обновления |
dialog\_id | ID диалога |
unread\_count | Количество непрочитанных сообщений |
forwarded\_at | Дата передачи оператору |
Код | ID | Описание |
---|---|---|
unknown | 0 | Неизвестный канал |
avito | 1 | Avito |
2 | ||
3 | ||
livechatWidget | 4 | LiveChat Widget |
skype | 5 | Skype |
telegram | 6 | Telegram |
7 | ||
viber | 8 | Viber |
vk | 9 | VKontakte |
10 | ||
youla | 11 | Youla |
12 | ||
metabotWidget | 13 | MetaBot Widget |
webim | 14 | Webim |
jivoWidget | 15 | Jivo Widget |
odnoklassniki | 16 | Odnoklassniki |
apple\_business\_chat | 17 | Apple Business Chat |
Поле | Описание |
---|---|
lead\_attributes.attribute\_type | Тип атрибута (tag, variable, system, json, context) |
lead\_attributes.attribute\_key | Ключ атрибута |
lead\_attributes.attribute\_value | Значение атрибута. Если type = tag, то можно не использовать |
Оператор | Описание | Тип переменной | Пример |
---|---|---|---|
= | Равно | string, int | \['id', '=', 100\] |
< | Меньше | int, float | \['price', '<', 1000\] |
> | Больше | int, float | \['age', '>', 18\] |
<= | Меньше или равно | int, float | \['quantity', '<=', 50\] |
>= | Больше или равно | int, float | \['rating', '>=', 4.5\] |
<> или != | Не равно | string, int | \['status', '<>', 'closed'\] |
like | Соответствует шаблону | string | \['name', 'like', '%John%'\] |
not like | Не соответствует шаблону | string | \['email', 'not like', '%@spam.com'\] |
ilike | Соответствует шаблону (без учета регистра) | string | \['title', 'ilike', '%book%'\] |
IN | Содержится в списке | array | \['id', 'IN', \[1, 2, 3\]\] |
NOT IN | Не содержится в списке | array | \['status', 'NOT IN', \['closed', 'deleted'\]\] |
is | Равно (для null) | null | \['manager\_id', 'is', null\] |
is not | Не равно (для null) | null | \['end\_date', 'is not', null\] |
regexp | Соответствует регулярному выражению | string | \['phone', 'regexp', '^\\\\+7'\] |
not regexp | Не соответствует регулярному выражению | string | \['username', 'not regexp', '\[0-9\]'\] |