POST/api/global-chatbot/demo/poll

Запрашивает новые, асинхронно поступившие сообщения сессии демо-чата (например, когда сотрудник взял диалог на себя в Master Admin) — вызывается виджетом периодически.

`POST /api/global-chatbot/demo/poll` запрашивает новые сообщения или изменения статуса для существующей демо-сессии. Тело содержит `session_id` и `visitor_id`. Оба значения должны относиться к одному и тому же публичному демо-диалогу. Если один из параметров отсутствует, сервер отвечает `400 PARAMS_REQUIRED`. Маршрут не требует входа пользователя и считывает текущее состояние демо-сессии. Он используется, если ответ не приходит сразу с предыдущим запросом или если интерфейс должен показать сообщения, поступившие позже. Опрос (polling) не заменяет отправку сообщения; сам он не создаёт нового запроса посетителя. Клиент должен выдерживать разумную паузу между вызовами. Плотный бесконечный цикл увеличивает нагрузку и может вызвать срабатывание rate-limit, не ускоряя получение ответа. Если сессия завершена, стала недействительной или больше не находится, опрос следует остановить, а интерфейс должен предложить начать заново. Закрытые страницы или скрытые вкладки не должны оставлять постоянно работающих фоновых запросов. `session_id` и `visitor_id` не являются общими учётными данными для других диалогов. Их нельзя передавать другим посетителям или отправлять вместе с сообщениями в публичные аналитические инструменты. Демо остаётся отделённым от диалогов тенантов и продуктивных данных инбокса. Корректный тест запускает демо-сессию, отправляет сообщение и затем вызывает poll с теми же идентификаторами. Дополнительно проверяется запрос без `visitor_id`. Задокументированный негативный тест подтверждает ошибку, а не успешное завершение полноценного продуктивного диалога.

Аутентификация и защита

Аутентификация не требуется

Идемпотентный: Да

Параметры

session_id(body, string, обязательно)
visitor_id(body, string, обязательно)

Пример запроса

{"session_id":"<UUID>","visitor_id":"<UUID>"}

Пример ответа

{"ok":true,"data":{"messages":[]}}

Коды ошибок

400 PARAMS_REQUIRED — Отсутствует session_id и/или visitor_id.

Подтверждение живого теста

Успех (200, пустой список, так как новых асинхронных сообщений с момента demo.chat нет) и негативный случай (400) проверены в реальном времени.

← Демо-чат-бот и SSO