Webhooks

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.

Endpoints de webhook en Desarrolladores › Webhooks

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 ejemplo 127.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.

Formulario Crear endpoint

Headers de autenticación

Método de autenticaciónQué recibe tu endpoint
NingunoSolo los headers de firma de Tonder.
BearerAuthorization: Bearer <tu token>
Token de APITu token en el header que indiques —X-API-Key por defecto.
Basic authAuthorization: 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ónQué pasa
EditarCambia 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 pruebaEnvía un evento endpoint.test, aunque el endpoint no esté suscrito a él.
DesactivarEl endpoint deja de recibir eventos hasta que lo reactives. Sus reintentos pendientes quedan Fallidos ("Endpoint no disponible").
Rotar secretoGenera un secreto de firma nuevo; el anterior sigue firmando durante 24 horas. Ver Rota el secreto.
EliminarEl 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 2xx en 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"
  }
}
CampoTipoDescripción
idintegerIdentificador único del endpoint.
urlstringLa URL que registraste.
statusstringEstado del webhook (active, inactive).
auth_methodstringMétodo de autenticación (BEARER, API_TOKEN, BASIC_AUTH).
credentialsobjectCredenciales 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_methodQué configuras en credentialsQué recibe tu endpoint
BEARERtokenAuthorization: Bearer <token>
API_TOKENheader y token<header>: <token> — literal, tal cual
BASIC_AUTHusername y passwordAuthorization: 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ónMétodoEndpointPropósito
ListarGET/webhooks/Recupera todos los endpoints configurados.
ActualizarPUT/webhooks/{webhook_id}/Actualiza la configuración de un endpoint.
EliminarDELETE/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.

Siguientes pasos

¿Te resultó útil esta página?

En esta página