Кастомный блок может выполняться:
- На сервере Bot.one — внутренний кастомный блок.
- На внешнем сервере — внешний кастомный блок.
По умолчанию кастомные блоки выполняются на внутреннем сервере. Если блок нужно выполнять на внешнем сервере, установите в настройках блока флаг Внешний веб-сервис. См. подробнее: Создать кастомный блок.
В результате будет недоступна вкладка Код и появится поле URL. В поле нужно указать адрес или эндпоинт (метод API), на который будут приходить данные из диалога при выполнении кастомного блока.
В результате выполнения кастомного блока на указанный внешний сервис придут данные:
activity
— манифест кастомного блока и значения, указанные в редакторе данного блока в Bot.one.bot_message
— последнее сообщение, отправленное логикой блока.user_message
— последнее сообщение, отправленное респондентом.dialog
— данные по диалогу.token
— токен для работы с API Bot.one.host_api
— хост, на который надо отправлять API запросы.
Пример данных, которые вернутся на внешний сервис в результате выполнения блока
{
"activity": {
"text_field": {
"type": "text",
"value": "текстовое значение"
},
"num_field": {
"type": "number",
"value": 123
}
},
"bot_message": [],
"user_message": [],
"dialog": {
"id": 1093791,
"locale": "en"
},
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpbnN0YW5jZSI6ImRldiIsImRpYWxvZ19pZCI6MTA5Mzc5MiwidmVydGV4X2lkIjoyODQ3Nywic2Vzc2lvbl9pZCI6MTYwMDE4OX0.vOZM3DlSl_jszeuanHT9erJx-0XLXUQ5Qzn-EefMFOU",
"host_api": "http://api.local.form.one:9711"
}
Для внешних блоков доступны два метода API для взаимодействия с диалогом: