Widget ng Chat
Lahat ng endpoint na ginagamit ng naka-embed na widget ng chat sa mga website ng mga customer.
Ang grupong ito ay naglalaman ng lahat ng pampublikong endpoint na ginagamit ng naka-embed na chat widget sa mga website ng customer: ang pag-check ng availability (`GET /api/public/widget/health`), ang pagkuha ng pampublikong configuration ng widget (`GET /api/public/widget/config/:widget_code`), at ang pagpapadala at kasaysayan ng mga mensahe (`POST /api/public/widget/message`, `GET /api/public/widget/history`). Ang pagbabahagi ng domain ay pinangangasiwaan ng Zentor sa panahon ng paglikha ng widget; walang interface ng setting para dito sa dashboard ng tenant. Kung ang pinagmulan ay hindi pinahintulutan, maaaring lumabas ang error code `WIDGET_ORIGIN_DENIED`. Ang paglikha ng widget mismo ay nakalaan lamang para sa master admin, habang ang tenant ay tumatanggap ng nabuong code ng pag-embed.
Walang pangkalahatang sistema ng developer API key. Ang `health` at `config` ay naa-access nang walang authentication dahil ito ay para sa pag-initialize ng widget sa browser. Sa kabilang banda, ang `message` at `history` ay nangangailangan ng header na `X-Widget-Token` at karagdagan pang sinusuri laban sa isang server-side origin allowlist. Ang embed token ay ipinapakita nang malinaw nang isang beses sa panahon ng paglikha ng widget at hindi dapat lumabas sa mga pampublikong repository, mga screenshot ng suporta, o mga log ng browser.
Ang bawat pahina ng detalye ng grupong ito ay naglalarawan ng pamamaraan, landas, authentication, idempotency, at ang mga dokumentadong error code ng bawat endpoint. Ang matagumpay na pagtawag sa isang endpoint ay hindi awtomatikong nangangahulugan na ang isa pang endpoint sa parehong grupo ay magtatagumpay din—lalo na, ang isang berdeng `health` check ay hindi nagpapatunay ng isang wastong widget, isang pinahintulutang pinagmulan, o ang pagiging available ng isang AI provider.
Ang nakumpirmang limitasyon ng API sa buong platform ay 2,000 na kahilingan sa loob ng 15 minuto. Ang anumang limitasyon na naiiba para sa isang indibidwal na endpoint ng widget ay tinukoy lamang kung ito ay partikular na nakasaad para sa endpoint na iyon. Ang `message` ay hindi idempotent; ang isang kliyente ay hindi dapat awtomatikong ulitin ang isang hindi kumpletong pagpapadala nang walang pagsusuri kung ang unang mensahe ay naiproseso na.
Ang teknikal na pagsusuri ng grupong ito ay nakabatay sa registry sa ilalim ng `app/frontend/src/content/api-reference/groups/widget.ts` at ang mga kaugnay na backend route. Ang bawat pahina ng detalye ay nagpapahiwatig kung ang isang landas ng tagumpay ay live, isang negatibong landas, o isang analohiya lamang ng code—ang pagkakaibang ito ay nalalapat sa buong grupo at hindi dapat palitan ng mga pangkalahatang pahayag ng tagumpay.