Skip to main content
POST

Conceituação

Cria um webhook de template. Ele não depende de uma instância — o instanceId é gravado como null automaticamente — e recebe apenas os eventos de template do WhatsApp. O campo events aceita somente UPDATE_TEMPLATE_STATUS e UPDATE_TEMPLATE_CATEGORY. Qualquer evento não-template resulta em 422.

payloadFormat é ignorado

Para webhooks de template o formato é sempre DEFAULT. Você pode omitir o campo; se enviado (qualquer valor), ele é silenciosamente descartado e persistido como DEFAULT.

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.
Após a criação, o roteamento pode levar até ~5 min para refletir (TTL de cache).

Autorizações

Authorization
string
header
obrigatório

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

Corpo

application/json
url
string
obrigatório

URL de destino dos eventos

Exemplo:

"https://destino/webhook"

events
enum<string>[]
obrigatório

Somente eventos de template. Pelo menos um obrigatório. Qualquer evento não-template resulta em 422.

Minimum array length: 1

Eventos de template aceitos: UPDATE_TEMPLATE_STATUS (atualização de status do template — aprovado/rejeitado etc.) e UPDATE_TEMPLATE_CATEGORY (atualização de categoria do template).

Opções disponíveis:
UPDATE_TEMPLATE_STATUS,
UPDATE_TEMPLATE_CATEGORY
Exemplo:
description
string

Descrição opcional do webhook

Exemplo:

"Webhook de template"

signing
boolean
padrão:false

Habilita assinatura HMAC-SHA256. Quando true, gera e retorna um secret de 64 caracteres hex apenas na criação/atualização.

Exemplo:

false

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
Exemplo:

"NONE"

token
string

Credencial para BEARER (forma plana)

key
string

Credencial para API_KEY (forma plana)

auth
object

Forma aninhada da autenticação. Para BASIC use username+password; para CUSTOM_HEADER use headerName+headerValue.

payloadFormat
enum<string>
padrão:DEFAULT

Ignorado para webhooks de template — o formato é sempre DEFAULT. Pode ser omitido; se enviado (qualquer valor), é descartado e persistido como DEFAULT.

Opções disponíveis:
DEFAULT
Exemplo:

"DEFAULT"

customAttributes
object

Mapa livre de atributos extras

Exemplo:

Resposta

Webhook de template criado com sucesso. channelId e instanceId vêm null. O campo secret é retornado apenas nesta resposta quando signing é true.

id
string

ID único do webhook de template

Exemplo:

"8F2C00000000000000000000000000A1"

channelId
string | null

Sempre null para webhooks de template

Exemplo:

null

instanceId
string | null
obsoleto

Descontinuado e sempre null para webhooks de template

Exemplo:

null

url
string

URL de destino dos eventos

Exemplo:

"https://destino/webhook"

description
string | null

Descrição do webhook

Exemplo:

"Webhook de template"

events
enum<string>[]

Eventos de template configurados

Eventos de template aceitos: UPDATE_TEMPLATE_STATUS (atualização de status do template — aprovado/rejeitado etc.) e UPDATE_TEMPLATE_CATEGORY (atualização de categoria do template).

Opções disponíveis:
UPDATE_TEMPLATE_STATUS,
UPDATE_TEMPLATE_CATEGORY
Exemplo:
status
enum<string>

Status atual do webhook

Opções disponíveis:
ENABLED,
DISABLED
Exemplo:

"ENABLED"

signing
boolean

Indica se a assinatura HMAC está habilitada

Exemplo:

false

auth
object

Resumo da autenticação configurada — credenciais não são retornadas por segurança

payloadFormat
enum<string>

Sempre DEFAULT para webhooks de template

Opções disponíveis:
DEFAULT
Exemplo:

"DEFAULT"

customAttributes
object
Exemplo:
createdAt
string<date-time>
Exemplo:

"2026-07-15T19:00:00.000+00:00"

updatedAt
string<date-time>
Exemplo:

"2026-07-15T19:00:00.000+00:00"

secret
string | null

Segredo HMAC de 64 caracteres hex — retornado apenas quando signing = true no create/update. null quando a assinatura está desabilitada. Não poderá ser recuperado depois.

Exemplo:

null