Avisos (webhooks)
Listar avisos
GET /v1/c/{slug}/webhooks · Alcances: webhooks:manage
Parámetros de la dirección
| Campo | Detalles |
|---|
slug | El identificador de la empresa en DoneTalk (el de la clave). |
Ejemplo de solicitud
curl -X GET "https://api.donetalk.com/v1/c/demo/webhooks" \
-H "Authorization: Bearer $DONETALK_KEY"
Respuesta 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"
}
]
}
Errores posibles
401 unauthorized403 insufficient_scope422 validation_failed429 rate_limited
Crear un aviso
POST /v1/c/{slug}/webhooks · Alcances: webhooks:manage
Una dirección de su sistema y los eventos que recibe. El secret vuelve una sola vez: guárdelo para verificar las firmas.
Parámetros de la dirección
| Campo | Detalles |
|---|
slug | El identificador de la empresa en DoneTalk (el de la clave). |
Cuerpo de la solicitud
| Campo | Tipo | Obligatorio | Detalles |
|---|
url | string (uri) | sí | hasta 2000 caracteres |
events | lista de uno 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 | sí | hasta 30 |
Ejemplo de solicitud
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"
]
}'
Respuesta 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…"
}
Errores posibles
401 unauthorized403 insufficient_scope422 validation_failed429 rate_limited
Editar un aviso
PATCH /v1/c/{slug}/webhooks/{id} · Alcances: webhooks:manage
Parámetros de la dirección
| Campo | Detalles |
|---|
slug | El identificador de la empresa en DoneTalk (el de la clave). |
id | El id del registro. |
Cuerpo de la solicitud
| Campo | Tipo | Obligatorio | Detalles |
|---|
url | string (uri) | no | hasta 2000 caracteres |
events | lista de uno 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 | no | hasta 30 |
status | uno de active, paused | no | |
Ejemplo de solicitud
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"
}'
Respuesta 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"
}
}
Errores posibles
401 unauthorized403 insufficient_scope422 validation_failed429 rate_limited
Borrar un aviso
DELETE /v1/c/{slug}/webhooks/{id} · Alcances: webhooks:manage
Parámetros de la dirección
| Campo | Detalles |
|---|
slug | El identificador de la empresa en DoneTalk (el de la clave). |
id | El id del registro. |
Ejemplo de solicitud
curl -X DELETE "https://api.donetalk.com/v1/c/demo/webhooks/:id" \
-H "Authorization: Bearer $DONETALK_KEY"
Respuesta 200
Errores posibles
401 unauthorized403 insufficient_scope422 validation_failed429 rate_limited
Enviar un aviso de prueba
POST /v1/c/{slug}/webhooks/{id}/test · Alcances: webhooks:manage
Parámetros de la dirección
| Campo | Detalles |
|---|
slug | El identificador de la empresa en DoneTalk (el de la clave). |
id | El id del registro. |
Ejemplo de solicitud
curl -X POST "https://api.donetalk.com/v1/c/demo/webhooks/:id/test" \
-H "Authorization: Bearer $DONETALK_KEY"
Respuesta 202
{
"deliveryId": "01a3e4f5-a6b7-7c8d-9e0f-1a2b3c4d5e6f",
"eventId": "01a3c0de-8b22-7c33-9d44-0e55f6677889"
}
Errores posibles
401 unauthorized403 insufficient_scope422 validation_failed429 rate_limited
Entregas recientes
GET /v1/c/{slug}/webhooks/{id}/deliveries · Alcances: webhooks:manage
Parámetros de la dirección
| Campo | Detalles |
|---|
slug | El identificador de la empresa en DoneTalk (el de la clave). |
id | El id del registro. |
Ejemplo de solicitud
curl -X GET "https://api.donetalk.com/v1/c/demo/webhooks/:id/deliveries" \
-H "Authorization: Bearer $DONETALK_KEY"
Respuesta 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"
}
]
}
Errores posibles
401 unauthorized403 insufficient_scope422 validation_failed429 rate_limited
Esta página en Markdown