Referencia › Crear un webhook
Crear un webhook
# Crear un webhook
POST https://api.wizerp.com/api/v1/webhooks
Da de alta una URL de tu sistema para recibir avisos cuando algo cambia en Wizerp, en vez de consultar una y otra vez. Cada aviso es un POST JSON firmado con HMAC-SHA256 (cabecera X-Wizerp-Firma). La guía de verificación y el catálogo de eventos están en https://developer.wizerp.com/webhooks/.
La respuesta trae el secreto de firma (whsec_…) UNA sola vez: guárdalo. Repetir la petición con la misma Idempotency-Key devuelve el webhook con secreto null; si lo perdiste, rótalo con POST /webhooks/{clave}/secreto.
Reglas: https al puerto 443, con nombre de dominio (no IP), que resuelva a una dirección pública; no se siguen redirecciones. Hasta 10 webhooks por empresa y una URL no se repite. Cada evento exige que la llave tenga el permiso de lectura de su recurso (venta.creada pide ventas:read, etc.), y cualquier acción posterior sobre el webhook (editar, borrar, rotar, probar, reenviar) exige los permisos de lectura de TODOS sus eventos. Las entregas NO cuentan contra el cupo mensual de la API.
Toda escritura necesita la cabecera Idempotency-Key: un valor único por operación (por ejemplo un UUID) que repites tal cual al reintentar. Con la misma clave y los mismos datos se devuelve la respuesta guardada, sin duplicar; con la misma clave y datos distintos responde 409.
Permiso: webhooks:write
## Cuerpo JSON
- `url` (texto): URL https de tu sistema que recibirá los avisos (máximo 500). Obligatoria.
- `eventos` (lista): Lista de eventos a recibir (al menos uno): venta.creada, factura.timbrada, factura.cancelada, cxc.pago_aplicado, cliente.creado, cliente.actualizado, producto.creado, producto.actualizado, inventario.existencia_cambiada, oportunidad.creada, oportunidad.etapa_cambiada. Obligatoria.
- `descripcion` (texto): Texto libre para reconocerlo (máximo 120).
https://api.wizerp.com/api/v1/webhooks
https://api.wizerp.com/api/v1/webhooks
Da de alta una URL de tu sistema para recibir avisos cuando algo cambia en Wizerp, en vez de consultar una y otra vez. Cada aviso es un POST JSON firmado con HMAC-SHA256 (cabecera X-Wizerp-Firma). La guía de verificación y el catálogo de eventos están en https://developer.wizerp.com/webhooks/.
La respuesta trae el secreto de firma (whsec_…) UNA sola vez: guárdalo. Repetir la petición con la misma Idempotency-Key devuelve el webhook con secreto null; si lo perdiste, rótalo con POST /webhooks/{clave}/secreto.
Reglas: https al puerto 443, con nombre de dominio (no IP), que resuelva a una dirección pública; no se siguen redirecciones. Hasta 10 webhooks por empresa y una URL no se repite. Cada evento exige que la llave tenga el permiso de lectura de su recurso (venta.creada pide ventas:read, etc.), y cualquier acción posterior sobre el webhook (editar, borrar, rotar, probar, reenviar) exige los permisos de lectura de TODOS sus eventos. Las entregas NO cuentan contra el cupo mensual de la API.
Toda escritura necesita la cabecera Idempotency-Key: un valor único por operación (por ejemplo un UUID) que repites tal cual al reintentar. Con la misma clave y los mismos datos se devuelve la respuesta guardada, sin duplicar; con la misma clave y datos distintos responde 409.
Requiere el permiso webhooks:write en la llave
Cuerpo JSON
Además, toda escritura necesita la cabecera Idempotency-Key: un valor único por operación (por ejemplo un UUID) que repites tal cual al reintentar.
url
texto
obligatorio URL https de tu sistema que recibirá los avisos (máximo 500). Obligatoria.
eventos
lista
obligatorio Lista de eventos a recibir (al menos uno): venta.creada, factura.timbrada, factura.cancelada, cxc.pago_aplicado, cliente.creado, cliente.actualizado, producto.creado, producto.actualizado, inventario.existencia_cambiada, oportunidad.creada, oportunidad.etapa_cambiada. Obligatoria.
descripcion
texto
Texto libre para reconocerlo (máximo 120).