Aller au contenu

Widget

Embeddable support widget for customer websites.

GET /widget.js

Script to include in your website. It injects a floating support button that opens the ticket form (/widget.html) in an iframe.

<script src="https://exocortex-api.ai-exo-cortex.com/widget.js?tenant=ACME&key=pk_live_3f9a1c2e" async></script>

Authentification: Aucune : la requête est authentifiée par la signature décrite ci-dessus.

Nom Emplacement Type Obligatoire Description
tenant query string oui
key query string oui Public widget key.
Statut Description
200 JavaScript loader.

Exemple 200

(function(){ /* exoCortex widget loader */ })();
Fenêtre de terminal
curl -X GET "https://exocortex-api.ai-exo-cortex.com/widget.js?tenant=ACME&key=pk_live_3f9a1c2e"

GET /widget.html

The HTML form rendered inside the widget iframe. You normally don’t call it directly; /widget.js loads it.

Authentification: Aucune : la requête est authentifiée par la signature décrite ci-dessus.

Nom Emplacement Type Obligatoire Description
tenant query string oui
key query string oui Public widget key.
Statut Description
200 HTML document.

Exemple 200

<!DOCTYPE html><html>…</html>
Fenêtre de terminal
curl -X GET "https://exocortex-api.ai-exo-cortex.com/widget.html?tenant=ACME&key=pk_live_3f9a1c2e"

POST /api/v1/widget/submit

Used by the widget form. Limited to 30 submissions per hour per client IP and tenant. If the tenant enabled Cloudflare Turnstile, a valid cf_turnstile_token is required.

Authentification: Clé publique du widget : X-NH-Widget-Key: pk_…

application/json

Nom Type Obligatoire Description
tenant string oui Must match the widget key’s tenant.
email string (email) oui
name string non
subject string oui
description string oui
category string non
origin string non Page URL where the widget was used.
cf_turnstile_token string non Cloudflare Turnstile token. Required if the tenant enabled Turnstile. You can also send it in the X-NH-Turnstile header.
{
"tenant": "ACME",
"email": "[email protected]",
"name": "Maria Rossi",
"subject": "Cannot download my invoice",
"description": "The invoice page shows an empty PDF for October.",
"category": "Billing",
"origin": "https://www.example.com/account",
"cf_turnstile_token": "0.xY2fake-turnstile-token"
}
Statut Description
200 Ticket created.
400 Invalid request.
401 Not authenticated.
403 Authenticated but not allowed (role, tenant or key).
429 Too many submissions from this IP (30 per hour).
500 Unexpected server error.

Exemple 200

{
"ok": true,
"ticket_key": "ACME-1043",
"ingestion_id": "ing_2c71f0aa"
}
Fenêtre de terminal
curl -X POST "https://exocortex-api.ai-exo-cortex.com/api/v1/widget/submit" \
-H "X-NH-Widget-Key: $EXO_WIDGET_KEY" \
-H "Content-Type: application/json" \
--data '{"tenant":"ACME","email":"[email protected]","name":"Maria Rossi","subject":"Cannot download my invoice","description":"The invoice page shows an empty PDF for October.","category":"Billing","origin":"https://www.example.com/account","cf_turnstile_token":"0.xY2fake-turnstile-token"}'

Page générée à partir de la spécification OpenAPI de l’API d’intégration, version 1.1.0.