POST/api/global-chatbot/demo/poll
Отримує нові повідомлення, що надійшли асинхронно, для сесії демо-чату (наприклад, коли розмову перейняв людина-агент у Master-Admin) — викликається віджетом періодично.
`POST /api/global-chatbot/demo/poll` запитує нові повідомлення або зміни статусу для існуючої демо-сесії. Тіло запиту містить `session_id` та `visitor_id`. Обидва значення мають походити з однієї й тієї ж публічної демо-конверсації. Якщо відсутній хоча б один із параметрів, сервер повертає `400 PARAMS_REQUIRED`. Маршрут не вимагає авторизації користувача та читає поточний стан демо-сесії. Він використовується, якщо відповідь не надходить негайно після попереднього запиту, або якщо інтерфейс має відображати повідомлення, що надійшли пізніше. Опитування (polling) не є заміною для відправки повідомлення; воно не створює нових запитів відвідувачів. Клієнт повинен дотримуватися адекватної паузи між викликами. Щільний цикл безперервного опитування збільшує навантаження та може спричинити обмеження частоти запитувань, не даючи при цьому швидшої відповіді. Якщо сесія завершена, недійсна або не знайдена, опитування має припинитися, а інтерфейс запропонувати новий старт. Припинені сторінки або приховані вкладки не повинні залишати після себе постійно діючих фонових запитів. `session_id` та `visitor_id` не є загальними обліковими даними для інших розмов. Їх не можна ділитися між відвідувачами або надсилати разом із повідомленнями до публічних аналітичних інструментів. Демо залишається відокремленою від конверсацій тенанта та продуктивних даних вхідної пошти. Правильний тест починається з запуску демо-сесії, відправки повідомлення та подальшого виклику опитування з тими ж ідентифікаторами. Додатково перевіряється запит без `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) перевірено в режимі реального часу.