Pular para o conteúdo principal
POST

Conceituação

Cria um webhook padrão no workspace da secret key. A partir da criação, o Omni Z-API envia para a URL informada os eventos assinados de todo canal do workspace que não tem webhook próprio ativo. Veja Quem recebe cada evento. O campo events aceita só eventos de canal (MESSAGE_RECEIVED, MESSAGE_STATUS, CONNECTED etc.). Evento de template resulta em 422.

Formato

payloadFormat aceita DEFAULT (quando omitido) e Z_API. CHATWOOT resulta em 422: o Chatwoot se configura no webhook de cada canal.

Limite

Cada workspace tem até 5 webhooks padrão, contando os habilitados e os desabilitados. O sexto resulta em 422 com Default instance webhook limit reached (5).

Assinatura HMAC

Se signing: true, o campo secret é gerado e retornado apenas nesta resposta. Armazene-o com segurança: ele não será exibido novamente. A assinatura chega no header x-webhook-signature e é calculada sobre uma string canônica de cinco campos, não apenas sobre o corpo. Veja Assinatura HMAC.
Nada é gravado quando o pedido é recusado. A URL precisa ser absoluta, http ou https, com até 2048 caracteres, e o host precisa resolver só para endereços públicos.

Autorizações

Authorization
string
header
obrigatório

Secret Key gerada no painel de Segurança do Omni Z-API

Corpo

application/json

Corpo da criação

url
string
obrigatório

URL de destino dos eventos. URL absoluta http ou https, com até 2048 caracteres, cujo host resolve só para endereços públicos.

Exemplo:

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

events
enum<string>[]
obrigatório

Eventos de canal que o webhook recebe. Pelo menos um. O nome é aceito em qualquer caixa.

Minimum array length: 1
Opções disponíveis:
MESSAGE_RECEIVED,
MESSAGE_DELIVERY,
MESSAGE_STATUS,
RECEIVED_STATUS,
RECEIVED_AND_DELIVERY,
CONNECTED,
DISCONNECTED,
PRESENCE_CHAT,
INITIAL_DATA,
BLOCK
Exemplo:
description
string

Descrição opcional do webhook

Exemplo:

"Eventos de todos os canais"

signing
boolean
padrão:false

true gera um secret de 64 caracteres hexadecimais para a assinatura HMAC, devolvido só nesta resposta.

authType
enum<string>
padrão:NONE

Tipo de autenticação (forma plana). Alternativa ao objeto auth.

Opções disponíveis:
NONE,
BEARER,
API_KEY,
BASIC,
CUSTOM_HEADER
token
string

Credencial para BEARER (forma plana)

key
string

Credencial para API_KEY (forma plana)

auth
object

Como o Omni Z-API se autentica ao chamar a sua URL

payloadFormat
enum<string>
padrão:DEFAULT

DEFAULT (padrão quando omitido) ou Z_API. CHATWOOT é recusado com 422: configure o Chatwoot no webhook do canal. Outro valor é tratado como DEFAULT.

Opções disponíveis:
DEFAULT,
Z_API
customAttributes
object

Mapa livre de atributos extras

Resposta

Webhook padrão criado. channelId e instanceId vêm null. O secret vem preenchido só quando o pedido traz signing: true, e esta é a única vez em que ele aparece.

id
string

ID do webhook padrão

Exemplo:

"5B7E3A90C2D14F6A8E1B2C3D4E5F6A7B"

channelId
string | null

Sempre null: o webhook padrão não pertence a um canal

Exemplo:

null

instanceId
string | null
obsoleto

Sempre null. Campo legado, mantido por compatibilidade

Exemplo:

null

url
string
Exemplo:

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

description
string | null
Exemplo:

"Eventos de todos os canais"

events
enum<string>[]
Opções disponíveis:
MESSAGE_RECEIVED,
MESSAGE_DELIVERY,
MESSAGE_STATUS,
RECEIVED_STATUS,
RECEIVED_AND_DELIVERY,
CONNECTED,
DISCONNECTED,
PRESENCE_CHAT,
INITIAL_DATA,
BLOCK
status
enum<string>

ENABLED ou DISABLED

Opções disponíveis:
ENABLED,
DISABLED
signing
boolean

true quando a assinatura HMAC está ligada

secret
string | null

Segredo da assinatura HMAC. Vem preenchido só na resposta que o gerou (signing: true); nas demais, null.

auth
object

Resumo da autenticação configurada. As credenciais não são retornadas.

payloadFormat
enum<string>
Opções disponíveis:
DEFAULT,
Z_API
customAttributes
object
createdAt
string<date-time>

Data de criação

updatedAt
string<date-time>

Data da última alteração