Webhooks da conta
A API avisa o seu servidor quando o dinheiro entra, sai ou falha. Você
cria a assinatura com o accountId da sua conta; omitir devolve
422 account_id_required. Não existe assinatura “de todas as contas”
com esta credencial — isso seria ler o movimento de outra pessoa.
Host: https://client.api.corpx.com. O envelope e o catálogo completo
de tipos estão em Webhooks (referência). Aqui está o
recorte que importa no primeiro dia.
Criar a assinatura
accountId não se edita depois. Trocar de URL ou de eventos: PUT /v1/webhooks/{subscriptionId}. Trocar de conta: crie outra assinatura.
authType: HMAC é o recomendado. O segredo nunca volta nas
respostas (hmacSecretSet: true|false). Omitir secret no PUT
mantém a chave; enviar um valor novo rotaciona; authType: "NONE"
apaga a chave.
Lista de tipos: GET /v1/webhooks/events.
Eventos úteis no primeiro dia
O catálogo tem dezenas de outros (MED, tarifas, accreditation). Só assine o que você vai tratar.
Validar o HMAC
Com authType: HMAC, cada entrega traz X-Signature:
base64(HMAC_SHA256(secret, corpo_bruto)). Use os bytes brutos —
re-serializar o JSON muda a ordem dos campos e invalida a assinatura.
Responda 2xx quando receber o envelope. Trabalho pesado fica na fila. 4xx/5xx disparam nova tentativa.
Entregas e reenvio
GET /v1/webhooks/{subscriptionId}/deliveries— tentativas, mais recentes primeiro. SemfromDate, últimos 7 dias.GET /v1/webhooks/{subscriptionId}/deliveries/{deliveryId}— envelope enviado, quando persistido.POST .../deliveries/{deliveryId}/retry— reentrega só nesta assinatura.
Checklist
- HTTPS no seu endpoint
-
accountIdna criação - HMAC conferido com o corpo bruto
- 2xx rápido; processamento assíncrono
- Idempotência no seu lado: o mesmo
eventIdpode chegar de novo