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.suaempresa.com/webhooks/omni-zapi",
"description": "Webhook principal de produção",
"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"
}Atualizar webhook
Atualize a configuração de um 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.suaempresa.com/webhooks/omni-zapi",
"description": "Webhook principal de produção",
"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"
}Conceituação
Atualiza parcialmente a configuração de um webhook. Apenas os campos enviados no body são atualizados — os demais permanecem inalterados.Atualizar eventos
Ao enviar o campoevents, a lista substitui os eventos do webhook:
{ "events": ["MESSAGE_RECEIVED", "MESSAGE_STATUS", "CONNECTED"] }
- A lista não pode ser vazia:
"events": []retorna400com{"error": "Events cannot be empty when provided"}. Para manter os eventos, omita o campo. - Um item nulo, em branco ou com nome que não existe retorna
400com{"error": "events contains an unknown or empty event name"}, e nada é alterado.
events nas respostas e é mantido quando você troca os eventos: o PATCH substitui só os eventos que a API conhece. Um webhook que só tem eventos assim aparece com events: [].Alterar a URL
A novaurl segue as mesmas regras da criação (veja URL do webhook). Ela só é conferida quando muda: um PATCH sem url, ou com a URL já gravada, não é recusado por ela.
Habilitar ou rotacionar a assinatura HMAC
Se você enviarsigning: true, um novo secret é gerado e retornado nesta resposta. Use isso também para rotacionar o secret sem precisar recriar o webhook.
{ "signing": true }
secret é retornado apenas nesta resposta. Armazene-o antes de sair da página ou fechar a sessão.signing: true rotaciona o secret toda vez, inclusive quando a assinatura já estava habilitada e você só queria mudar outro campo no mesmo request. Para não rotacionar, omita o campo signing.Desabilitar temporariamente
{ "status": "DISABLED" }
DISABLED. Para reativar:
{ "status": "ENABLED" }
status diferente de ENABLED e DISABLED retorna 400 com {"error": "status must be one of [ENABLED, DISABLED]"}.
webhookId é obtido no retorno do endpoint Criar webhook ou Listar webhooks.Autorizações
Secret Key gerada no painel de Segurança do Omni Z-API
Parâmetros de caminho
ID do canal
"019E4C54B1B375A28970B605CA9B03C3"
ID do webhook
"A1B2C3D4E5F6789012345678901234AB"
Corpo
Todos os campos são opcionais — apenas os campos enviados são atualizados.
Nova URL de destino, com as mesmas regras da criação. Só é conferida quando muda.
"https://nova-url.suaempresa.com/webhooks/omni-zapi"
Nova descrição
Nova lista de eventos. Substitui os eventos que a API conhece; um evento gravado que a API ainda não conhece é mantido. Não pode ser vazia (400).
MESSAGE_RECEIVED, MESSAGE_DELIVERY, MESSAGE_STATUS, RECEIVED_STATUS, RECEIVED_AND_DELIVERY, CONNECTED, DISCONNECTED, PRESENCE_CHAT, INITIAL_DATA, BLOCK DISABLED pausa a entrega de eventos sem excluir o webhook Outro valor retorna 400.
ENABLED, DISABLED Habilita ou rotaciona a assinatura HMAC. Gera um novo secret retornado na resposta.
Configura como o Omni Z-API se autentica ao chamar sua URL
Show child attributes
Show child attributes
DEFAULT, Z_API, CHATWOOT Resposta
Webhook atualizado com sucesso. O campo secret é retornado apenas quando signing foi habilitado nesta atualização.
ID único do webhook
"A1B2C3D4E5F6789012345678901234AB"
ID do canal ao qual o webhook pertence
"019E4C54B1B375A28970B605CA9B03C3"
Descontinuado — use channelId
"019E4C54B1B375A28970B605CA9B03C3"
URL de destino dos eventos
"https://app.suaempresa.com/webhooks/omni-zapi"
Descrição do webhook
"Webhook principal de produção"
Tipos de evento configurados Evento gravado que a API ainda não conhece não aparece aqui.
["MESSAGE_RECEIVED", "MESSAGE_STATUS"]
Status atual do webhook
ENABLED, DISABLED "ENABLED"
Indica se a assinatura HMAC está habilitada
true
Resumo da autenticação configurada — credenciais não são retornadas por segurança
Show child attributes
Show child attributes
Formato do payload entregue
DEFAULT, Z_API, CHATWOOT "DEFAULT"
Atributos extras configurados
{}
Data de criação
"2025-01-15T10:30:00.000+0000"
Data da última atualização
"2025-01-15T10:30:00.000+0000"
Segredo HMAC de 64 caracteres hex — retornado apenas quando signing é habilitado no create ou update. Armazene-o com segurança; não poderá ser recuperado depois.
"a3f1c2d4e5b6789012345678901234abcdef0123456789abcdef0123456789ab"