Skip to main content
POST

Conceptos

Registra un nuevo endpoint de webhook en el canal. A partir de su creación, empieza a enviar los eventos configurados a la URL indicada. Un canal puede tener varios webhooks, algo útil para enviar eventos distintos a sistemas distintos o para mantener webhooks con formatos diferentes.

Firma HMAC

Si signing: true, el campo secret se genera automáticamente y se devuelve solo en esta respuesta. Guárdalo de forma segura: no volverá a mostrarse en ninguna otra llamada. Usa el secret para verificar en tu servidor la autenticidad de las peticiones recibidas. Calcula el HMAC-SHA256 sobre el body recibido usando el secret y compáralo con el header de firma que envía .
El channelId se obtiene a través del endpoint Crear canal.

Autorizaciones

Authorization
string
header
requerido

Secret Key generada en el panel de Seguridad de Omni Z-API

Parámetros de ruta

channelId
string
requerido

ID del canal

Ejemplo:

"019E4C54B1B375A28970B605CA9B03C3"

Cuerpo

application/json
url
string
requerido

URL de destino de los eventos (máx. 2048 caracteres)

Ejemplo:

"https://app.suempresa.com/webhooks/omni-zapi"

events
enum<string>[]
requerido

Tipos de evento que se van a recibir. Es obligatorio al menos uno.

Opciones disponibles:
MESSAGE_RECEIVED,
MESSAGE_DELIVERY,
MESSAGE_STATUS,
RECEIVED_STATUS,
RECEIVED_AND_DELIVERY,
CONNECTED,
DISCONNECTED,
PRESENCE_CHAT,
INITIAL_DATA,
BLOCK
Ejemplo:
description
string

Descripción opcional del webhook

Ejemplo:

"Webhook principal de producción"

signing
boolean
predeterminado:false

Habilita la firma HMAC-SHA256. Cuando es true, se genera un secret de 64 caracteres hexadecimales que se devuelve solo en la creación o la actualización. Úsalo para verificar la autenticidad de las peticiones recibidas.

Ejemplo:

true

auth
object

Configura cómo se autentica Omni Z-API al llamar a tu URL

payloadFormat
enum<string>
predeterminado:DEFAULT

Formato del payload entregado al webhook. DEFAULT es el formato de Omni Z-API; Z_API mantiene la estructura de Z-API para quienes migran; CHATWOOT lo entrega en el formato que espera Chatwoot.

Opciones disponibles:
DEFAULT,
Z_API,
CHATWOOT
Ejemplo:

"DEFAULT"

customAttributes
object

Atributos extra

Ejemplo:

Respuesta

Webhook creado correctamente. El campo secret se devuelve solo en esta respuesta cuando signing es true; guárdalo de forma segura.

id
string

ID único del webhook

Ejemplo:

"A1B2C3D4E5F6789012345678901234AB"

channelId
string

ID del canal al que pertenece el webhook

Ejemplo:

"019E4C54B1B375A28970B605CA9B03C3"

instanceId
string
obsoleto

Obsoleto: usa channelId

Ejemplo:

"019E4C54B1B375A28970B605CA9B03C3"

url
string

URL de destino de los eventos

Ejemplo:

"https://app.suempresa.com/webhooks/omni-zapi"

description
string | null

Descripción del webhook

Ejemplo:

"Webhook principal de producción"

events
string[]

Tipos de evento configurados

Ejemplo:
status
enum<string>

Estado actual del webhook

Opciones disponibles:
ENABLED,
DISABLED
Ejemplo:

"ENABLED"

signing
boolean

Indica si la firma HMAC está habilitada

Ejemplo:

true

auth
object

Resumen de la autenticación configurada: las credenciales no se devuelven por seguridad

payloadFormat
enum<string>

Formato del payload entregado

Opciones disponibles:
DEFAULT,
Z_API,
CHATWOOT
Ejemplo:

"DEFAULT"

customAttributes
object

Atributos extra configurados

Ejemplo:
createdAt
string<date-time>

Fecha de creación

Ejemplo:

"2025-01-15T10:30:00.000+0000"

updatedAt
string<date-time>

Fecha de la última actualización

Ejemplo:

"2025-01-15T10:30:00.000+0000"

secret
string

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.

Ejemplo:

"a3f1c2d4e5b6789012345678901234abcdef0123456789abcdef0123456789ab"