POST/api/global-chatbot/demo/poll

پیامهای جدید و ناهمزمان یک نشست چت نمایشی را دریافت میکند (مثلاً وقتی یک عامل انسانی در مدیریت اصلی接管 کرده است) — که بهصورت دورهای توسط ویجت فراخوانی میشود.

`POST /api/global-chatbot/demo/poll` برای دریافت پیام‌های جدید یا تغییرات وضعیت مربوط به یک جلسه دمو موجود استفاده می‌شود. بدنه درخواست شامل `session_id` و `visitor_id` است. هر دو مقدار باید از یک مکالمه دمو عمومی یکسان باشند. در صورت عدم وجود هر یک از این پارامترها، سرور با کد `400 PARAMS_REQUIRED` پاسخ می‌دهد. این مسیر نیازی به احراز هویت کاربر ندارد و وضعیت فعلی جلسه دمو را دریافت می‌کند. این روش زمانی استفاده می‌شود که پاسخ به طور مستقیم با درخواست قبلی برگردانده نشود، یا زمانی که رابط کاربری نیاز داشته باشد پیام‌هایی را که بعداً دریافت شده‌اند، نمایش دهد. این روش (Polling) جایگزینی برای ارسال یک پیام نیست؛ بلکه درخواست‌های جدیدی از طرف بازدیدکنندگان ایجاد نمی‌کند. مشتری باید بین درخواست‌ها، یک فاصله زمانی مناسب را رعایت کند. یک حلقهٔ بی‌پایان فشرده بار را افزایش می‌دهد و ممکن است محدودیت‌های نرخ را فعال کند بدون اینکه پاسخ را سریع‌تر تولید کند. اگر نشست پایان یابد، نامعتبر شود یا دیگر قابل‌یافتن نباشد، polling باید متوقف شود و رابط کاربری شروع جدیدی را ارائه دهد. صفحات لغو شده یا تب‌های پنهان نباید درخواست‌های پس‌زمینه‌ای دائماً در حال اجرا باقی بگذارند. `session_id` و `visitor_id` اعتبارنامه‌های عمومی برای گفتگوهای دیگر نیستند. آن‌ها نباید بین بازدیدکنندگان به اشتراک گذاشته شوند یا همراه با پیام‌ها به ابزارهای تحلیل عمومی ارسال شوند. دمو باید از مکالمات Tenant و داده‌های صندوق ورودی تولید جدا بماند. یک تست صحیح یک نشست دمو را شروع می‌کند، یک پیام ارسال می‌کند و سپس Poll را با همان شناسه‌ها فراخوانی می‌کند. علاوه بر این، یک درخواست بدون `visitor_id` بررسی می‌شود. تست منفی مستندشده، اثبات خطا است، نه مدرکی بر اینکه یک مکالمهٔ کامل و سازنده با موفقیت به پایان رسیده است.

Auth & Absicherung

Keine Authentifizierung erforderlich

Idempotent: Ja

Parameter

session_id(body, string, erforderlich)
visitor_id(body, string, erforderlich)

Beispiel-Request

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

Beispiel-Response

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

Fehlercodes

400 PARAMS_REQUIREDsession_id و/یا visitor_id وجود ندارد.

Live-Test-Nachweis

موفقیت (200، لیست خالی چون هیچ پیام ناهمزمان جدیدی از demo.chat تاکنون وجود ندارد) و حالت منفی (400) به‌صورت زنده تأیید شد.

چتبات دمو و SSO