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
botId
number
ID вашего бота
Headers
Authentication
string
Ваш токен аутентификации. Настраивается в панели администратора в разделе "Пользователи бизнеса".
Request Body
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
Was this helpful?