Интеграция ассистента без кода

Интеграция без кода — это подключение ассистента к внешним системам средствами платформы: обработку описывает сценарий (workflow), вход открывает узел-триггер, исходящий вызов делает узел запроса. Ассистент работает либо внутри платформы, либо через сценарий; режима, в котором ответ целиком считает внешний сервис и возвращает его обратным вызовом, в платформе нет. Программный доступ по токену — отдельный контур, он описан в главе Публичный API, токены и вебхуки.

Какой контур интеграции выбрать

Контуров четыре, и они не заменяют друг друга: разница в том, кто инициирует обмен и что настраивается. Интеграция без кода закрывает первые три строки таблицы — всё, что собирается в интерфейсе платформы без написания серверного кода.

ЗадачаКонтурГде настраивается
Ответ ассистента считает последовательность шагов, а не один запрос к моделиРежим обработки СценарийНастройки ассистента
Внешняя система запускает обработку по своему событиюУзел Webhook в сценарииРедактор сценария
Сценарий обращается к стороннему сервису и использует ответУзел HTTP Request в сценарииРедактор сценария
Внешняя система сама ведёт переписку и читает данные рабочего пространстваПубличный REST APIПрофиль → Безопасность

Первые три контура сочетаются в одном сценарии: внешнее событие приходит в узел Webhook, сценарий обогащает его вызовами HTTP Request и возвращает результат узлом Ответ на вебхук. Четвёртый контур работает независимо от сценариев и описан отдельно.

Как ассистент передаёт обработку сценарию

Способ обработки задаёт поле Обработка в настройках ассистента. Вариант Внутри платформы означает ответ языковой модели (LLM) с поиском по подключённым источникам. Вариант Сценарий передаёт обработку выбранному сценарию: платформа автоматически применяет его последнюю опубликованную версию, отдельно переключать версии не нужно.

Настройки ассистента: поле «Обработка» с двумя вариантами — «Внутри платформы» и «Сценарий»
Поле «Обработка» в настройках ассистента: платформа или сценарий. Режим обработки ассистента. Вариант «Сценарий» появляется только у пространств, которым разрешена функция «Режим сценария в Ассистентах».

Вариант Сценарий виден не всем: его открывает функция «Режим сценария в Ассистентах» в разделе Администрирование → Доступ → Функции. По умолчанию рабочему пространству разрешён единственный режим обработки — внутри платформы, и вариант Сценарий в настройках ассистента не отображается. Та же функция управляет тем, какие источники сценариев доступны пространству: Глобальные шаблоны, Сценарии рабочего пространства или оба набора.

Примечание. Функция «Режим сценария в Ассистентах» управляет и доступностью списка Режим ответа со значениями Чат и Агент в окне чата.

Как сценарий принимает событие извне

Точку входа по внешнему событию открывает узел Webhook. Узел владеет собственным адресом и превращает входящий JSON в запуск сценария. Адрес узел показывает в поле URL вебхука — поле только для чтения, значение копируется целиком.

Поле узлаЗначенияЧто определяет
АвторизацияBearer personal token, Без авторизацииНужен ли вызывающей системе персональный API-токен
Режим ответаАсинхронный (202, результат через http_request), Синхронный (ответ в этом же запросе)Ждёт ли вызывающая система результат в том же запросе
URL вебхукаЗначение генерируется платформойАдрес, на который внешняя система шлёт JSON

В асинхронном режиме платформа отвечает кодом 202 сразу после приёма события, а результат вызывающая система забирает отдельным запросом. В синхронном режиме платформа держит соединение до завершения прогона и возвращает ответ в том же запросе. Разбор адресов, кодов ответа и порядка опроса результата — в главе Публичный API, токены и вебхуки.

Второй входной узел — Внешнее сообщение: он запускает сценарий по событию внешнего канала, а не по прямому вызову вебхука.

Как сценарий обращается к внешней системе

Исходящий вызов делает узел HTTP Request: он выполняет произвольный HTTP-запрос и возвращает в сценарий статус, заголовки и тело ответа. Дальше результат используют обычные шаги сценария — условия, шаги модели, сборка сообщения.

Узел Ответ на вебхук возвращает синхронный HTTP-ответ вызывающей системе: HTTP-статус, заголовки и тело задают поля узла. Узел действует только при синхронном режиме ответа у узла Webhook; при асинхронном режиме вызывающая система уже получила 202, и содержимое узла до неё не дойдёт.

Важно. Собственные статус, заголовки и тело ответа задаёт только узел Ответ на вебхук: без него синхронный вызов получает стандартный JSON платформы с итоговым текстом прогона в поле result.

Чем интеграция без кода отличается от публичного API

Различие — в том, где живёт логика ответа и кто держит инициативу. Интеграция без кода оставляет логику в платформе: сценарий описывает шаги и сам вызывает внешние сервисы по мере надобности. Публичный API переворачивает картину: логику ведёт внешняя система, а платформа отвечает на её запросы как сервис.

ПризнакИнтеграция без кодаПубличный API
Где описана логика ответаВ сценарии платформыВ коде внешней системы
Кто начинает обменПользователь в чате или внешнее событиеВнешняя система
Что настраиваетсяАссистент и узлы сценарияПерсональный API-токен и запросы
Кто ведёт разработкуАвтор сценария в интерфейсеРазработчик внешней системы

Контуры сочетаются: внешняя система может запускать сценарий вебхуком и одновременно читать чаты платформы по токену.

Частые вопросы

Где выбрать режим выполнения «No-code»

Такого режима в платформе нет. Ассистент работает либо внутри платформы, либо через сценарий — это задаёт поле Обработка в настройках ассистента. Обмен с внешним сервисом собирают из узлов сценария: вход — Webhook, исходящий вызов — HTTP Request, ответ вызывающей системе — Ответ на вебхук.

В настройках ассистента нет варианта «Сценарий»

Рабочему пространству не разрешена функция «Режим сценария в Ассистентах». Откройте Администрирование → Доступ → Функции, найдите функцию и разрешите пространству режим сценария и хотя бы один источник сценариев. Настройки ассистента подхватят изменение после перезагрузки страницы.

Внешняя система получает код 202 вместо результата

У узла Webhook выбран асинхронный режим ответа — платформа подтверждает приём события и продолжает прогон в фоне. Тот же код приходит, когда синхронный прогон не уложился в таймаут: платформа отдаёт 202 и заголовок Location с адресом опроса результата. Проверьте:

  • поле Режим ответа у узла Webhook переключено на синхронный;
  • в сценарии есть узел Ответ на вебхук, если вызывающей системе нужны свои статус, заголовки и тело;
  • в сценарии нет узлов с паузой — согласования, задержки, формы в чате и ожидания внешнего события синхронный вызов не дожидается.

Куда вписать токен обратного вызова

Обратных вызовов от внешнего сервиса в платформу нет, поэтому и токена под них нет. Внешняя система авторизуется персональным API-токеном при вызове вебхука или публичного API; выпуск и отзыв токенов описаны в главе Публичный API, токены и вебхуки.

Что дальше