Чат-виджет
Барлық соңғы нүктелер, клиенттердің веб-сайттарындағы кіріктірілген чат виджетін пайдаланады.
Бұл топ клиенттердің веб-сайттарындағы кіріктірілген чат виджеті пайдаланатын барлық ашық соңғы нүктелерді біріктіреді: қолжетімділікті тексеру (`GET /api/public/widget/health`), ашық виджет конфигурациясын алу (`GET /api/public/widget/config/:widget_code`), сондай-ақ хабарламаларды жіберу және тарихын қарау (`POST /api/public/widget/message`, `GET /api/public/widget/history`). Виджетті жасау кезінде Zentor домендік бөлісуді басқарады; бұл мақсатта Tenant Dashboard-та баптау интерфейсі жоқ. Келісілмеген шығу нүктесі болған жағдайда `WIDGET_ORIGIN_DENIED` қате коды пайда болуы мүмкін. Виджетті жасау тек Master-Admin-ға арналған, ал Tenant дайын кіріктіру кодын алады.
Жалпы әзірлеуші API кілт жүйесі жоқ. `health` және `config` браузерде виджетті бастапқы орнату үшін арналғандықтан, аутентификациясыз қолжетімді. Ал `message` және `history` `X-Widget-Token` тақырыпшасын қажет етеді және серверлік Origin-рұқсат тізіміне қосымша тексеріледі. Embed-токен виджет жасалған кезде бір рет ашық мәтін түрінде көрсетіледі және ол ашық репозиторийлерде, қолдау көрсету скриншоттарында немесе браузер логтарында болмауы тиіс.
Бұл топтың әрбір толықтыру беті соңғы нүктенің әдісін, жолын, аутентификациясын, иделопотенттілігін және құжатталған қате кодтарын жеке сипаттайды. Соңғы нүктенің сәтті шақырылуы сол топтағы басқа соңғы нүктенің де сәтті жұмыс істейтінін автоматты түрде білдірмейді — әсіресе, жасыл `health` тексеруі жарамды виджетті, бөлінген Origin-ді немесе AI провайдерінің қолжетімділігін растамайды.
Платформа деңгейіндегі расталған API шектеуі 15 минут ішінде 2.000 сұранысты құрайды. Жеке виджет соңғы нүктесіне қатысты ауытқушы шектеу тек осы соңғы нүктеге арнайы расталған жағдайда ғана көрсетіледі. `message` иделопотентті емес; клиент анықталмаған түрде үзілген жіберу әрекетін бірінші хабарламаның өңделген-өңделмегенін алдын ала тексермей-ақ автоматты түрде қайталамауы тиіс.
Бұл топтың техникалық тексеруі `app/frontend/src/content/api-reference/groups/widget.ts` реестріне және сәйкес келетін Backend маршруттарына негізделген. Әрбір толықтыру беті сәтті жолдың тірі екенін, теріс жол екенін немесе тек код аналогиясы тексерілгенін белгілейді — бұл ажыратымдылық бүкіл топқа қатысты және жалпылама сәттілік мәлімдемелерімен алмастырылмауы тиіс.