curl --request PATCH \
--url https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"status": "DISABLED"
}
'{
"id": "A1B2C3D4E5F6789012345678901234AB",
"channelId": "019E4C54B1B375A28970B605CA9B03C3",
"instanceId": "019E4C54B1B375A28970B605CA9B03C3",
"url": "https://app.suempresa.com/webhooks/omni-zapi",
"description": "Webhook principal de producción",
"events": [
"MESSAGE_RECEIVED",
"MESSAGE_STATUS"
],
"status": "ENABLED",
"signing": true,
"secret": "d4e5f6789012345678901234abcdef0123456789abcdef0123456789ab12c3d4",
"auth": {
"type": "BEARER",
"configured": true
},
"payloadFormat": "DEFAULT",
"customAttributes": {},
"createdAt": "2025-01-15T10:30:00.000+0000",
"updatedAt": "2025-01-20T14:00:00.000+0000"
}Actualizar webhook
Actualiza la configuración de un webhook existente
curl --request PATCH \
--url https://api.omni.z-api.io/v1/channels/{channelId}/webhooks/{webhookId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"status": "DISABLED"
}
'{
"id": "A1B2C3D4E5F6789012345678901234AB",
"channelId": "019E4C54B1B375A28970B605CA9B03C3",
"instanceId": "019E4C54B1B375A28970B605CA9B03C3",
"url": "https://app.suempresa.com/webhooks/omni-zapi",
"description": "Webhook principal de producción",
"events": [
"MESSAGE_RECEIVED",
"MESSAGE_STATUS"
],
"status": "ENABLED",
"signing": true,
"secret": "d4e5f6789012345678901234abcdef0123456789abcdef0123456789ab12c3d4",
"auth": {
"type": "BEARER",
"configured": true
},
"payloadFormat": "DEFAULT",
"customAttributes": {},
"createdAt": "2025-01-15T10:30:00.000+0000",
"updatedAt": "2025-01-20T14:00:00.000+0000"
}Conceptos
Actualiza parcialmente la configuración de un webhook. Solo se actualizan los campos que envías en el body; el resto se mantiene sin cambios.Actualizar los eventos
Al enviar el campoevents, la lista sustituye los eventos del webhook:
{ "events": ["MESSAGE_RECEIVED", "MESSAGE_STATUS", "CONNECTED"] }
- La lista no puede estar vacía:
"events": []devuelve400con{"error": "Events cannot be empty when provided"}. Para mantener los eventos, omite el campo. - Un elemento nulo, en blanco o con un nombre que no existe devuelve
400con{"error": "events contains an unknown or empty event name"}, y no se modifica nada.
events en las respuestas y se mantiene cuando sustituyes los eventos: el PATCH sustituye solo los eventos que la API conoce. Un webhook que solo tiene eventos así aparece con events: [].Cambiar la URL
La nuevaurl sigue las mismas reglas que en la creación (consulta URL del webhook). Solo se comprueba cuando cambia: un PATCH sin url, o con la URL ya guardada, no se rechaza por ella.
Habilitar o rotar la firma HMAC
Si envíassigning: true, se genera un secret nuevo y se devuelve en esa respuesta. Úsalo también para rotar el secret sin necesidad de recrear el webhook.
{ "signing": true }
secret se devuelve solo en esa respuesta. Guárdalo antes de salir de la página o de cerrar la sesión.signing: true rota el secret cada vez, incluso cuando la firma ya estaba habilitada y solo querías cambiar otro campo en la misma petición. Para no rotar, omite el campo signing.Deshabilitar temporalmente
{ "status": "DISABLED" }
DISABLED, el webhook deja de recibir eventos. Para reactivarlo:
{ "status": "ENABLED" }
status distinto de ENABLED y DISABLED devuelve 400 con {"error": "status must be one of [ENABLED, DISABLED]"}.
webhookId se obtiene en la respuesta del endpoint Crear webhook o Listar webhooks.Autorizaciones
Secret Key generada en el panel de Seguridad de Omni Z-API
Parámetros de ruta
ID del canal
"019E4C54B1B375A28970B605CA9B03C3"
ID del webhook
"A1B2C3D4E5F6789012345678901234AB"
Cuerpo
Todos los campos son opcionales: solo se actualizan los campos que se envían.
Nueva URL de destino, con las mismas reglas que en la creación. Solo se comprueba cuando cambia.
"https://nova-url.suempresa.com/webhooks/omni-zapi"
Nueva descripción
Nueva lista de eventos. Sustituye los eventos que la API conoce; un evento guardado que la API todavía no conoce se mantiene. No puede estar vacía (400).
MESSAGE_RECEIVED, MESSAGE_DELIVERY, MESSAGE_STATUS, RECEIVED_STATUS, RECEIVED_AND_DELIVERY, CONNECTED, DISCONNECTED, PRESENCE_CHAT, INITIAL_DATA, BLOCK DISABLED pausa la entrega de eventos sin eliminar el webhook Cualquier otro valor devuelve 400.
ENABLED, DISABLED Habilita o rota la firma HMAC. Genera un secret nuevo que se devuelve en la respuesta.
Configura cómo se autentica Omni Z-API al llamar a tu URL
Show child attributes
Show child attributes
DEFAULT, Z_API, CHATWOOT Respuesta
Webhook actualizado correctamente. El campo secret se devuelve solo cuando se ha habilitado signing en esta actualización.
ID único del webhook
"A1B2C3D4E5F6789012345678901234AB"
ID del canal al que pertenece el webhook
"019E4C54B1B375A28970B605CA9B03C3"
Obsoleto: usa channelId
"019E4C54B1B375A28970B605CA9B03C3"
URL de destino de los eventos
"https://app.suempresa.com/webhooks/omni-zapi"
Descripción del webhook
"Webhook principal de producción"
Tipos de evento configurados Un evento guardado que la API todavía no conoce no aparece aquí.
["MESSAGE_RECEIVED", "MESSAGE_STATUS"]
Estado actual del webhook
ENABLED, DISABLED "ENABLED"
Indica si la firma HMAC está habilitada
true
Resumen de la autenticación configurada: las credenciales no se devuelven por seguridad
Show child attributes
Show child attributes
Formato del payload entregado
DEFAULT, Z_API, CHATWOOT "DEFAULT"
Atributos extra configurados
{}
Fecha de creación
"2025-01-15T10:30:00.000+0000"
Fecha de la última actualización
"2025-01-15T10:30:00.000+0000"
Secret HMAC de 64 caracteres hexadecimales: se devuelve solo cuando se habilita signing en el create o el update. Guárdalo de forma segura; después no se podrá recuperar.
"a3f1c2d4e5b6789012345678901234abcdef0123456789abcdef0123456789ab"