Справочник всех функций
Получение данных бота
Метод | Описание |
bot.getData(string $key): mixed|null |
Возвращает данные текущего бота по ключу Возможные ключи: |
Работа с лидами
Методы bot
Метод | Описание |
bot.findLeads($columns = [], $where = [], $orderBy = [], ?int $limit = null, ?int $offset = null): array | Находит лиды по указанным атрибутам |
Методы lead
Метод | Описание |
lead.getData(string $key): mixed|null |
Возвращает значение данных лида по ключу Возможные ключи:
|
Проверяет наличие данных лида по ключу Возможные ключи:
|
|
lead.getSerialNumber(): int|null | Возвращает порядковый номер лида в текущем боте |
lead.getChannelCode(): string | Возвращает код канала лида |
Работа со скриптами
Работа с атрибутами
Методы bot
Метод | Описание |
bot.setAttr(string $key, string $value): self | Устанавливает значение переменной бота |
bot.getAttr(string $key): mixed|null | Возвращает значение переменной бота |
bot.getAllAttr(): array | Возвращает массив всех переменных бота |
bot.issetAttr(string $key): bool | Проверяет наличие переменной бота |
bot.isAttrExist(string $key): bool | |
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
Методы memory
Метод | Описание |
memory.setAttr(string $key, string $value): self | Устанавливает значение временной переменной |
memory.getAttr(string $key): string|null | Возвращает значение временной переменной |
memory.issetAttr(string $key): bool | Проверяет наличие временной переменной |
memory.isAttrExist(string $key): bool | |
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 |
Работа с триггерами
Работа со статусами
Метод | Описание |
lead.isInStatus(string $statusName): bool | Проверяет существует ли статуса у лида |
lead.getStatusId(): int|null | Возвращает id статуса лида |
Работа с рассылками
Метод | Описание |
bot.scheduleBroadcast(?int $broadcastId, ?int $ticketId = null, $jobParams = []): bool | Планирует запуск рассылки |
bot.scheduleBroadcastByCode(?string $broadcastCode, ?int $ticketId = null, $jobParams = []): bool | Планирует запуск рассылки по коду |
bot.getBroadcastIdByCode(?string $broadcastCode): ?int | Возвращает ID рассылки по коду |
Работа с тэгами
Работа с контекстами
Метод | Описание |
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 | Создает заявку |
bot.updateTicketById(int $ticketId, $data): bool | Обновляет заявку |
bot.getMaxRejectsTicketCount(): ?int | Возвращает максимальное количество отказов |
bot.findTickets($where = [], bool $findInAllBusinessBots = false, $orderBy = [], ?int $limit = null, ?int $offset = null): array | Находит заявку по заданным атрибутам |
bot.findTicketIdByCustomField(string $fieldName, $value): ?int |
Возвращает id заявки по значению поля |
bot.getTicketTypeIdByName(string $typeName): ?int | Возвращает id заявки по наименованию вида заявки |
bot.getTicketStatusIdByName(string $statusName): ?int | Возвращает id заявки по наименованию статуса заявки |
bot.setCurrentTicketById(?int $ticketId): bool | Устанавливает указанную заявку как текущую |
bot.clearTicketAssignedPersonsLog(): bool | Очищает лог назначения тикета персонам |
Методы ticket
Метод | Описание |
Обновляет заявку, через объект заявки | |
Возвращает значение данных заявки по ключу В качестве ключа можно указать:
|
|
Считывает произвольные поля заявки по ключу В качестве ключа можно указать:
|
|
Проверяет наличие данных по заявке по ключу В качестве ключа можно указать:
|
|
Перезагружает кастомные данные | |
Переопределяет список кастомных полей | |
Возвращает список кастомных полей | |
Устанавливает значение кастомного поля В качестве ключа можно указать:
|
|
Проверяет имеет ли значение кастомное поле В качестве ключа можно указать:
|
|
Проверяет существует ли кастомное поле В качестве ключа можно указать:
|
|
Возвращает название типа заявки | |
Возвращает ID статуса заявки |
|
Возвращает название статуса заявки |
|
Возвращает тип статуса заявки |
|
Приводит название статуса к стандартному виду |
|
Проверяет статус заявки |
|
Устанавливает статус заявки по id |
|
Устанавливает статус заявки по имени |
|
Загружает заявку повторно |
|
Возвращает ID автора заявки |
|
Возвращает ID исполнителя заявки |
|
Возвращает ID клиента заявки |
|
Возвращает ФИО автора заявки |
|
Возвращает ФИО исполнителя заявки |
|
Возвращает ФИО клиента заявки |
|
Возвращает ID роли автора заявки |
|
Возвращает ID роли исполнителя заявки |
|
Возвращает ID роли клиента заявки | |
Возвращает имя роли автора заявки | |
Возвращает имя роли исполнителя заявки | |
Возвращает имя роли клиента заявки | |
Возвращает заголовок роли автора заявки | |
Возвращает заголовок роли исполнителя заявки | |
Возвращает заголовок роли клиента заявки | |
Возвращает форматированное название роли автора заявки | |
Возвращает форматированное название роли исполнителя заявки | |
Возвращает форматированное название роли клиента заявки | |
Возвращает id первой дополнительной персоны | |
Возвращает id второй дополнительной персоны | |
Возвращает id третьей дополнительной персоны | |
Устанавливает id первой дополнительной персоны | |
Устанавливает id второй дополнительной персоны | |
Устанавливает id третьей дополнительной персоны | |
ticket.getTotalFormatted(): string |
|
ticket.getSubtotalFormatted(): string |
|
ticket.getTotalFeeFormatted(): string |
|
ticket.getDeliveryFeeFormatted(): string |
|
Работа со статусами
Метод | Описание |
ticketStatuses.reload(): bool | Перезагружает все статусы из БД |
ticketStatuses.getCollection(): ?Collection | Возвращает Laravel Collection |
ticketStatuses.find(array|object|null $where, bool $isReturnCollection = false): ?ScriptTicketStatus | Возвращает статусы заявок |
ticketStatuses.findById(string|int|null $id): ?ScriptTicketStatus | Возвращает статус по ID |
ticketStatuses.findByName(string $name): ?ScriptTicketStatus | Возвращает статус по имени |
ticketStatuses.findAllByNames(string|array|object|null $names, string $operator = '=', bool $isReturnCollection = false): ?Collection | Возвращает статусы по имени |
ticketStatuses.findAllByTypes(string|array|object|null $types, string $operator = '=', bool $isReturnCollection = false): ?Collection | Возвращает статусы по типу статуса |
Работа с персонами
Методы bot
Метод | Описание |
bot.createPerson($data): ?int | Создает персону |
bot.findPersons($where = [], $orderBy = [], ?int $limit = null, ?int $offset = null, bool $isLogErrorIfManyPersonsFound = false): array | Возвращает данные персон соответствующих атрибутам |
bot.updatePersonById(int $personId, $data): bool |
Обновляет персону по id |
bot.deletePersonById(int $personId): bool |
Удаляет персону по id |
Методы lead
Метод | Описание |
lead.getPersonId(): ?int | Возвращает id персоны |
lead.setPersonId(?int $personId): bool | Привязывает персону к лиду |
lead.createPersonForCurrentLead($data): ?int |
Создает персону для лида |
Методы person
Метод | Описание |
person.update($data): bool |
Обновляет данные персоны |
person.delete(): bool |
Удаляет персону |
person.getAllData(): array |
Возвращает все поля персоны |
person.setData(string $key, $value): self |
Устанавливает поле персоны по ключу В качестве ключа можно указать:
|
person.getData(string $key) |
Возвращает значение данных персоны В качестве ключа можно указать:
|
person.issetData(string $key): bool |
Проверяет наличие данных по персоне В качестве ключа можно указать:
|
person.isDataExist(string $key): bool | |
person.getId(): ?int |
Возвращает ID персоны |
Возвращает полное имя персоны |
|
person.getRoleId(): ?int |
Возвращает ID роли персоны |
person.getRoleName(): string |
Возвращает название роли персоны |
person.getRoleTitle(): string |
Возвращает заголовок роли персоны |
person.getRoleFormattedTitle(): string |
Возвращает форматированное название роли персоны. |
person.getPhone(): ?string |
Возвращает номер телефона персоны |
person.setPhone(?string $phone): bool |
Устанавливает номер телефона персоны |
person.getEmail(): ?string |
Возвращает почту персоны |
Работа с очередями исполнителей
Методы ticket
Метод | Описание |
ticket.assignToNextQueuePerson(int $queueMode = 1, ?int $personQueueId = null, ?string $personQueueTable = null, ?int $currentAssignAttempt = null, bool $isIncRejectsCount = true, bool $isMoveToEndIfRejectsExceed = true): bool | Назначает заявку следующему исполнителю |
ticket.moveAssignedPersonToEndOfQueue(int $queueMode = 1, ?int $personQueueId = null, ?string $personQueueTable = null, bool $isResetRejectsCount = true): bool | Переносит исполнителя в конец очереди |
Назначает исполнителя заявки |
|
Возвращает количество отказов от заявок |
|
Устанавливает количество отказов от заявок |
|
Увеличивает количество отказов от заявок |
Методы person
Метод | Описание |
person.addToQueue(?int $personQueueId = null, ?string $personQueueTable = null, ?int $ticketTypeId = null, bool $isActive = true, int $rejectsCount = 0): ?int | Добавляет персону в очередь |
person.removeFromQueue(?int $personQueueId = null, ?string $personQueueTable = null, ?int $ticketTypeId = null): bool | Удаляет персону из очереди |
person.moveToEndOfQueue(int $queueMode = 1, ?int $personQueueId = null, ?string $personQueueTable = null, ?int $ticketTypeId = null, bool $isResetRejectsCount = true): bool | Перемещает персону в конец очереди |
person.setIsActiveInQueue(bool $isActive = true): bool | Активирует/деактивирует персону в очереди |
Методы personQueues
Метод | Описание |
personQueues.find($where, bool $isReturnCollection = false): ScriptPersonQueue[]|Collection | Возвращает очередь исполнителей |
personQueues.findById(string|int|null $id): ?ScriptPersonQueue |
Возвращает очередь исполнителей по id |
personQueues.findAllByTitles(string|array|object|null $titles, bool $isEnabled = null, string $findTitleOperator = 'IN', bool $isReturnCollection = false): ScriptPersonQueue[]|Collection |
Возвращает очереди исполнителей по заголовку |
personQueues.findByCode(string $code, bool $isEnabled = null, string $findCodeOperator = '='): ?ScriptPersonQueue |
Возвращает очередь исполнителей по коду |
personQueues.findAllByCodes($codes, bool $isEnabled = null, string $findCodeOperator = 'IN', bool $isReturnCollection = false): ScriptPersonQueue[]|Collection |
Возвращает очереди исполнителей по коду |
personQueues.reload(): bool | Обновляет очередь исполнителей |
personQueues.getCollection(): ?Collection | Возвращает коллекцию очередей |
Работа с интеграциями NLP
Методы bot
Метод | Описание |
bot.getIntegrationIdByCode(?string $integrationCode): int|null |
Возвращает id интеграции бота по коду |
bot.getEnabledIntegrationIdByCode(?string $integrationCode): int|null | Возвращает id включенной интеграции бота по коду |
bot.isEnabledIntegrationById(?int $integrationId): bool |
Проверяет активность интеграции по id |
bot.isEnabledIntegrationByCode(?string $integrationCode): bool |
Проверяет активность интеграции по коду |
Методы lead
Метод | Описание |
lead.setActiveNlpIntegrationByCode(?string $integrationCode): bool | Присваивает интеграцию лиду по коду |
Работа с кастомными таблицами
Методы table
Метод | Описание |
table.createItem(string $tableName, array|object $data): ScriptCustomTableItem | Создает запись в таблице |
Ищет запись в таблице | |
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 $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 |
Возвращает форматированную дату из произвольной строки |
Перезагружает данные записи из БД |
Работа с блокировками
Работа с контакт-центром
Методы 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 |
Возвращает объект с параметрами последнего реквеста |
Методы request
За объект request принимаем объект с параметрами последнего реквеста полученный с помощью lead.getLastRequest.
Метод | Описание |
request.json |
Доступ к json параметрам в виде javascript json-обьекта |
request.asJson(): ?ScriptRequest | |
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 | |
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 = []): ResponseInterface|null|mixed |
Выполняет HTTP запрос, с помощью Guzzle |
api.post(string $uri, $body = [], $requestOptions = [], $headers = [], $httpClientConfig = []): ?string |
Выполняет HTTP POST запрос, с помощью Guzzle |
api.get(string $uri, $requestOptions = [], $headers = [], $httpClientConfig = []): ?string |
Выполняет HTTP GET запрос, с помощью Guzzle |
api.getJson(string $uri, $jsonBody = [], $headers = [], $requestOptions = [], $httpClientConfig = []): ?array |
Выполняет HTTP POST запрос с jsonBody, с помощью Guzzle |
api.postJson(string $uri, $jsonBody = [], $headers = [], $requestOptions = [], $httpClientConfig = []): ?array |
Выполняет 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 |
Возвращает Proxy Url HTTP запроса |
api.setProxyUrl($proxyUrl): self |
Устанавливает Proxy Url HTTP запроса |
api.getLastResponse() |
Возвращает последний ответ HTTP запроса |
api.getLastResponseCode(): int |
Возвращает код последнего ответа HTTP запроса |
api.getLastResponseContent(): ?string |
Возвращает содержимое последнего ответа HTTP запроса |
api.getLastJsonResponse(): ?array |
Возвращает последний ответ 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 запроса |
Работа с файлами
Методы bot
Метод | Описание |
bot.getIncomingMessage(bool $useOutputFilter = false): string |
Возвращает текст входящего сообщения или текст подписи к вложению |
Возвращает id вебхука зарегистрированного в очереди Метабот | |
Возвращает информацию о вебхуке | |
Возвращает payload входящего вебхука в виде массива |
|
Возвращает payload c данными о последнем ответе мессенджера в ввиде массива | |
bot.getChannelData(string|null $key = null): array|null|mixed |
Возвращает настройки канала лида |
Принудительное отключение буффера исходящих сообщений |
|
Принудительное включение буффера исходящих сообщений |
|
Принудительное освобождение буффера исходящих сообщений |
|
bot.getAllAttachments(string|null $filesMimeExcludeFilter = '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.getTelegramFileInfoById(string|null $fileId, bool $isShowOriginalInfo = false): array|null |
Возвращает информацию о файле в Telegram по его id |
Отправляет файл в телеграм и возвращает его id |
|
Редактирует кнопки меню уже отправленного в Telegram сообщения |
|
Возвращает ID последнего сообщения, отправленного в Telegram |
|
Устанавливает конфиг для доступа к CDN |
|
Возвращает текущий конфиг CDN |
|
Возвращает информацию о файле по URL |
|
Скачивает файл с URL и загружает в хранилище файлов Метабот для вашего бизнеса |
|
Скачивает файл с URL и загружает во временное хранилище файлов Метабот для вашего бизнеса |
|
Удаляет файл по URL из хранилища файлов Метабот для вашего бизнеса |
|
Удаляет файл по URL из временного хранилища файлов Метабот для вашего бизнеса |
|
bot.uploadFileToCdnAndGetNewUrl(string $fileUrl, array|object|null $cdnConfig = null): array |
Заливает файл на CDN и возвращает новую ссылку |
Удаляет файл из CDN |
Методы lead
Метод | Описание |
Возвращает обозначение текущего мессенджера канала | |
Возвращает буквенное обозначение текущего мессенджера канала | |
Возвращает идентификатор лида во внешней системе | |
Возвращает дополнительный идентификатор лида во внешней системе |
Нет комментариев