Chat widget.

Svi krajnji čvorovi koji koriste ugrađeni chat widget na web stranicama kupaca.

Ova grupa objedinjuje sve javne krajnje točke koje ugrađeni chat widget koristi na web stranicama klijenata: provjeru dostupnosti (`GET /api/public/widget/health`), dohvaćanje javne konfiguracije widgeta (`GET /api/public/widget/config/:widget_code`) te slanje i povijest poruka (`POST /api/public/widget/message`, `GET /api/public/widget/history`). Dozvola domene održava se tijekom stvaranja widgeta od strane sustava Zentor; za to ne postoji sučelje za postavke u nadzornoj ploči klijenta (tenant). U slučaju da podrijetlo nije dozvoljeno, može se pojaviti kod greške `WIDGET_ORIGIN_DENIED`. Sam proces stvaranja widgeta rezerviran je za glavnog administratora (Master-Admin), dok klijent (tenant) dobiva gotov kod za ugradnju.

Ne postoji opći sustav API ključeva za developere. `health` i `config` su dostupni bez autentifikacije jer su namijenjeni inicijalizaciji widgeta u pregledniku. S druge strane, `message` i `history` zahtijevaju zaglavlje `X-Widget-Token` i dodatno se provjeravaju protiv server-side liste dopuštenih podrijetala (Origin-Allowlist). Token za ugradnju (Embed-Token) prikazuje se jednom u vidljivom obliku tijekom stvaranja widgeta i ne smije se pojavljivati u javnim repozitorijima, screenshotovima za podršku ili zapisima preglednika (browser logs).

Svaka detaljna stranica ove grupe pojedinačno opisuje metodu, putanju, autentifikaciju, idempotenciju i dokumentirane kodove grešaka za odgovarajuću krajnju točku. Uspješan poziv jedne krajnje točke ne dokazuje automatski da bi ni drugi poziv iste grupe bio uspješan — posebno, zeleni `health` check ne potvrđuje niti valjani widget niti dozvoljeno podrijetlo niti dostupnost AI pružatelja usluga.

Potvrđeno platformsko ograničenje API poziva iznosi 2.000 zahtjeva unutar 15 minuta. Odstupajuće ograničenje za pojedinačnu krajnju točku widgeta navodi se samo ako je izričito dokazano za tu krajnju točku. `message` nije idempotentna; klijent ne smije automatski ponoviti nejasno prekinuti postupak slanja bez prethodne provjere je li prva poruka već obrađena.

Tehnička provjera ove grupe oslanja se na registar na lokaciji `app/frontend/src/content/api-reference/groups/widget.ts` i pripadajuće backend rute. Svaka detaljna stranica označava je li provjeren put uspjeha u stvarnom vremenu, negativni put ili samo kodna analogija — ova razlika vrijedi za cijelu grupu i ne smije se zamijeniti općim tvrdnjama o uspjehu.

GET/api/public/widget/healthGET/api/public/widget/config/:widget_codePOST/api/public/widget/messageGET/api/public/widget/historyPOST/api/public/widget/pollPOST/api/public/widget/ratingPOST/api/public/widget/trackPOST/api/public/widget/voice-transcribePOST/api/public/widget/voice-speak
API referenca.