Widżet
Embeddable support widget for customer websites.
Skrypt widżetu
Dział zatytułowany „Skrypt widżetu”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>Uwierzytelnianie: Brak: żądanie jest uwierzytelniane podpisem opisanym powyżej.
Parametry
Dział zatytułowany „Parametry”| Nazwa | Miejsce | Typ | Wymagany | Opis |
|---|---|---|---|---|
tenant |
query | string | tak | |
key |
query | string | tak | Public widget key. |
Odpowiedzi
Dział zatytułowany „Odpowiedzi”| Status | Opis |
|---|---|
200 |
JavaScript loader. |
Przykład 200
(function(){ /* exoCortex widget loader */ })();Przykład z curl
Dział zatytułowany „Przykład z curl”curl -X GET "https://exocortex-api.ai-exo-cortex.com/widget.js?tenant=ACME&key=pk_live_3f9a1c2e"Formularz widżetu
Dział zatytułowany „Formularz widżetu”GET /widget.html
The HTML form rendered inside the widget iframe. You normally don’t call it directly; /widget.js loads it.
Uwierzytelnianie: Brak: żądanie jest uwierzytelniane podpisem opisanym powyżej.
Parametry
Dział zatytułowany „Parametry”| Nazwa | Miejsce | Typ | Wymagany | Opis |
|---|---|---|---|---|
tenant |
query | string | tak | |
key |
query | string | tak | Public widget key. |
Odpowiedzi
Dział zatytułowany „Odpowiedzi”| Status | Opis |
|---|---|
200 |
HTML document. |
Przykład 200
<!DOCTYPE html><html>…</html>Przykład z curl
Dział zatytułowany „Przykład z curl”curl -X GET "https://exocortex-api.ai-exo-cortex.com/widget.html?tenant=ACME&key=pk_live_3f9a1c2e"Wysłanie zgłoszenia z widżetu
Dział zatytułowany „Wysłanie zgłoszenia z widżetu”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.
Uwierzytelnianie: Publiczny klucz widżetu: X-NH-Widget-Key: pk_…
Treść żądania
Dział zatytułowany „Treść żądania”application/json
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
tenant |
string | tak | Must match the widget key’s tenant. |
email |
string (email) | tak | |
name |
string | nie | |
subject |
string | tak | |
description |
string | tak | |
category |
string | nie | |
origin |
string | nie | Page URL where the widget was used. |
cf_turnstile_token |
string | nie | Cloudflare Turnstile token. Required if the tenant enabled Turnstile. You can also send it in the X-NH-Turnstile header. |
{ "tenant": "ACME", "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"}Odpowiedzi
Dział zatytułowany „Odpowiedzi”| Status | Opis |
|---|---|
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. |
Przykład 200
{ "ok": true, "ticket_key": "ACME-1043", "ingestion_id": "ing_2c71f0aa"}Przykład z curl
Dział zatytułowany „Przykład z curl”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"}'Strona wygenerowana ze specyfikacji OpenAPI API integracji, wersja 1.1.0.