POST/api/global-chatbot/demo/poll
Pobiera nowe, asynchronicznie nadesłane wiadomości sesji czatu demo (np. gdy agent-człowiek przejął rozmowę w Master-Admin) — widget wywołuje to okresowo.
`POST /api/global-chatbot/demo/poll` pobiera nowe wiadomości lub zmiany statusu dla istniejącej sesji demonstracyjnej. Ciało żądania zawiera `session_id` oraz `visitor_id`. Oba wartości muszą pochodzić z tej samej publicznej rozmowy demonstracyjnej. Jeśli brakuje któregokolwiek parametru, serwer odpowiada `400 PARAMS_REQUIRED`. Ruta nie wymaga uwierzytelnienia użytkownika i odczytuje aktualny stan sesji demonstracyjnej. Jest stosowana, gdy odpowiedź nie przychodzi natychmiast po poprzednim żądaniu lub gdy interfejs ma wyświetlić wiadomości przybyłe później. Polling nie zastępuje wysyłania wiadomości; nie generuje on nowych zapytań od strony odwiedzających. Klient musi zachować odpowiednią przerwę między wywołaniami. Zbyt krótka pętla bez końca zwiększa obciążenie i może wywołać limity prędkości, nie przyspieszając jednak otrzymania odpowiedzi. Jeśli sesja zostanie zakończona, uznana za nieważną lub nieznaleziona, polling powinien zostać przerwany, a interfejs powinien zaproponować nowy start. Przerwane strony lub ukryte zakładki nie mogą pozostawiać trwających w tle zapytań. `session_id` oraz `visitor_id` nie są ogólnymi danymi logowania do innych rozmów. Nie mogą być udostępniane między odwiedzającymi ani wysyłane wraz z wiadomościami do publicznych narzędzi analitycznych. Demonstracja pozostaje oddzielona od rozmów w ramach tenanta oraz danych produkcyjnych skrzynki odbiorczej. Poprawny test rozpoczyna sesję demonstracyjną, wysyła wiadomość, a następnie wywołuje polling z tymi samymi identyfikatorami. Dodatkowo sprawdzane jest żądanie bez `visitor_id`. Udokumentowany test negatywny służy do wykrywania błędów, a nie stanowi dowodu na pomyślne zakończenie pełnej rozmowy produkcyjnej.
Uwierzytelnianie i zabezpieczenia
Uwierzytelnianie nie jest wymagane
Idempotentny: Tak
Parametry
session_id(body, string, wymagane)visitor_id(body, string, wymagane)Przykładowe żądanie
{"session_id":"<UUID>","visitor_id":"<UUID>"}Przykładowa odpowiedź
{"ok":true,"data":{"messages":[]}}Kody błędów
400 PARAMS_REQUIRED — Brakuje session_id i/lub visitor_id.Dowód z testu na żywo
Pomyślny (200, pusta lista, ponieważ nie ma nowych wiadomości asynchronicznych od demo.chat) oraz negatywny (400) przypadek zweryfikowano na żywo.