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) проверены в реальном времени.