Интеграция ассистента без кода
Интеграция без кода — это подключение ассистента к внешним системам средствами платформы: обработку описывает сценарий (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, токены и вебхуки.
Что дальше
- Публичный API, токены и вебхуки — адреса эндпоинтов, авторизация и порядок опроса результата.
- Сценарии — как собрать сценарий из узлов и опубликовать версию.
- Ассистенты — настройки ассистента, включая режим обработки.
- Доступ, пользователи и пространства — разрешить пространству режим сценария.