Ir para o conteúdo

API — Webhooks

Base: /api/v1/webhooks. Escopo: webhooks:manage.

Para validar a assinatura HMAC do callback, ver Validação HMAC. Para a lista de eventos, ver Eventos.

Cadastrar

POST /api/v1/webhooks
{
  "url": "https://meu-app.com/webhooks/aceitou",
  "events": ["document_sent", "signer_signed", "document_completed"]
}

Resposta 201:

{
  "id": 7,
  "secret": "abc123def456...32chars"
}

O secret aparece UMA VEZ

Guarde no momento da criação. A Aceitou só armazena hash. Se perder, rotacione (POST /webhooks/{id}/rotate-secret).

Listar

GET /api/v1/webhooks
{
  "items": [
    { "id": 7, "url": "https://...", "events": ["..."], "isActive": true, "createdAt": "..." }
  ]
}

Secret nunca volta no list — só na criação/rotação.

Atualizar

PUT /api/v1/webhooks/{id}
{
  "url": "https://novo-app.com/webhooks/aceitou",
  "events": ["document_sent", "document_completed"],
  "isActive": true
}

Rotacionar secret

POST /api/v1/webhooks/{id}/rotate-secret

Resposta traz { "secret": "..." } — atualize seu lado antes de descartar o antigo (a Aceitou só usa o novo).

Excluir

DELETE /api/v1/webhooks/{id}

A partir daqui, eventos param de ser entregues. Soft delete (histórico de entregas mantido por 90 dias).

Listar entregas

GET /api/v1/webhooks/{id}/deliveries?page=1&pageSize=50
{
  "items": [
    {
      "id": 4567,
      "eventType": "document_sent",
      "url": "https://...",
      "attempts": 1,
      "lastAttemptAt": "2026-05-23T...",
      "responseStatusCode": 200,
      "responseBody": "ok",
      "deliveredAt": "2026-05-23T..."
    }
  ]
}

Reenviar uma entrega manualmente

POST /api/v1/webhooks/{id}/deliveries/{deliveryId}/redeliver

Útil quando seu endpoint estava fora do ar e você quer reprocessar manualmente após corrigir.