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

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

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

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

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

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

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

Тип задаётся в секции Как работает ассистент в настройках ассистента:

КарточкаКак обрабатывается запрос
Чат-ассистентВыбранная модель отвечает по инструкции с использованием подключённых знаний
Сценарный ассистентЗапрос обрабатывает сценарий, выбранный ниже в поле Сценарий

Платформа использует последнюю опубликованную версию выбранного сценария; отдельно переключать версии не нужно.

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

Примечание. Функция также открывает список Режим ответа со значениями Чат и Агент. У системного ассистента Уника AI значение Авто дополнительно разрешается функцией Режим «Авто» у Уники AI на той же странице.

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

Точку входа по внешнему событию открывает узел 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, токены и вебхуки.

Что дальше