Webhooks

Receba eventos em tempo real via webhooks assinados. Mensagens, presença, recibos de leitura — tudo entregue ao seu endpoint.

Configurar URL do Webhook

cURL
curl -X PUT https://api.ixblix.app/api/companies/webhook \
  -H "X-API-Key: smci_xxxx" \
  -H "Content-Type: application/json" \
  -d '{ "webhookUrl": "https://mycrm.example.com/ixblix/webhooks" }'

A resposta inclui o webhookSecret para verificar assinaturas. Armazene-o com segurança — ele é retornado apenas uma vez.

Eventos

EventoQuando dispara
COMPANY_ACTIVATEDEmpresa ativada após pagamento.
MESSAGE_RECEIVEDUm contato enviou uma mensagem.
MESSAGE_DELIVEREDO dispositivo do cliente recebeu uma mensagem da empresa.
MESSAGE_READCliente leu uma mensagem da empresa.
CUSTOMER_JOINEDCliente abriu o link e registrou a chave pública.
CONVERSATION_CLOSEDUma conversa foi fechada.
TYPINGCliente está digitando.
STOPPED_TYPINGCliente parou de digitar.
RECORDINGCliente está gravando áudio.
CHAT_CLOSEDCliente fechou a janela do chat.
BALANCE_LOWSaldo de créditos da empresa está baixo.

Exemplo de Payload

MESSAGE_RECEIVED
{
  "event": "MESSAGE_RECEIVED",
  "companyId": "660f9511-...",
  "conversationId": "880fc844-...",
  "messageId": "bb1if177-...",
  "sentAt": "2026-09-06T12:00:00.000Z"
}

Verificando Assinaturas

Payloads de webhook são assinados com HMAC-SHA256. A assinatura está no header X-Ixblix-Signature.

TypeScript
import { verifyWebhook, WEBHOOK_SIGNATURE_HEADER } from "@ixblix/sdk-js";

const signature = req.header(WEBHOOK_SIGNATURE_HEADER);
const { event } = verifyWebhook(
  req.body,
  process.env.IXBLIX_WEBHOOK_SECRET,
  signature,
);

Garantias de Entrega

  • A entrega é at-least-once. Deduplique por X-Ixblix-Event-Id.
  • Falhas são retentadas com backoff exponencial (até 8 tentativas).
  • Responda 2xx rapidamente. O ixblix expira após 10 segundos.

Headers

HeaderDescrição
X-Ixblix-SignatureAssinatura HMAC-SHA256.
X-Ixblix-Event-IdID único de entrega (para dedup).
X-Ixblix-EventTipo do evento.
X-Ixblix-Company-IdID da empresa (para receivers multi-tenant).
X-Ixblix-Backend-IdID da instância backend que gerou o evento.