Avisos (webhooks)
Listar avisos
GET /v1/c/{slug}/webhooks · Escopos: webhooks:manage
Parâmetros do endereço
| Campo | Detalhes |
|---|
slug | O identificador da empresa no DoneTalk (o mesmo da chave). |
Exemplo de pedido
curl -X GET "https://api.donetalk.com/v1/c/demo/webhooks" \
-H "Authorization: Bearer $DONETALK_KEY"
Resposta 200
{
"webhooks": [
{
"id": "01a0cb03-417a-7da4-9ae2-70bc321eeef5",
"url": "https://erp.captei.com.br/donetalk/avisos",
"events": [
"campaign.completed",
"campaign.recipient.replied",
"conversation.closed"
],
"status": "active",
"failureCount": 0,
"createdBy": null,
"createdAt": "2026-10-23T13:02:11.000Z",
"updatedAt": "2026-10-23T13:02:11.000Z"
}
]
}
Erros possíveis
401 unauthorized403 insufficient_scope422 validation_failed429 rate_limited
Criar um aviso
POST /v1/c/{slug}/webhooks · Escopos: webhooks:manage
Um endereço do seu sistema e os eventos que ele recebe. O secret volta uma vez só: guarde para conferir as assinaturas.
Parâmetros do endereço
| Campo | Detalhes |
|---|
slug | O identificador da empresa no DoneTalk (o mesmo da chave). |
Corpo do pedido
| Campo | Tipo | Obrigatório | Detalhes |
|---|
url | string (uri) | sim | até 2000 caracteres |
events | lista de um de conversation.opened, conversation.closed, conversation.assigned, conversation.transferred, conversation.reopened, contact.updated, contact.consent_changed, message.received, message.sent, message.delivered, message.read, message.failed, flow.event, appointment.booked, appointment.rescheduled, appointment.cancelled, appointment.confirmed, appointment.attended, appointment.no_show, campaign.started, campaign.paused, campaign.resumed, campaign.completed, campaign.cancelled, campaign.recipient.sent, campaign.recipient.delivered, campaign.recipient.read, campaign.recipient.replied, campaign.recipient.failed, campaign.recipient.opted_out | sim | até 30 |
Exemplo de pedido
curl -X POST "https://api.donetalk.com/v1/c/demo/webhooks" \
-H "Authorization: Bearer $DONETALK_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://erp.captei.com.br/donetalk/avisos",
"events": [
"campaign.completed",
"campaign.recipient.replied",
"conversation.closed"
]
}'
Resposta 201
{
"webhook": {
"id": "01a0cb03-417a-7da4-9ae2-70bc321eeef5",
"url": "https://erp.captei.com.br/donetalk/avisos",
"events": [
"campaign.completed",
"campaign.recipient.replied",
"conversation.closed"
],
"status": "active",
"failureCount": 0,
"createdBy": null,
"createdAt": "2026-10-23T13:02:11.000Z",
"updatedAt": "2026-10-23T13:02:11.000Z"
},
"secret": "dsf_whsec_4Jx…"
}
Erros possíveis
401 unauthorized403 insufficient_scope422 validation_failed429 rate_limited
Editar um aviso
PATCH /v1/c/{slug}/webhooks/{id} · Escopos: webhooks:manage
Parâmetros do endereço
| Campo | Detalhes |
|---|
slug | O identificador da empresa no DoneTalk (o mesmo da chave). |
id | O id do registro. |
Corpo do pedido
| Campo | Tipo | Obrigatório | Detalhes |
|---|
url | string (uri) | não | até 2000 caracteres |
events | lista de um de conversation.opened, conversation.closed, conversation.assigned, conversation.transferred, conversation.reopened, contact.updated, contact.consent_changed, message.received, message.sent, message.delivered, message.read, message.failed, flow.event, appointment.booked, appointment.rescheduled, appointment.cancelled, appointment.confirmed, appointment.attended, appointment.no_show, campaign.started, campaign.paused, campaign.resumed, campaign.completed, campaign.cancelled, campaign.recipient.sent, campaign.recipient.delivered, campaign.recipient.read, campaign.recipient.replied, campaign.recipient.failed, campaign.recipient.opted_out | não | até 30 |
status | um de active, paused | não | |
Exemplo de pedido
curl -X PATCH "https://api.donetalk.com/v1/c/demo/webhooks/:id" \
-H "Authorization: Bearer $DONETALK_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "paused"
}'
Resposta 200
{
"webhook": {
"id": "01a0cb03-417a-7da4-9ae2-70bc321eeef5",
"url": "https://erp.captei.com.br/donetalk/avisos",
"events": [
"campaign.completed",
"campaign.recipient.replied",
"conversation.closed"
],
"status": "active",
"failureCount": 0,
"createdBy": null,
"createdAt": "2026-10-23T13:02:11.000Z",
"updatedAt": "2026-10-23T13:02:11.000Z"
}
}
Erros possíveis
401 unauthorized403 insufficient_scope422 validation_failed429 rate_limited
Apagar um aviso
DELETE /v1/c/{slug}/webhooks/{id} · Escopos: webhooks:manage
Parâmetros do endereço
| Campo | Detalhes |
|---|
slug | O identificador da empresa no DoneTalk (o mesmo da chave). |
id | O id do registro. |
Exemplo de pedido
curl -X DELETE "https://api.donetalk.com/v1/c/demo/webhooks/:id" \
-H "Authorization: Bearer $DONETALK_KEY"
Resposta 200
Erros possíveis
401 unauthorized403 insufficient_scope422 validation_failed429 rate_limited
Mandar um aviso de teste
POST /v1/c/{slug}/webhooks/{id}/test · Escopos: webhooks:manage
Parâmetros do endereço
| Campo | Detalhes |
|---|
slug | O identificador da empresa no DoneTalk (o mesmo da chave). |
id | O id do registro. |
Exemplo de pedido
curl -X POST "https://api.donetalk.com/v1/c/demo/webhooks/:id/test" \
-H "Authorization: Bearer $DONETALK_KEY"
Resposta 202
{
"deliveryId": "01a3e4f5-a6b7-7c8d-9e0f-1a2b3c4d5e6f",
"eventId": "01a3c0de-8b22-7c33-9d44-0e55f6677889"
}
Erros possíveis
401 unauthorized403 insufficient_scope422 validation_failed429 rate_limited
Entregas recentes
GET /v1/c/{slug}/webhooks/{id}/deliveries · Escopos: webhooks:manage
Parâmetros do endereço
| Campo | Detalhes |
|---|
slug | O identificador da empresa no DoneTalk (o mesmo da chave). |
id | O id do registro. |
Exemplo de pedido
curl -X GET "https://api.donetalk.com/v1/c/demo/webhooks/:id/deliveries" \
-H "Authorization: Bearer $DONETALK_KEY"
Resposta 200
{
"deliveries": [
{
"id": "01a3e4f5-a6b7-7c8d-9e0f-1a2b3c4d5e6f",
"eventId": "01a3c0de-8b22-7c33-9d44-0e55f6677889",
"eventType": "campaign.recipient.replied",
"attempt": 1,
"status": "delivered",
"responseCode": 200,
"responseMs": 84,
"nextAttemptAt": null,
"createdAt": "2026-10-24T12:04:03.000Z"
}
]
}
Erros possíveis
401 unauthorized403 insufficient_scope422 validation_failed429 rate_limited
Esta página em Markdown