
Publieke widget- en embedroutes
Vervang `EMBED_KEY` door de embed key van een gepubliceerde guide. De routes zijn bedoeld voor de widget; behandel ze niet als een algemene admin-API.
GET /widget/[embedKey]- De publieke iframe-pagina van de widget.
GET /api/embed/[embedKey]/script- Javascript dat inline, popup of floating embed mount.
GET /api/widget/[embedKey]- Guide-definitie, subflows en productsEndpoint voor een gepubliceerde guide.
GET /api/widget/[embedKey]/products- Producten voor de gepubliceerde widget.
POST /api/widget/[embedKey]/email- Verwerkt resultaatmail of offerteaanvraag; valideert e-mail, captureconfiguratie, consent en rate limits.
POST /api/widget/event- Registreert cookieloze, anonieme widget-events wanneer consent dit toestaat.
Voorbeeld: inline embed
Plaats beide regels waar de keuzehulp moet verschijnen. Het script is async en zoekt automatisch mounts met dezelfde data-attributen.
Marketing, attributie en background workers
PATCH /api/marketing/preferences/[token]- Slaat marketingEmails, productAdvice en newsletter op voor een persoonlijk preference token.
POST /api/marketing/unsubscribe/[token]- Schrijft een profiel uit en past suppression toe.
GET /api/marketing/open/[token]- Open-tracking pixel voor marketingmails.
GET /api/marketing/click/[token]- Registreert kliktracking en voert veilige redirect uit.
POST /api/marketing/workers/send- Verwerkt due marketing send jobs. Gebruik `x-slecto-worker-secret` wanneer `MARKETING_WORKER_SECRET` is ingesteld.
POST /api/marketing/workers/automations- Verwerkt due automation-runs; gebruik dezelfde worker-authenticatie.
POST /api/integrations/workers/resync- Verwerkt geplande productresyncs.
POST /api/attribution/workers/prestashop- Verwerkt PrestaShop-attributiewerk.
Client-side activiteitfeedback
De root-layout mount een globale indicator voor werk dat in de browser start. Deze feedback is aanvullend op domeinspecifieke pending states en beïnvloedt geen publieke widgetroutes.
Interne navigatie- Toont een geanimeerde voortgangsbalk en statuslabel totdat de nieuwe route is geladen.
Formulieren en knoppen- Geeft feedback bij submits, async knoppen en server actions; labels worden uit de actie afgeleid wanneer dat kan.
fetch-aanvragen- Volgt actieve fetches, inclusief requests die door server actions of imports worden gestart, en houdt de indicator zichtbaar tot alle requests klaar zijn.
loading.tsx- Route-segmenten mogen skeletons tonen voor structurele laadfeedback; gebruik daarnaast aria-live/status voor belangrijke voortgang.
data-no-activity-feedback- Uitzondering voor bewust directe lokale interacties. Gebruik dit niet om echte netwerk- of serveracties te verbergen.
HTTP-statussen en foutzoeken
200- De aanvraag is geslaagd.
400- Payload, voorkeuren of gegevens zijn ongeldig.
403- De guide is niet actief of toegang is niet toegestaan.
404- Embed key, route of captureconfiguratie bestaat niet.
429- Een rate limit is geraakt; wacht en probeer gecontroleerd opnieuw.
503- Een tijdelijke afhankelijkheid zoals rate-limit of e-mailservice is niet beschikbaar.