Endpoints
Crea endpoints de webhook, elige los eventos que recibe cada uno y adminístralos desde el dashboard.
Un endpoint es la URL de tu servidor que recibe los webhooks. Con Webhooks 2.0 puedes tener hasta 10, y cada uno recibe solo los eventos que elijas para él.
Webhooks 2.0 se habilita por cuenta. Si en Desarrolladores de tu dashboard no aparece la pestaña Eventos, tu cuenta está en la versión anterior: pide a tu contacto de Tonder que la habilite.
La versión anterior se explica en Cuentas sin Webhooks 2.0.

Crea un endpoint
Abre la pestaña Webhooks
En el dashboard, entra a Desarrolladores › Webhooks y haz clic en Crear endpoint.
Ponle nombre y define la URL
- Nombre — máximo 80 caracteres. La Descripción es opcional.
- URL del endpoint — debe empezar con
https://. No se aceptan direcciones privadas o internas (por ejemplo127.0.0.1).
Elige el método de autenticación
Elige lo que tu servidor espera en cada solicitud —ver Headers de autenticación. Además, cada webhook viene firmado, elijas lo que elijas.
Selecciona los eventos
En Selecciona los eventos que se notificarán al endpoint, marca los eventos que debe recibir este endpoint, o Todos los eventos de un grupo. Cada grupo muestra su formato de payload (Short o Long); la lista completa está en el Catálogo de eventos.
Crea el endpoint y guarda el secreto de firma
Haz clic en Crear. El dashboard muestra el Secreto de firma una sola vez: cópialo a tu servidor en ese momento, porque no se volverá a mostrar. Lo usas para verificar la firma. Guárdalo como un secreto del servidor —una variable de entorno o un gestor de secretos—, nunca en código del frontend ni en tu repositorio.
Envía una prueba
En el menú de acciones del endpoint, elige Enviar prueba. Tonder envía un evento
endpoint.test, que aparece en el registro de eventos con la
respuesta de tu servidor. Un 2xx significa que el endpoint está listo.

Headers de autenticación
| Método de autenticación | Qué recibe tu endpoint |
|---|---|
| Ninguno | Solo los headers de firma de Tonder. |
| Bearer | Authorization: Bearer <tu token> |
| Token de API | Tu token en el header que indiques —X-API-Key por defecto. |
| Basic auth | Authorization: Basic base64(usuario:contraseña) |
El token, el nombre del header y las credenciales los eliges tú; Tonder los guarda y los envía en cada solicitud. Verifica la firma en todos los casos: un header de autenticación es una capa adicional, no un reemplazo.
Genera un valor largo y aleatorio para cada endpoint, y no reutilices tu llave de API de Tonder ni otra credencial. No pongas tokens en la URL del endpoint: la URL se muestra en la lista de endpoints.
Administra los endpoints
Cada endpoint de Desarrolladores › Webhooks tiene un menú de acciones:
| Acción | Qué pasa |
|---|---|
| Editar | Cambia la URL, la autenticación o los eventos. El cambio aplica desde el siguiente evento; los eventos que ya se están reintentando continúan. |
| Enviar prueba | Envía un evento endpoint.test, aunque el endpoint no esté suscrito a él. |
| Desactivar | El endpoint deja de recibir eventos hasta que lo reactives. Sus reintentos pendientes quedan Fallidos ("Endpoint no disponible"). |
| Rotar secreto | Genera un secreto de firma nuevo; el anterior sigue firmando durante 24 horas. Ver Rota el secreto. |
| Eliminar | El endpoint deja de recibir eventos de inmediato. Sus eventos anteriores siguen visibles en el registro de eventos. |
La lista muestra, para cada endpoint, el método de autenticación, los eventos suscritos, la tasa de error de las últimas 24 horas y el estado. Todo lo de esta pantalla también está disponible por la API de webhooks.
Solución de problemas
- El endpoint no recibe un evento: revisa que esté Activo, suscrito a ese evento,
accesible públicamente por HTTPS y respondiendo un
2xxen menos de 10 segundos. Busca el evento en el registro de eventos para ver qué respondió tu servidor. - La URL se rechaza al crear el endpoint: no empieza con
https://o apunta a una dirección privada o interna. - Tu servidor rechaza las solicitudes: revisa que espere el método de autenticación y las credenciales configurados en el endpoint, y que verifique la firma con el secreto vigente.
Cuentas sin Webhooks 2.0
En la versión anterior registras una URL por API, y esa URL recibe todos los eventos.
Requisitos de seguridad: usa una URL segura (HTTPS), configura un método de autenticación
(BEARER, API_TOKEN o BASIC_AUTH) para verificar que las peticiones vienen de Tonder, y valida la
estructura y el contenido del evento antes de procesarlo.
Registra la URL
Registra una nueva URL con el endpoint /webhooks/. Puedes configurar la autenticación para asegurar
tu endpoint:
curl -X POST https://stage.tonder.io/api/v1/webhooks/ \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-site.com/webhook-handler",
"auth_method": "BEARER",
"credentials": {
"token": "a-secure-bearer-token-you-generate"
}
}'La respuesta confirma el endpoint creado:
{
"id": 123,
"url": "https://your-site.com/webhook-handler",
"status": "active",
"auth_method": "BEARER",
"credentials": {
"token": "a-secure-bearer-token-you-generate"
}
}| Campo | Tipo | Descripción |
|---|---|---|
id | integer | Identificador único del endpoint. |
url | string | La URL que registraste. |
status | string | Estado del webhook (active, inactive). |
auth_method | string | Método de autenticación (BEARER, API_TOKEN, BASIC_AUTH). |
credentials | object | Credenciales de autenticación asociadas. |
Guarda el id del webhook para las operaciones de gestión.
Métodos de autenticación
Lo que recibe tu endpoint depende del auth_method que configures:
auth_method | Qué configuras en credentials | Qué recibe tu endpoint |
|---|---|---|
BEARER | token | Authorization: Bearer <token> |
API_TOKEN | header y token | <header>: <token> — literal, tal cual |
BASIC_AUTH | username y password | Authorization: Basic base64(username:password) |
Con API_TOKEN defines tanto el nombre del header como su valor, y lo enviamos tal cual,
sin agregar ningún prefijo. Para recibir Authorization: Token abc123, configura
header: "Authorization" y token: "Token abc123". Un header propio, como X-Api-Key, también
funciona.
{
"url": "https://your-site.com/webhook-handler",
"auth_method": "API_TOKEN",
"credentials": {
"header": "X-Api-Key",
"token": "a-secret-you-generate"
}
}En todos los casos el secreto lo generas tú. Lo guardamos y lo reenviamos en cada notificación para que tu backend pueda validarlo.
Gestiona la URL
| Operación | Método | Endpoint | Propósito |
|---|---|---|---|
| Listar | GET | /webhooks/ | Recupera todos los endpoints configurados. |
| Actualizar | PUT | /webhooks/{webhook_id}/ | Actualiza la configuración de un endpoint. |
| Eliminar | DELETE | /webhooks/{webhook_id}/ | Elimina un endpoint (deja de recibir notificaciones). |
curl -X GET https://stage.tonder.io/api/v1/webhooks/ \
-H "Authorization: Token YOUR_API_KEY"curl -X PUT https://stage.tonder.io/api/v1/webhooks/123/ \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "https://your-updated-site.com/webhook-handler" }'curl -X DELETE https://stage.tonder.io/api/v1/webhooks/123/ \
-H "Authorization: Token YOUR_API_KEY"En la versión anterior el endpoint debe responder un 2xx en menos de 30 segundos, y cada evento
se entrega una sola vez —ver Sin Webhooks 2.0.
