Probar webhook
Dispara un evento de prueba a todos los webhooks activos de la entidad que estén suscritos al evento indicado. Permite verificar que los endpoints receptores están accesibles y responden correctamente antes de pasar a producción.
Comportamiento
Este endpoint no prueba un webhook concreto por ID. Envía el evento a todos los webhooks activos suscritos al evento indicado. Si quiere probar solo uno, regístrelo con ese único evento antes de lanzar la prueba.
Body de la petición
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
evento |
string | Sí | Nombre del evento a simular. Debe ser uno de los 11 eventos válidos (ver GET /webhooks/eventos) |
datosExtra |
object | No | Datos adicionales que se incluirán en el campo datos del payload enviado |
Ejemplo de petición
import requests
BASE_URL = "https://apientidades-pro.transparenciacanarias.org/apientidades/v1"
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}
response = requests.post(
f"{BASE_URL}/webhooks/test",
headers=headers,
json={"evento": "evaluacion.abierta"}
)
print(response.json())
Payload de prueba enviado a los webhooks
El sistema envía un POST a la URL de cada webhook suscrito al evento indicado:
POST https://mi-entidad.es/api/webhooks/tcanaria
Content-Type: application/json
X-Webhook-Event: evaluacion.abierta
X-Webhook-Signature: abc123...
{
"evento": "evaluacion.abierta",
"timestamp": "2026-03-25T14:30:00Z",
"data": {
"test": true,
"entidadId": 1001,
"entidadNombre": "AYUNTAMIENTO DE EJEMPLO",
"mensaje": "Evento de prueba 'evaluacion.abierta' disparado desde la API de integracion.",
"datos": {}
}
}
El campo test: true permite que su receptor distinga los eventos de prueba de los reales.
Respuesta exitosa (200)
{
"message": "Evento de prueba 'evaluacion.abierta' encolado para 2 webhook(s).",
"webhooks": [
{ "id": 1, "url": "https://mi-entidad.es/api/webhooks/tcanaria" },
{ "id": 2, "url": "https://mi-entidad.es/api/webhooks/backup" }
]
}
| Campo | Tipo | Descripción |
|---|---|---|
message |
string | Confirmación con el número de webhooks a los que se ha encolado el evento |
webhooks |
array | Lista de webhooks (id y url) que recibirán la notificación |
Envío asíncrono
El evento se encola y se envía de forma asíncrona. La respuesta 200 confirma que el envío fue programado, no que el endpoint de su entidad lo recibió correctamente. Revise los logs de su servidor para confirmar la recepción.
Errores posibles
| Código | Descripción |
|---|---|
400 |
Campo evento ausente o vacío |
400 |
Evento no válido (no está en la lista de eventos disponibles) |
401 |
Token ausente, expirado o inválido |
404 |
No hay webhooks activos suscritos al evento indicado. Registre uno primero con POST /webhooks |
Verificar antes de producción
Use este endpoint después de registrar un webhook para confirmar que su endpoint está accesible. Si no recibe la notificación, verifique:
- Que la URL es accesible desde internet (no solo desde su red interna)
- Que el certificado SSL es válido
- Que el endpoint acepta peticiones POST con
Content-Type: application/json - Que devuelve un código
2xx
Firma incluida
El payload de prueba incluye la firma HMAC-SHA256 en la cabecera X-Webhook-Signature si configuró un secreto al registrar el webhook. Aproveche la prueba para verificar su lógica de validación de firma.