Pular para o conteúdo

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>

Autenticação: Nenhuma: o pedido é autenticado pela assinatura descrita acima.

Nome Onde Tipo Obrigatório Descrição
tenant query string sim
key query string sim Public widget key.
Estado Descrição
200 JavaScript loader.

Exemplo 200

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

Autenticação: Nenhuma: o pedido é autenticado pela assinatura descrita acima.

Nome Onde Tipo Obrigatório Descrição
tenant query string sim
key query string sim Public widget key.
Estado Descrição
200 HTML document.

Exemplo 200

<!DOCTYPE html><html>…</html>
Janela do 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.

Autenticação: Chave pública do widget: X-NH-Widget-Key: pk_…

application/json

Nome Tipo Obrigatório Descrição
tenant string sim Must match the widget key’s tenant.
email string (email) sim
name string não
subject string sim
description string sim
category string não
origin string não Page URL where the widget was used.
cf_turnstile_token string não 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"
}
Estado Descrição
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.

Exemplo 200

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

Página gerada a partir da especificação OpenAPI da API de integração, versão 1.1.0.