Logs de Entrega do Webhook
Metodo
GET https://oapi.ogmma.com.br/v1/webhooks/:id/logs
Conceituacao
Este endpoint retorna o historico de entregas de um webhook especifico. Cada registro de log contem informacoes sobre o evento enviado, o status da entrega, o tempo de resposta e possiveis erros.
Utilize este endpoint para monitorar a saude das entregas do webhook, diagnosticar falhas e identificar problemas de conectividade com a URL de destino.
Atributos
Header
| Atributo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
Authorization | string | Sim | Chave de autenticacao da API. Bearer {API_KEY} |
Parametros de Rota
| Atributo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
id | string | Sim | ID do webhook. |
Query Parameters
| Atributo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
page | number | Nao | Numero da pagina para paginacao. Padrao: 1. |
limit | number | Nao | Quantidade de registros por pagina. Padrao: 20. Max: 100. |
status | string | Nao | Filtrar por status de entrega. Valores aceitos: DELIVERED, FAILED. |
Request
- cURL
- Node.js
- Python
curl -X GET "https://oapi.ogmma.com.br/v1/webhooks/{id}/logs?page=1&limit=20&status=FAILED" \
-H "Authorization: Bearer {API_KEY}"
const axios = require('axios');
const response = await axios.get(
'https://oapi.ogmma.com.br/v1/webhooks/{id}/logs',
{
params: {
page: 1,
limit: 20,
status: 'FAILED'
},
headers: {
'Authorization': 'Bearer {API_KEY}'
}
}
);
console.log(response.data);
import requests
response = requests.get(
'https://oapi.ogmma.com.br/v1/webhooks/{id}/logs',
params={
'page': 1,
'limit': 20,
'status': 'FAILED'
},
headers={
'Authorization': 'Bearer {API_KEY}'
}
)
print(response.json())
Response
200 - Logs retornados com sucesso
{
"data": [
{
"id": "665f3c4d5e6f7a8b9c0d1e2f",
"webhookId": "665f1a2b3c4d5e6f7a8b9c0d",
"event": "message.received",
"status": "DELIVERED",
"statusCode": 200,
"responseTime": 145,
"attempt": 1,
"error": null,
"deliveredAt": "2024-06-10T15:00:01.234Z",
"failedAt": null
},
{
"id": "665f4d5e6f7a8b9c0d1e2f3a",
"webhookId": "665f1a2b3c4d5e6f7a8b9c0d",
"event": "message.sent",
"status": "DELIVERED",
"statusCode": 200,
"responseTime": 210,
"attempt": 2,
"error": null,
"deliveredAt": "2024-06-10T15:01:30.567Z",
"failedAt": null
},
{
"id": "665f5e6f7a8b9c0d1e2f3a4b",
"webhookId": "665f1a2b3c4d5e6f7a8b9c0d",
"event": "conversation.created",
"status": "FAILED",
"statusCode": 503,
"responseTime": 30000,
"attempt": 5,
"error": "Timeout: servidor nao respondeu em 30 segundos",
"deliveredAt": null,
"failedAt": "2024-06-10T15:05:00.890Z"
}
],
"meta": {
"total": 3,
"limit": 20,
"offset": 0,
"hasMore": false
}
}
Campos do Log
| Campo | Tipo | Descricao |
|---|---|---|
id | string | Identificador unico do registro de log. |
webhookId | string | ID do webhook associado. |
event | string | Nome do evento que foi enviado (ex: message.received). |
status | string | Status da entrega: DELIVERED ou FAILED. |
statusCode | number | Codigo HTTP retornado pela URL de destino. |
responseTime | number | Tempo de resposta em milissegundos. |
attempt | number | Numero da tentativa de entrega (1 = primeira tentativa). |
error | string | null | Mensagem de erro em caso de falha. null quando bem-sucedido. |
deliveredAt | string | null | Data/hora da entrega bem-sucedida em formato ISO 8601. |
failedAt | string | null | Data/hora da falha em formato ISO 8601. |
401 - Nao autorizado
{
"message": "Token de autenticacao invalido ou ausente.",
"code": "UNAUTHORIZED"
}
429 - Limite de requisicoes excedido
{
"message": "Limite de requisicoes excedido. Tente novamente em alguns instantes.",
"code": "RATE_LIMIT_EXCEEDED"
}
Dica
Filtre por status=FAILED para identificar rapidamente entregas que falharam. Verifique o campo error e statusCode para diagnosticar a causa da falha.