Внешний и внутренний кастомный блок

Кастомный блок может выполняться:

  • На сервере 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 для взаимодействия с диалогом: