Pular para o conteúdo principal

Logs de Entrega

Monitore o historico de entregas dos seus webhooks, verifique falhas e reenvie notificacoes quando necessario.


Listar logs de entrega

Retorna o historico de tentativas de entrega de um webhook.

Requisicao

GET /v1/webhooks/{webhookId}/logs

URL completa: https://api.tapsign.com.br/v1/webhooks/{webhookId}/logs

Headers

HeaderValor
AuthorizationBearer {token}

Query parameters

ParametroTipoObrigatorioDescricao
pageintegerNaoNumero da pagina. Default: 0
sizeintegerNaoItens por pagina. Default: 20. Max: 100
statusstringNaoFiltrar por status: SUCCESS, FAILED, PENDING
eventTypestringNaoFiltrar por tipo de evento (ex: signer.signed)
dateFromstringNaoData inicial (ISO 8601)
dateTostringNaoData final (ISO 8601)

Exemplo de requisicao

curl -X GET "https://api.tapsign.com.br/v1/webhooks/wh_abc123def456/logs?page=0&size=10&status=FAILED" \
-H "Authorization: Bearer {token}"

Resposta

Status: 200 OK

{
"content": [
{
"id": "log_001",
"webhookId": "wh_abc123def456",
"eventId": "evt_sgn_signed_001",
"eventType": "signer.signed",
"status": "FAILED",
"statusCode": 500,
"attemptNumber": 3,
"sentAt": "2026-03-29T15:35:00Z",
"responseTime": 2340,
"responseBody": "Internal Server Error",
"nextRetryAt": "2026-03-29T16:05:00Z"
},
{
"id": "log_002",
"webhookId": "wh_abc123def456",
"eventId": "evt_env_completed_001",
"eventType": "envelope.completed",
"status": "SUCCESS",
"statusCode": 200,
"attemptNumber": 1,
"sentAt": "2026-03-29T16:00:05Z",
"responseTime": 156,
"responseBody": null,
"nextRetryAt": null
}
],
"page": 0,
"size": 10,
"totalElements": 2,
"totalPages": 1
}

Campos do log

CampoTipoDescricao
idstringIdentificador unico do log
webhookIdstringID do webhook
eventIdstringID do evento original
eventTypestringTipo do evento
statusstringSUCCESS, FAILED ou PENDING
statusCodeintegerCodigo HTTP retornado pelo seu servidor
attemptNumberintegerNumero da tentativa (1 a 5)
sentAtstringData/hora do envio (ISO 8601)
responseTimeintegerTempo de resposta em milissegundos
responseBodystringCorpo da resposta (truncado em 1KB)
nextRetryAtstringProxima tentativa agendada (se houver)

Reenviar entrega

Reenvia manualmente uma notificacao que falhou.

Requisicao

POST /v1/webhooks/{webhookId}/logs/{logId}/retry

URL completa: https://api.tapsign.com.br/v1/webhooks/{webhookId}/logs/{logId}/retry

Headers

HeaderValor
AuthorizationBearer {token}

Exemplo de requisicao

curl -X POST "https://api.tapsign.com.br/v1/webhooks/wh_abc123def456/logs/log_001/retry" \
-H "Authorization: Bearer {token}"

Resposta

Status: 200 OK

{
"id": "log_003",
"webhookId": "wh_abc123def456",
"eventId": "evt_sgn_signed_001",
"eventType": "signer.signed",
"status": "PENDING",
"attemptNumber": 4,
"sentAt": "2026-03-29T17:00:00Z"
}
Reenvio manual

O reenvio manual nao conta para o limite de retentativas automaticas. Voce pode reenviar quantas vezes precisar.


Estatisticas de entrega

Retorna um resumo das entregas do webhook.

Requisicao

GET /v1/webhooks/{webhookId}/logs/stats

URL completa: https://api.tapsign.com.br/v1/webhooks/{webhookId}/logs/stats

Headers

HeaderValor
AuthorizationBearer {token}

Exemplo de requisicao

curl -X GET "https://api.tapsign.com.br/v1/webhooks/wh_abc123def456/logs/stats" \
-H "Authorization: Bearer {token}"

Resposta

Status: 200 OK

{
"webhookId": "wh_abc123def456",
"totalDeliveries": 1520,
"successful": 1487,
"failed": 28,
"pending": 5,
"successRate": 97.83,
"averageResponseTime": 210,
"lastDeliveryAt": "2026-03-29T16:00:05Z",
"period": {
"from": "2026-03-01T00:00:00Z",
"to": "2026-03-29T23:59:59Z"
}
}
CampoTipoDescricao
totalDeliveriesintegerTotal de entregas no periodo
successfulintegerEntregas com sucesso
failedintegerEntregas com falha
pendingintegerEntregas pendentes (aguardando retentativa)
successRatenumberTaxa de sucesso em percentual
averageResponseTimeintegerTempo medio de resposta (ms)
lastDeliveryAtstringData da ultima entrega
periodobjectPeriodo dos dados (ultimos 30 dias)
Monitoramento

Acompanhe regularmente a taxa de sucesso dos seus webhooks. Se o successRate cair abaixo de 90%, verifique se seu servidor esta respondendo corretamente e dentro do timeout de 30 segundos.