Salta ai contenuti

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>

Autenticazione: Nessuna: la richiesta è autenticata dalla firma descritta sopra.

Nome Dove Tipo Obbligatorio Descrizione
tenant query string sì
key query string sì Public widget key.
Stato Descrizione
200 JavaScript loader.

Esempio 200

(function(){ /* exoCortex widget loader */ })();
Finestra del terminale
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.

Autenticazione: Nessuna: la richiesta è autenticata dalla firma descritta sopra.

Nome Dove Tipo Obbligatorio Descrizione
tenant query string sì
key query string sì Public widget key.
Stato Descrizione
200 HTML document.

Esempio 200

<!DOCTYPE html><html>…</html>
Finestra del terminale
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.

Autenticazione: Chiave pubblica del widget: X-NH-Widget-Key: pk_…

application/json

Nome Tipo Obbligatorio Descrizione
tenant string sì Must match the widget key’s tenant.
email string (email) sì
name string no
subject string sì
description string sì
category string no
origin string no Page URL where the widget was used.
cf_turnstile_token string no 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"
}
Stato Descrizione
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.

Esempio 200

{
"ok": true,
"ticket_key": "ACME-1043",
"ingestion_id": "ing_2c71f0aa"
}
Finestra del terminale
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"}'

Pagina generata dalla specifica OpenAPI dell’API di integrazione, versione 1.1.0.