Bot API
Обращение к боту из внешних систем
Концепция
Бот представляет из себя независимое приложение со собственной бизнес-логикой, моделью данных и состоянием диалога.
Для того чтобы управлять поведением бота из внешних систем вам необходимо запланировать работу (job) с помощью Bot API.
Работа это гибкий механизм, который позволяет реализовать практически любую задачу от самых простых (например, обновить данные пользователя или отправить пользователю текстовое уведомление) до более сложных (например, произвести обработку входящих данных перед их передачей пользователю).
Гибкость достигается это за счет использования встроенного языка программирования JavaScript и системы триггеров.
Сначала в боте на платформе Metabot вы создаете необходимые шаблон сценария диалога и код обработки входных данных, а затем с помощью Bot API планируете работу, которая принимает входные данные и в нужный вам момент передает их в ранее созданные алгоритмы обработки и шаблон сценария.
Шаблон сценария диалога может содержать любую последовательность команда, которую необходимо отправить конечному пользователю (или пользователям) в коммуникационный канал. А алгоритм обработки может содержать любые логику от заполнения данных до обращения к внешним API.
Таким образом работа с API бота из внешних систем представляет обращение к хранимым процедурам бота, которые вы создаете в интерфейсе веб-конструктора.
Доступ к API
Swagger доступен по адресу: https://app.metabot24.com/api/docs
Чтобы получить доступ, достаточно зарегистрировать любой аккаунт на платформе https://app.metabot24.com, затем создать бот и перейти в раздел пользователей бота https://app.metabot24.com/user и там создать API пользователя.
Ниже описан основной метод работы с ботом.
Schedule
POST
https://test.cakes.com/bots/{botId}/jobs/schedule
Основной метод для планирования в боте работы.
Path Parameters
Name | Type | Description |
---|---|---|
botId | number | ID вашего бота |
Headers
Name | Type | Description |
---|---|---|
Authentication | string | Ваш токен аутентификации. Настраивается в панели администратора в разделе "Пользователи бизнеса". |
Request Body
Name | Type | Description |
---|---|---|
script_id | integer | ID скрипта (сценария диалога) для запуска, например, 1 |
trigger_id | integer | ID триггера для запуска, например, 1 |
broadcast_id | integer | ID рассылки для запуска, например, 1 |
script_code | string | Кодовое имя сценария диалога для запуска, например, "script_short_code" |
trigger_code | string | Кодовое имя триггера для запуска, например, "script_short_code" |
broadcast_code | string | Кодовое имя рассылки для запуска, например, "broadcast_short_code" |
lead_id | integer | ID лида/пользователя для которого выполняем работу, например, 135 |
ticket_id | integer | ID тикета/таблицы в модели данных для которой выполняем работу, например, 7 |
run_at | string | Время выполнения в формате "ГГГГ-ММ-ДД чч:мм:сс", например, "2021-01-21 21:00:00" |
run_after_sec | integer | Отсрочка выполнения в секундах, например, 300 |
is_periodic | boolean | Необходимо ли повторять работу, например, false |
condition_script_code | string | Условие выполнения работы в виде JavaScript кода, например "if (leadId == 135) return true;" Работа будет запланирована и выполнена только при условии, что код условия вернет истину (true). |
script_request_params | object | JSON-объект с входными параметрами к которым можно обратиться из триггера, скрипта или рассылки, например: { "first_param": 7, "second_param": { "any_key": "any_value" } } |
add_tags | string | Список тэгов, которыми необходимо пометить пользователя, например, 'tag1,tag2' |
remove_tags | string | Cписок тэгов, которые необходимо удалить у пользователя 'tag1,tag2' |
Last updated