Skip to main content

Webhooks por conta

Webhooks pertencem à credencial que os registrou. No modo BaaS isso significa:

  • Eventos de abertura de conta (ACCOUNT_REGISTER_*) → registre com a API Master
  • Eventos de movimento de uma conta (cobrança paga, Pix recebido…) → registre com o AppID daquela conta

Registrando um webhook

curl --request POST \
--url https://api.woovi.com/api/v1/webhook \
--header 'Authorization: <APP_ID_DA_CONTA>' \
--header 'Content-Type: application/json' \
--data-raw '{
"webhook": {
"name": "pagamentos conta cliente 001",
"event": "OPENPIX:CHARGE_COMPLETED",
"url": "https://minhaurl.exemplo/webhook/conta-001",
"authorization": "meu-token-de-verificacao",
"isActive": true
}
}'

No registro, a Woovi faz um handshake: sua URL recebe um POST de teste e precisa responder 200. Para pular essa validação, adicione ?validate=false à URL do endpoint. A resposta do registro inclui um hmacSecretKey, usado na validação de assinatura.

Eventos mais úteis no BaaS

EventoDispara quandoRegistrar com
OPENPIX:CHARGE_COMPLETEDuma cobrança da conta é pagaAppID da conta
OPENPIX:TRANSACTION_RECEIVEDa conta recebe um PixAppID da conta
OPENPIX:MOVEMENT_CONFIRMED / OPENPIX:MOVEMENT_FAILEDum envio de Pix da conta é confirmado / falhaAppID da conta
OPENPIX:TRANSACTION_REFUND_RECEIVEDa conta recebe uma devoluçãoAppID da conta
ACCOUNT_REGISTER_APPROVED / _REJECTED / _PENDINGum registro de conta muda de statusAPI Master

A lista completa de eventos está em GET /api/v1/webhook/events e em Tipos de eventos de webhook.

Um endpoint por conta ou um único endpoint?

Os dois funcionam. Com muitas contas, prefira um único endpoint no seu sistema e identifique a conta pelo caminho da URL registrada (ex.: /webhook/conta-001) ou pelo header authorization configurado em cada webhook.

Limites e segurança

  • Máximo de 50 webhooks por empresa; a mesma combinação de URL + evento não pode se repetir
  • Valide a assinatura x-webhook-signature de cada entrega — veja Validação de assinatura
  • Restrinja a origem aos IPs oficiais da Woovi — veja IPs de webhook