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

Справочник всех функций

Получение данных бота

Метод Описание
bot.getData(string $key): mixed|null

Возвращает данные текущего бота по ключу

Возможные ключи: 

Работа с лидами

Методы bot

Метод Описание
bot.findLeads($columns = [], $where = [], $orderBy = [], int|null $limit = null, int|null $offset = null): array Находит лиды по указанным атрибутам

Методы lead

Метод Описание
lead.getData(string $key): mixed|null

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

Возможные ключи: 

  • id - id лида;
  • identification - внешний id лида;
  • manager_id - id менеджера привязанного к лиду;
  • bot_id - id бота лида;
  • channel_id - id канала лида;
  • status_id - id статуса лида;
  • extra - ???
  • is_mute - включен ли бот для лида;
  • все системные поля лида (по английски).

lead.issetData(string $key): bool

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

Возможные ключи: 

  • id - id лида;
  • identification - внешний id лида;
  • manager_id - id менеджера привязанного к лиду;
  • bot_id - id бота лида;
  • channel_id - id канала лида;
  • status_id - id статуса лида;
  • extra - ???
  • is_mute - включен ли бот для лида;
  • все системные поля лида (по английски).

lead.isDataExist(string $key): bool

lead.getSerialNumber(): int|null Возвращает порядковый номер лида в текущем боте
lead.getChannelCode(): string Возвращает код канала лида
lead.isInlineButtonsAvailable(): bool|null Проверяет включены ли инлайн кнопки lead.isInlineButtonsAvailableGeneralChannelSetting(): bool|null Возвращает настройки кнопок канала

Работа со скриптами

 Метод  Описание
bot.scheduleScript(int|null $scriptId, int|null $leadId, int|null $ticketId = null, $jobParams = []): bool Планирует вызов скрипта
bot.scheduleScriptByCode(string $scriptCode, int|null $leadId, int|null $ticketId = null, $jobParams = []): bool Планирует вызов скрипта по коду bot.getScriptIdByName(string|null $scriptName): int|null Возвращает ID скрипта по наименованию bot.getScriptIdByCode(string|null $scriptCode): int|null Возвращает ID скрипта по коду bot.getScriptCodeById(string|null $scriptId): int|null Возвращает код скрипта по ID bot.runScriptForLead(int|null?int $scriptId, int|null?int $leadId, int|null?int $ticketId = null, $addToQueue = true, $jobParams = []): bool Запускает скрипт для лида по ID скрипта bot.runScriptByNameForLead(string|null $scriptName, int|null $leadId, int|null $ticketId = null, $addToQueue = true, $jobParams = []): bool Запускает скрипт для лида по наименованию скрипта bot.runScriptForPerson(int|null $scriptId, int|null $personId, int|null $ticketId = null, $addToQueue = true, $jobParams = []): bool

Запускает скрипт для персоны по ID скрипта bot.runScriptByNameForPerson(string|null $scriptName, int|null $personId, int|null $ticketId = null, $addToQueue = true, $jobParams = []): bool Запускает скрипт для персоны по наименованию скрипта bot.runScriptByCodeForLead(string|null $scriptCode, int|null $leadId, int |null$ticketId = null, $addToQueue = true, $jobParams = []): bool Запускает скрипт для лида по коду bot.runScriptByCodeForPerson(string|null $scriptCode, int|null $personId, int|null $ticketId = null, $addToQueue = true, $jobParams = []): bool Запускает скрипт для персоны по коду bot.clearJobsByScriptId(int|null $scriptId, int|null $leadId = null): bool   ЗапускаетОчищает джобы по id скрипта bot.clearJobsByScriptName(string|null $scriptName, int|null $leadId = null): bool Очищает джобы по наименованию скрипта bot.clearJobsByScriptCode(string|null $scriptCode, int|null $leadId = null): bool Очищает джобы по коду скрипта

Работа с атрибутами

Методы bot

Метод Описание
bot.setAttr(string $key, string $value): self Устанавливает значение переменной бота
bot.setAllAttr(array $data): self
bot.getAttr(string $key): mixed|null Возвращает значение переменной бота bot.getAllAttr(): array Возвращает массив всех переменных бота bot.getIntAttr(string $key, ?int|null $default = 0): int|null
bot.getFloatAttr(string $key, ?float|null $default = 0.0): float|null
bot.getBoolAttr(string $key, ?bool|null $default = false): bool|null
bot.issetAttr(string $key): bool Проверяет наличие переменной бота
bot.isAttrExist(string $key): bool bot.setAllJsonAttrs(array $data): self
bot.getAllJsonAttrs(): array
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

bot.setAllLiveTexAttrs(string $value): self


bot.setLiveTexAttr(string $key,string $value): self


bot.getAllLiveTexAttrs(): array


bot.getLiveTexAttr(string $key): mixed|null


Методы lead

Метод Описание
lead.setAttr(string $key, string $value): self Устанавливает значение переменной лида
lead.setAllAttr(array $data): self

lead.getAttr(string $key): string|null Возвращает значение переменной лида lead.getAllAttr(): array Возвращает все переменные лида lead.getIntAttr(string $key, ?int|null $default = 0): int|null
lead.getFloatAttr(string $key, ?float|null $default = 0.0): float|null
lead.getBoolAttr(string $key, ?bool|null $default = false): bool|null
lead.issetAttr(string $key): bool Проверяет наличие переменной лида
lead.isAttrExist(string $key): bool lead.deleteAttrs(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false): self Удаляет переменную/переменные лида
lead.deleteAttr(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false): self lead.forceDeleteAttrs(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false): self Принудительно удаляет переменную/переменные лида из БД
lead.forceDeleteAttr(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false): self lead.setAllJsonAttrs(array $data): self
lead.getAllJsonAttrs(): array
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 Удаляет json-переменную/json-переменные лида

lead.deleteJsonAttr(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false): self lead.forceDeleteJsonAttrs(string|object|array|null $attrs, int|null $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false): self Принудительно удаляет json-переменную/json-переменные лида из БД

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

lead.setAllLiveTexAttrs(string $value): self


lead.setLiveTexAttr(string $key,string $value): self


lead.getAllLiveTexAttrs(): array


lead.getLiveTexAttr(string $key): mixed|null


Методы memory

Метод Описание
memory.setAttr(string $key, string $value): self Устанавливает значение временной переменной
memory.getAttr(string $key): string|null Возвращает значение временной  переменной
memory.getIntAttr(string $key, ?int|null $default = 0): int|null

memory.getFloatAttr(string $key, ?float|null $default = 0.0): float|null
memory.getBoolAttr(string $key, ?bool|null $default = false): bool|null
memory.issetAttr(string $key): bool Проверяет наличие временной  переменной
memory.isAttrExist(string $key): bool memory.setAllJsonAttrs(array $data): self
memory.getAllJsonAttrs(): array
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

memory.setAllLiveTexAttrs(string $value): self


memory.setLiveTexAttr(string $key,string $value): self


memory.getAllLiveTexAttrs(): array


memory.getLiveTexAttr(string $key): mixed|null


Работа с триггерами

Метод Описание
bot.scheduleTrigger(int|null $triggerId, int|null $leadId, int|null $ticketId = null, $jobParams = []): bool Планирует запуск триггера
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

Запускает триггер для лида по ID триггера bot.runTriggerByCodeForLead(string|null $triggerCode, int|null $leadId, int|null $ticketId = null, $addToQueue = true, $jobParams = []): bool Планирует запуск триггера по коду bot.runTriggerByCodeForPerson(string|null $triggerCode, int|null $personId, int|null $ticketId = null, $addToQueue = true, $jobParams = []): bool Планирует запуск триггера по коду для последнего лида персоны bot.clearTriggerJobsForLead(int|null $leadId, int|null $ticketId = null): bool Удаляет триггеры для лида

bot.clearTriggerJobsForAllPersonLeads(int|null $personId, int|null $ticketId = null): bool

Удаляет триггеры для всех лидов персоны

bot.getTriggerIdByName(string|null $triggerName): int|null

Возвращает ID триггера по наименованию

bot.getTriggerIdByCode(string|null $triggerCode): int|null

Возвращает ID Триггера по Коду

bot.runTriggerForLead(int|null $triggerId, int|null $leadId, int|null $ticketId = null, $addToQueue = true, $jobParams = []): bool

Запускает триггер для лида по ID триггера

bot.runTriggerByNameForLead(string|null $triggerName, int|null $leadId, int|null $ticketId = null, $addToQueue = true, $jobParams = []): bool

Запускает триггер для лида по наименованию

bot.runTriggerForPerson(int|null $triggerId, int|null $personId, int|null $ticketId = null, $addToQueue = true, $jobParams = []): bool

Запускает триггер для персоны по ID

bot.runTriggerByNameForPerson(string|null $triggerName, int|null $personId, int|null $ticketId = null, $addToQueue = true, $jobParams = []): bool

Запускает триггер для персоны по наименованию

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

Очищает джобы по id триггера

bot.clearTriggerJobsByCode(string|null $triggerCode, int|null $leadId = null): bool

Очищает джобы по коду триггера

bot.clearTriggerJobsByCodeForAllPersonLeads(string|null $triggerCode, int|null $personId): bool

Удаляет триггеры для всех лидов персоны по коду

bot.clearTriggerJobsByName(string|null $triggerName, int|null $leadId = null): bool

Очищает джобы по наименованию триггера

bot.clearTriggerJobsByScriptCode(string|null $scriptCode, int|null $leadId = null, int|null $ticketId = null): bool

Очищает джобы по коду скрипта

bot.clearTriggerJobsByIdForTicket(int|null $triggerId, int|null $ticketId): bool

Очищает джобы по id триггера и ID заявки

bot.clearTriggerJobsByNameForTicket(string|null $triggerName, int|null $ticketId): bool

Очищает джобы по наименованию триггера и ID заявки

bot.clearTriggerJobsByCodeForTicket(string|null $triggerCode, int|null $ticketId): bool

Очищает джобы по коду триггера и ID заявки

Работа со статусами

Метод Описание
lead.isInStatus(string $statusName): bool Проверяет существует ли статуса у лида
lead.getStatusId(): int|null Возвращает id статуса лида
lead.getAllStatuses(): array
lead.getAllStatusesIndexedByName(): array
lead.setStatusId(int $statusId, string $name): self
lead.setStatusName(string $name): self
lead.getStatusName(): string
lead.setStatus(int $statusId, string $name): self
lead.setStatusById(int $statusId): self
lead.issetStatusById(string $id): bool
lead.issetStatusByName(string $name): bool
lead.getStatusIdByName(string $statusName): int
lead.setStatusByName(string $statusName): self

Работа с рассылками 

Метод Описание
bot.scheduleBroadcast(int|null $broadcastId, int|null $ticketId = null, $jobParams = []): bool Планирует запуск рассылки
bot.scheduleBroadcastByCode(string|null $broadcastCode, int|null $ticketId = null, $jobParams = []): bool Планирует запуск рассылки по коду
bot.getBroadcastIdByCode(string|null $broadcastCode): int|null Возвращает ID рассылки по коду

Работа с тэгами

Метод Описание
lead.isTagExist('some_tag'): bool Проверяет наличие тэга лида

lead.issetTag('some_tag'): bool
lead.setTag(string $key, $value): self

lead.getTag(string $key): string|null Возвращает значение тэга лида lead.setAllTags(array $data): self
lead.getAllTags(): array Возвращает массив всех тэгов лида lead.addTags(string|object|array|null $tags, int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false): self Добавляет тэги лиду
lead.addTag(string|object|array|null $tags, int|null $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false): self lead.deleteTags(string|object|array|null $tags, int|null $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false): self Удаляет тэги лида
lead.deleteTag(string|object|array|null $tags, int|null $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false): self lead.forceDeleteTags(string|object|array|null $tags, int|null $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false): self Принудительно удаляет тэги лида из БД

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

Работа с контекстами

Метод Описание
lead.setAllContexts(array $data): self
lead.setContext(string $key, $value): self
lead.isContextExist('some_tag'): bool Проверяет наличие контекста лида

lead.issetContext('some_tag'): bool lead.getContext(string $key): string|null Возвращает значение контекста лида lead.getAllContexts(): array Возвращает массив всех контекстов лида

Работа с переключением на оператора

Методы bot

Метод Описание
bot.getForwardEventType(): bool

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

bot.isForwardedToOperator(): bool

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

Методы lead

Метод Описание
lead.setForwarded(bool|int $state): self

Переключает бот на оператора

Работа с заявками

Методы bot

Метод Описание
bot.createTicket($data): int|null Создает заявку
bot.updateTicketById(int $ticketId, $data): bool Обновляет заявку
bot.getMaxRejectsTicketCount(): int|null Возвращает максимальное количество отказов
bot.findTickets($where = [], bool $findInAllBusinessBots = false, $orderBy = [], int|null $limit = null, int|null $offset = null): array Находит заявку по заданным атрибутам
bot.findTicketIdByCustomField(string $fieldName, $value): int|null

Возвращает id заявки по значению поля

bot.getTicketTypeIdByName(string $typeName): int|null Возвращает id заявки по наименованию вида заявки
bot.getTicketTypeNameById(int|null $ticketTypeId): string|null Возвращает наименование заявки по id вида заявки bot.getTicketStatusIdByName(string $statusName): int|null Возвращает id заявки по наименованию статуса заявки bot.setCurrentTicketById(int|null $ticketId): bool Устанавливает указанную заявку как текущую bot.clearTicketAssignedPersonsLog(): bool Очищает лог назначения тикета персонам bot.findLeads(array|object $columns = [], array|object $where = [], array|object $orderBy = [], int|null $limit = null, int|null $offset = null): array Находит лида по заданным атрибутам

Методы ticket

Метод Описание

ticket.update($data): bool

Обновляет заявку, через объект заявки

ticket.setAllData(array $data): self


ticket.getAllData(): array


ticket.setData(string $key, $value): self


ticket.getData(string $key): mixed|null

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

В качестве ключа можно указать:

 
  • id - id заявки;
  • business_id - id бизнеса;
  • bot_id - id бота;
  • author_person_id - id автора заявки;
  • client_person_id - id клиента заявки;
  • assigned_person_id - id исполнителя заявки;
  • ticket_type_id - id вида заявки, виды заявки создаются вручную;
  • payment_type_id - id способа оплаты. Доступные значения:
    • 0 - PAYMENT_TYPE_NONE;
    • 1 - PAYMENT_TYPE_ROBOKASSA;
    • 2 - PAYMENT_TYPE_YANDEXKASSA;
    • 3 - PAYMENT_TYPE_CASH;
  • status_id - id статуса заявки;
  • title - заголовок заявки;
  • description - описание заявки;
  • created_at - время создания заявки;
  • updated_at - время обновления заявки;
  • deleted_at - время удаления заявки;
  • все системные поля заявки (по английски).

ticket.getCustomData(string $key): mixed|null

Считывает произвольные поля заявки по ключу

В качестве ключа можно указать:

 
  • названия всех произвольных полей заявки;
  • id - id заявки;
  • business_id - id бизнеса;
  • bot_id - id бота;
  • author_person_id - id автора заявки;
  • client_person_id - id клиента заявки;
  • assigned_person_id - id исполнителя заявки;
  • ticket_type_id - id вида заявки, виды заявки создаются вручную;
  • payment_type_id - id способа оплаты. Доступные значения:
    • 0 - PAYMENT_TYPE_NONE;
    • 1 - PAYMENT_TYPE_ROBOKASSA;
    • 2 - PAYMENT_TYPE_YANDEXKASSA;
    • 3 - PAYMENT_TYPE_CASH;
  • status_id - id статуса заявки;
  • title - заголовок заявки;
  • description - описание заявки;
  • created_at - время создания заявки;
  • updated_at - время обновления заявки;
  • deleted_at - время удаления заявки;
  • все системные поля заявки (по английски).

ticket.issetData(string $key): bool

Проверяет наличие данных по заявке по ключу

В качестве ключа можно указать:

 
  • id - id заявки;
  • business_id - id бизнеса;
  • bot_id - id бота;
  • author_person_id - id автора заявки;
  • client_person_id - id клиента заявки;
  • assigned_person_id - id исполнителя заявки;
  • ticket_type_id - id вида заявки, виды заявки создаются вручную;
  • payment_type_id - id способа оплаты. Доступные значения:
    • 0 - PAYMENT_TYPE_NONE;
    • 1 - PAYMENT_TYPE_ROBOKASSA;
    • 2 - PAYMENT_TYPE_YANDEXKASSA;
    • 3 - PAYMENT_TYPE_CASH;
  • status_id - id статуса заявки;
  • title - заголовок заявки;
  • description - описание заявки;
  • created_at - время создания заявки;
  • updated_at - время обновления заявки;
  • deleted_at - время удаления заявки;
  • все системные поля заявки (по английски).

ticket.isDataExist(string $key): bool

ticket.reloadCustomData(bool $isReloadModel = false): bool

Перезагружает кастомные данные

ticket.loadCustomDataIfNotLoaded(bool $isReloadModel = false): bool


ticket.setAllCustomData(array $customData): self

Переопределяет список кастомных полей

ticket.getAllCustomData(): array

Возвращает список кастомных полей

ticket.setCustomData(string $key, $value): self

Устанавливает значение кастомного поля

В качестве ключа можно указать:

 
  • названия всех произвольных полей заявки;
  • id - id заявки;
  • business_id - id бизнеса;
  • bot_id - id бота;
  • author_person_id - id автора заявки;
  • client_person_id - id клиента заявки;
  • assigned_person_id - id исполнителя заявки;
  • ticket_type_id - id вида заявки, виды заявки создаются вручную;
  • payment_type_id - id способа оплаты. Доступные значения:
    • 0 - PAYMENT_TYPE_NONE;
    • 1 - PAYMENT_TYPE_ROBOKASSA;
    • 2 - PAYMENT_TYPE_YANDEXKASSA;
    • 3 - PAYMENT_TYPE_CASH;
  • status_id - id статуса заявки;
  • title - заголовок заявки;
  • description - описание заявки;
  • created_at - время создания заявки;
  • updated_at - время обновления заявки;
  • deleted_at - время удаления заявки;
  • все системные поля заявки (по английски).

ticket.issetCustomData(string $key): bool

Проверяет имеет ли значение кастомное поле

В качестве ключа можно указать:

 
  • названия всех произвольных полей заявки;
  • id - id заявки;
  • business_id - id бизнеса;
  • bot_id - id бота;
  • author_person_id - id автора заявки;
  • client_person_id - id клиента заявки;
  • assigned_person_id - id исполнителя заявки;
  • ticket_type_id - id вида заявки, виды заявки создаются вручную;
  • payment_type_id - id способа оплаты. Доступные значения:
    • 0 - PAYMENT_TYPE_NONE;
    • 1 - PAYMENT_TYPE_ROBOKASSA;
    • 2 - PAYMENT_TYPE_YANDEXKASSA;
    • 3 - PAYMENT_TYPE_CASH;
  • status_id - id статуса заявки;
  • title - заголовок заявки;
  • description - описание заявки;
  • created_at - время создания заявки;
  • updated_at - время обновления заявки;
  • deleted_at - время удаления заявки;
  • все системные поля заявки (по английски).

ticket.isCustomDataExist(string $key): bool

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

В качестве ключа можно указать:

 
  • названия всех произвольных полей заявки;
  • id - id заявки;
  • business_id - id бизнеса;
  • bot_id - id бота;
  • author_person_id - id автора заявки;
  • client_person_id - id клиента заявки;
  • assigned_person_id - id исполнителя заявки;
  • ticket_type_id - id вида заявки, виды заявки создаются вручную;
  • payment_type_id - id способа оплаты. Доступные значения:
    • 0 - PAYMENT_TYPE_NONE;
    • 1 - PAYMENT_TYPE_ROBOKASSA;
    • 2 - PAYMENT_TYPE_YANDEXKASSA;
    • 3 - PAYMENT_TYPE_CASH;
  • status_id - id статуса заявки;
  • title - заголовок заявки;
  • description - описание заявки;
  • created_at - время создания заявки;
  • updated_at - время обновления заявки;
  • deleted_at - время удаления заявки;
  • все системные поля заявки (по английски).

ticket.getTicketTypeName(): string|null

Возвращает название типа заявки

ticket.getStatusId(): int|null

Возвращает ID статуса заявки


ticket.getAttr('status_id'): int|null

ticket.getStatusName(): string|null

Возвращает название статуса заявки

ticket.getStatusType(): string|null

Возвращает тип статуса заявки

ticket._sanitizeString($string): string

Приводит название статуса к стандартному виду

ticket.isInStatus($statusName): bool

Проверяет статус заявки

ticket.setStatusId(int|null $statusId, int|null $personQueueIdForLog = null, string|null $personQueueTableForLog = null): bool

Устанавливает статус заявки по id

ticket.setStatusByName(string $statusName, int|null $personQueueIdForLog = null, string|null $personQueueTableForLog = null): bool

Устанавливает статус заявки по имени

ticket.reloadTicket(): bool

Загружает заявку повторно

ticket.getAuthorPersonId(): int|null

Возвращает ID автора заявки

ticket.getAssignedPersonId(): int|null

Возвращает ID исполнителя заявки

ticket.getClientPersonId(): int|null

Возвращает ID клиента заявки

ticket.getAuthorPersonFullName(): string

Возвращает ФИО автора заявки

ticket.getAssignedPersonFullName(): string

Возвращает ФИО исполнителя заявки

ticket.getClientPersonFullName(): string

Возвращает ФИО клиента заявки

ticket.getAuthorPersonRoleId(): int|null

Возвращает ID роли автора заявки

ticket.getAssignedPersonRoleId(): int|null

Возвращает ID роли исполнителя заявки

ticket.getClientPersonRoleId(): int|null

Возвращает ID роли клиента заявки

ticket.getAuthorPersonRoleName(): string

Возвращает имя роли автора заявки

ticket.getAssignedPersonRoleName(): string

Возвращает имя роли исполнителя заявки

ticket.getClientPersonRoleName(): string

Возвращает имя роли клиента заявки

ticket.getAuthorPersonRoleTitle(): string

Возвращает заголовок роли автора заявки

ticket.getAssignedPersonRoleTitle(): string

Возвращает заголовок роли исполнителя заявки

ticket.getClientPersonRoleTitle(): string

Возвращает заголовок роли клиента заявки

ticket.getAuthorPersonRoleFormattedTitle(): string

Возвращает форматированное название роли автора заявки

ticket.getAssignedPersonRoleFormattedTitle(): string

Возвращает форматированное название роли исполнителя заявки

ticket.getClientPersonRoleFormattedTitle(): string

Возвращает форматированное название роли клиента заявки

ticket.getPerson1Id(): int|null

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

ticket.getPerson2Id(): int|null

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

ticket.getPerson3Id(): int|null

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

ticket.setPerson1Id(int|null $personId): bool

Устанавливает id первой дополнительной персоны

ticket.setPerson2Id(int|null $personId): bool

Устанавливает id второй дополнительной персоны

ticket.setPerson3Id(int|null $personId): bool

Устанавливает id третьей дополнительной персоны

ticket.getTotalFormatted(): string


ticket.getSubtotalFormatted(): string


ticket.getTotalFeeFormatted(): string


ticket.getDeliveryFeeFormatted(): string


Методы ScriptTicketLine

Метод Описание ScriptTicketLine.reload(): bool Обновить данные по строке заявки из бд ScriptTicketLine.getId(): int|null
ScriptTicketLine.getTicketId(): int|null
ScriptTicketLine.getProductId(): int|null
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.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

Метод Описание ScriptProduct.reload(): bool  Обновить данные по продукту из бд ScriptProduct.getId(): int|null
ScriptProduct.getTitle(): string|null
ScriptProduct.getCode(): string|null
ScriptProduct.getPrice(): float|null
ScriptProduct.getMainCategoryId(): int|null
ScriptProduct.getIsEnabled(): bool|null
ScriptProduct.getIsAvailableInStock(): bool|null
ScriptProduct.getUrl(): string|null
ScriptProduct.getThumbUrl(): string|null
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

Метод Описание ticketStatus.reload(): bool Перезагружает статус в БД ticketStatus.getId(): int
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

Метод Описание
ticketStatuses.reload(): bool Перезагружает все статусы из БД
ticketStatuses.getCollection(): Collection|null Возвращает Laravel Collection
ticketStatuses.find(array|object|null $where, bool $isReturnCollection = false): ScriptTicketStatus|null Возвращает статусы заявок
ticketStatuses.findById(string|int|null $id): ScriptTicketStatus|null Возвращает статус по ID
ticketStatuses.findByName(string $name): ScriptTicketStatus|null Возвращает статус по имени
ticketStatuses.findAllByNames(string|array|object|null $names, string $operator = '=', bool $isReturnCollection = false): Collection|null Возвращает статусы по имени
ticketStatuses.findAllByTypes(string|array|object|null $types, string $operator = '=', bool $isReturnCollection = false): Collection|null Возвращает статусы по типу статуса

Работа с персонами

Методы bot

Метод Описание
bot.createPerson($data): int|null Создает персону
bot.findPersons($where = [], $orderBy = [], int|null $limit = null, int|null $offset = null, bool $isLogErrorIfManyPersonsFound = false): array Возвращает данные персон соответствующих атрибутам
bot.updatePersonById(int $personId, $data): bool

Обновляет персону по id

bot.deletePersonById(int $personId): bool

Удаляет персону по id

bot.getDefaultPersonRoleId(): int|null

Возвращает id персоны по умолчанию

Методы lead

Метод Описание
lead.getPersonId(): int|null Возвращает id персоны
lead.setPersonId(int|null $personId): bool Привязывает персону к лиду
lead.createPersonForCurrentLead($data): int|null

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

Методы person

Метод Описание
person.update($data): bool

Обновляет данные персоны

person.delete(): bool

Удаляет персону

person.getAllData(): array

Возвращает все поля персоны

person.setData(string $key, $value): self

Устанавливает поле персоны по ключу

В качестве ключа можно указать:

 
  • id - id персоны;
  • business_id - id бизнеса;
  • bot_id - id бота;
  • person_role_id - id роли;
  • is_external - значение поля Сотрудник/Клиент;
  • user_id - id пользователя;
  • firstname - имя;
  • lastname - фамилия;
  • middlename - отчество;
  • email - адрес электронной почты;
  • phone - номер телефона;
  • organization_name - название организации;
  • organization_address - адрес организации;
  • comment - комментарий;
  • created_at - дата создания;
  • updated_at - дата последнего редактирования;
  • deleted_at - дата удаления;
  • все системные поля персоны (по английски).
person.getData(string $key)

Возвращает значение данных персоны

В качестве ключа можно указать:

 
  • id - id персоны;
  • business_id - id бизнеса;
  • bot_id - id бота;
  • person_role_id - id роли;
  • is_external - значение поля Сотрудник/Клиент;
  • user_id - id пользователя;
  • firstname - имя;
  • lastname - фамилия;
  • middlename - отчество;
  • email - адрес электронной почты;
  • phone - номер телефона;
  • organization_name - название организации;
  • organization_address - адрес организации;
  • comment - комментарий;
  • created_at - дата создания;
  • updated_at - дата последнего редактирования;
  • deleted_at - дата удаления;
  • все системные поля персоны (по английски).
person.issetData(string $key): bool

Проверяет наличие данных по персоне

В качестве ключа можно указать:

 
  • id - id персоны;
  • business_id - id бизнеса;
  • bot_id - id бота;
  • person_role_id - id роли;
  • is_external - значение поля Сотрудник/Клиент;
  • user_id - id пользователя;
  • firstname - имя;
  • lastname - фамилия;
  • middlename - отчество;
  • email - адрес электронной почты;
  • phone - номер телефона;
  • organization_name - название организации;
  • organization_address - адрес организации;
  • comment - комментарий;
  • created_at - дата создания;
  • updated_at - дата последнего редактирования;
  • deleted_at - дата удаления;
  • все системные поля персоны (по английски).

person.isDataExist(string $key): bool
person.getLeads(bool $isFindInAllBusinessBots = false): array


person.getId(): int|null

Возвращает ID персоны

person.getFullName(): string

Возвращает полное имя персоны



person.getFIO(): string

person.getRoleId(): int|null

Возвращает ID роли персоны

person.getRoleName(): string

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

person.getRoleTitle(): string

Возвращает заголовок роли персоны

person.getRoleFormattedTitle(): string

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

person.getPhone(): string|null

Возвращает номер телефона персоны

person.setPhone(string|null $phone): bool

Устанавливает номер телефона персоны

person.getEmail(): string|null

Возвращает почту персоны

Работа с очередями исполнителей

Методы ticket

Метод Описание
ticket.assignToNextQueuePerson(int $queueMode = 1, int|null $personQueueId = null, string|null $personQueueTable = null, int|null $currentAssignAttempt = null, bool $isIncRejectsCount = true, bool $isMoveToEndIfRejectsExceed = true): bool Назначает заявку следующему исполнителю
ticket.moveAssignedPersonToEndOfQueue(int $queueMode = 1, int|null $personQueueId = null, string|null $personQueueTable = null, bool $isResetRejectsCount = true): bool Переносит исполнителя в конец очереди

ticket.assignToPersonById(int|null $personId, int|null $personQueueIdForLog = null, string|null $personQueueTableForLog = null, int|null $assignAttemptForLog = null): bool

Назначает исполнителя заявки

ticket.assignToNextPersonAndMoveToEnd(): bool

Назначает заявку следующему исполнителю и переносит его в конец очереди

ticket.getAssignedPersonRejectsCount(int $personQueueId = null, string|null $personQueueTable = null): int|null

Возвращает количество отказов от заявок

ticket.setAssignedPersonRejectsCount(int $rejectsCount, int|null $personQueueId = null, string|null $personQueueTable = null): bool

Устанавливает количество отказов от заявок

ticket.incAssignedPersonRejectsCount(int|null $personQueueId = null, string|null $personQueueTable = null): bool

Увеличивает количество отказов от заявок

Методы person

Метод Описание
person.addToQueue(int|null $personQueueId = null, string|null $personQueueTable = null, int|null $ticketTypeId = null, bool $isActive = true, int $rejectsCount = 0): int|null Добавляет персону в очередь
person.removeFromQueue(int|null $personQueueId = null, string|null $personQueueTable = null, int|null $ticketTypeId = null): bool Удаляет персону из очереди
person.moveToEndOfQueue(int $queueMode = 1, int|null $personQueueId = null, string|null $personQueueTable = null, int|null $ticketTypeId = null, bool $isResetRejectsCount = true): bool Перемещает персону в конец очереди
person.setIsActiveInQueue(bool $isActive = true): bool Активирует/деактивирует персону в очереди

Методы personQueue

Метод Описание personQueue.getId(): int
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

Метод Описание
personQueues.find($where, bool $isReturnCollection = false): ScriptPersonQueue[]|Collection Возвращает очередь исполнителей
personQueues.findById(string|int|null $id): ScriptPersonQueue|null
Возвращает очередь исполнителей по id
personQueues.findAllByTitlesfindByName(string|array|object|nullstring $titles,name, bool $isEnabled = null): ScriptPersonQueue|null
Возвращает очередь исполнителей по наименованию personQueues.findAllByNames($names, bool $isEnabled = null, string $findTitleOperatorfindNameOperator = 'IN', bool $isReturnCollection = false): ScriptPersonQueue[]|Collection
Возвращает очереди исполнителей по заголовкунаименованию personQueues.findByCode(string $code, bool $isEnabled = null, string $findCodeOperator = '='): ScriptPersonQueue|null
Возвращает очередь исполнителей по коду personQueues.findAllByCodes($codes, bool $isEnabled = null, string $findCodeOperator = 'IN', bool $isReturnCollection = false): ScriptPersonQueue[]|Collection
Возвращает очереди исполнителей по коду personQueues.reload(): bool Обновляет очередь исполнителей personQueues.getCollection(): Collection|null Возвращает коллекцию очередей

Работа с интеграциями NLP

Методы bot

Метод Описание
bot.getIntegrationIdByCode(string|null $integrationCode): int|null
Возвращает id интеграции бота по коду
bot.getEnabledIntegrationIdByCode(string|null $integrationCode): int|null Возвращает id включенной интеграции бота по коду
bot.isEnabledIntegrationById(int|null $integrationId): bool
Проверяет активность интеграции по id
bot.isEnabledIntegrationByCode(string|null $integrationCode): bool
Проверяет активность интеграции по коду

Методы lead

Метод Описание
lead.setActiveNlpIntegrationByCode(string|null $integrationCode): bool Присваивает интеграцию лиду по коду
lead.setActiveNlpIntegrationById(int|null $nlpIntegrationId): bool
lead.hasActiveNlpIntegration(): bool
lead.getActiveNlpIntegrationId(): int|null
lead.getActiveNlpIntegrationCode(): string|null
lead.getActiveOrFirstNlpIntegrationId(): int|null
lead.getActiveOrFirstNlpIntegrationCode(): string|null

Работа с интеграциями

Методы lead

Метод Описание lead.getForwardEventTypeForFB(): string|null
Возвращает тип события для ФБ

Работа с кастомными таблицами

Методы table

Метод Описание
table.createItem(string $tableName, array|object $data): ScriptCustomTableItem Создает запись в таблице

table.find(string $tableName, array|object $columns = [], array|object $where = [], array|object $orderBy = [], int|null $limit = null, int|null $offset = null): array

Ищет запись в таблице

table.count(string $tableName, array|object $where = []): int 

Подсчитывает количество записей
table.sum(string $tableName, string $column, array|object $where = []): int

Подсчитывает сумму значений по полю

table.max(string $tableName, string $column, array|object $where = []): mixed|null

Ищет максимальное значение по полю

Методы item

За объект item принимаем запись кастомной таблицы полученную с помощью table.createItem или table.find.

Метод Описание
item.update(array|object $data): bool

Обновляет записи в таблице

item.delete(): bool

Удаляет записи из таблицы

item.getDateFormatted(string $fieldName, string $format = 'Y-m-d H:i:s', string|null $timeZone = null): string|null

Возвращает форматированную дату по названию поля

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

Возвращает форматированную дату из произвольной строки

item.reload(): bool

Перезагружает данные записи из БД

Работа с блокировками

Метод Описание
bot.getLockNameForBot(string $lockName, string $lockPrefix = ''): string Генерирует имя блокировки по боту
bot.getLockNameForBusiness(string $lockName, string $lockPrefix = ''): string Генерирует имя блокировки по бизнесу
bot.waitForBusinessLock(string $lockName, string $lockPrefix = '', int|null $ttlSec = null, $maxWaitSec = 300): bool Захватывает блокировку по бизнесу
bot.waitForBotLock(string $lockName, string $lockPrefix = '', int|null $ttlSec = null, $maxWaitSec = 300): bool Захватывает блокировку по боту
bot.releaseAllCurrentLocks(): bool Освобождает все блокировки захваченные в текущем скрипте
bot.releaseCurrentLockForBusiness(string $lockName, string $lockPrefix = ''): bool Освобождает блокировку захваченную текущем скрипте по бизнесу
bot.releaseCurrentLockForBot(string $lockName, string $lockPrefix = ''): bool Освобождает блокировку захваченную в текущем скрипте по боту
bot.releaseLockForBusiness(string $lockName, string $lockPrefix = ''): bool Освобождает блокировку по бизнесу
bot.releaseLockForBot(string $lockName, string $lockPrefix = ''): bool Освобождает блокировку по боту
bot.hasLockForBusiness(string $lockName, string $lockPrefix = '', $checkValue = null): bool Проверяет существование блокировки по бизнесу
bot.hasLockForBot(string $lockName, string $lockPrefix = '', $checkValue = null): bool Проверяет существование блокировки по боту

Работа с контакт-центром

Методы bot

Метод Описание
bot.getForwardEventType(): string|null

Возвращает строку "forwarded_by_operator" если действие выполнено оператором или null для контакт-центра

bot.canAutoForward(): bool

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

Методы lead

Метод Описание
lead.canAutoForward(): bool

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

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

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

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

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

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

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

Работа с API

Методы bot

Метод Описание
bot.scheduleJob($jobParams = []): bool

Планирует любую задачу

Методы lead

Метод Описание
lead.getLastRequest(): ScriptRequest|null

Возвращает объект с параметрами последнего реквеста

lead.getLang(): string|null


lead.setLang(string|null $langCode): string|null


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


Методы request

За объект request принимаем объект с параметрами последнего реквеста полученный с помощью lead.getLastRequest.

Метод Описание
request.json

Доступ к json параметрам в виде javascript json-обьекта

request.asJson(): ScriptRequest|null
request.array Доступ к json параметрам в виде javascript json-обьекта
request.asArray(): array
request.string Входящие параметры в виде json обьекта
request.asString(): string

Методы last_request

За объект last_request принимаем объект с параметрами последнего реквеста полученный с помощью lead.getLastRequest.

Метод Описание
last_request.json

Доступ к последнему реквесту в виде javascript json-обьекта

last_request.asJson(): ScriptRequest|null
last_request.array Доступ к последнему реквесту в виде массива
last_request.asArray(): array
last_request.string Доступ к последнему реквесту в виде json обьекта
last_request.asString(): string

Методы api

Метод Описание
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

Выполняет HTTP запрос, с помощью Guzzle

api.post(string $uri, $body = [], $requestOptions = [], $headers = [], $httpClientConfig = []): string|null

Выполняет 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

Метод Описание

bot.getIncomingMessage(bool $useOutputFilter = false): string

Возвращает текст входящего сообщения или текст подписи к вложению

bot.getWebhookJobId(): int|null

Возвращает id вебхука зарегистрированного в очереди Метабот

bot.getWebhookJobRecord(): BotWebhookQueueRecord|null

Возвращает запись вебхука зарегистрированного в очереди Метабот

bot.getWebhookJob(): array

Возвращает информацию о вебхуке

bot.getWebhookPayload(): array

Возвращает payload входящего вебхука в виде массива

bot.getLastResultPayload(): array|null

Возвращает payload c данными о последнем ответе мессенджера в ввиде массива

bot.getChannelData(string|null $key = null): array|null|mixed

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

bot.disableBuffer()

Принудительное отключение буффера исходящих сообщений

bot.enableBuffer()

Принудительное включение буффера исходящих сообщений

bot.flushBuffer()

Принудительное освобождение буффера исходящих сообщений

bot.getAllAttachments(string|null $filesMimeExcludeFilter = 'image|video'): array

Возвращает вложения всех видов

bot.getFiles(string|null $mimeIncludeFilter = null, string|null $mimeExcludeFilter = 'image|video'): array

Возвращает все вложения, которые распознаны как файл

bot.getImages(string|null $mimeIncludeFilter = 'image'): array

Возвращает все изображения, а также файлы, которые распознаны как изображение

bot.getVideos(string|null $mimeIncludeFilter = 'video'): array

Возвращает все видео, а также файлы, которые распознаны как видео

bot.sendPayload(string|null $endpoint, array|object $payload): array|string|mixed

Отправляет payload в мессенджер

bot.sendText(string|null|mixed $messageText, array|object|null $apiAdditionalParams = null, bool $isDisableBuffer = true): bool

Отправляет текст в мессенджер

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

Отправляет сообщение в мессенджер, сообщение может содержать текст, кнопки меню и вложения

bot.sendButtons(string|null|mixed $messageText, array|object $buttons, array|object|null $apiAdditionalParams = null, bool $isDisableBuffer = true): bool

Отправляет кнопки с сообщением в мессенджер

bot.getTelegramFileInfoById(string|null $fileId, bool $isShowOriginalInfo = false): array|null

Возвращает информацию о файле в Telegram по его id

bot.sendTelegramAttachmentAndGetFileId(string|null $messageText, array|object|null $attachment, array|object|null $buttons = null, array|object|null $apiAdditionalParams = null): string|null

Отправляет файл в телеграм и возвращает его id

bot.editTelegramInlineKeyboard(int|string $chatId, int|string $messageId, string|null string $inlineMessageId, array|object|null $inlineKeyboardMarkup): array|null

Редактирует кнопки меню уже отправленного в Telegram сообщения


bot.removeTelegramInlineKeyboard(int|string $chatId, int|string $messageId, string|null $inlineMessageId = null): array|null

bot.getTelegramLastMessageId(): int|null

Возвращает ID последнего сообщения, отправленного в Telegram

bot.setCdnConfig(array|object|null $cdnConfig = null): bool

Устанавливает конфиг для доступа к CDN

bot.getCdnConfig(): array|null

Возвращает текущий конфиг CDN

bot.getFileInfoByUrl(string $fileUrl): array

Возвращает информацию о файле по URL

bot.downloadFileFromUrl(string $fileUrl): string|array

Скачивает файл с URL и загружает в хранилище файлов Метабот для вашего бизнеса

bot.downloadTmpFileFromUrl(string $fileUrl): string|array

Скачивает файл с URL и загружает во временное хранилище файлов Метабот для вашего бизнеса

bot.removeFile(string $fileUrl): string|null

Удаляет файл по URL из хранилища файлов Метабот для вашего бизнеса

bot.removeTmpFile(string $fileUrl): string|null

Удаляет файл по URL из временного хранилища файлов Метабот для вашего бизнеса

bot.uploadFileToCdnAndGetNewUrl(string $fileUrl, array|object|null $cdnConfig = null): array

Заливает файл на CDN и возвращает новую ссылку

bot.removeFileFromCdn(string $fileUrl, $cdnConfig = null)

Удаляет файл из CDN

Методы lead

Метод Описание

lead.getMessenger(): int

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

lead.getMessengerCode(): string

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

lead.getIdentification(): string|null

Возвращает идентификатор лида во внешней системе

lead.getIdentificationEntity(): string|null

Возвращает дополнительный идентификатор лида во внешней системе

Работа с GPT

Методы bot

Метод Описание 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

Метод Описание 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