PATCH
/
wa
/
instances
/
{instance_id}
/
webhooks
/
{webhook_id}
curl --request PATCH \
  --url https://api.zapsterapi.com/v1/wa/instances/{instance_id}/webhooks/{webhook_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "enabled": true,
  "events": [
    "message.received"
  ],
  "name": "Meu Webhook",
  "test_mode": false,
  "test_url": null,
  "url": "https://webhook.example.com/receive",
  "webhook_id": "2nenz69l0xbf0m3uu9tfo"
}'
{
  "created_at": "2025-03-12T23:12:19.448Z",
  "enabled": true,
  "events": [
    "message.received"
  ],
  "id": "3nsnz68l0xbf0m3uu9tfo",
  "name": "Meu Webhook",
  "test_mode": false,
  "test_url": null,
  "url": "https://webhook.mydomain.com"
}

Este endpoint permite atualizar um webhook existente para uma instância específica.

⚠️ Importante: Alteração de Nome ou URL

Modificar o nome ou a URL de um webhook existente impactará todas as instâncias que utilizam esse webhook. Isso significa que qualquer instância vinculada será automaticamente atualizada para refletir as mudanças.

Se precisar utilizar um novo nome ou uma URL diferente sem afetar instâncias existentes, recomendamos criar um novo webhook em vez de modificar um já em uso.

Dessa forma, o novo webhook será vinculado apenas aos recursos desejados, evitando impactos inesperados em outras configurações.

🔍 Considerações

  • Todos os parâmetros são opcionais, sendo possível atualizar apenas os campos desejados.
  • Se a URL do webhook for alterada, a API pode exigir uma nova validação.
  • O webhook pode ser desativado definindo enabled como false.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

instance_id
string
required

Identificador único da instância.

webhook_id
string
required

Identificador único do webhook.

Body

application/json
events
enum<string>[]
required

Lista de eventos que acionam o webhook. Deve conter pelo menos um evento.

Available options:
group.created,
group.participants_added,
group.participants_demoted,
group.participants_promoted,
group.participants_removed,
group.updated,
instance.connected,
instance.disconnected,
instance.forbidden,
instance.mentioned,
instance.qrcode,
message.deleted,
message.delivered,
message.pinned,
message.reaction,
message.read,
message.received,
message.sent,
message.unpinned,
poll.created,
poll.deleted,
poll.updated
Example:
["message.received"]
enabled
boolean

Define se o webhook está ativado. Padrão: true.

Example:

true

name
string

Nome do webhook configurado.

Example:

"Meu Webhook"

test_mode
boolean

Indica se o webhook está em modo de teste. Padrão: false.

Example:

false

test_url
string | null

URL de teste para validar o webhook, se aplicável.

Example:

null

url
string

URL para onde os eventos do webhook serão enviados. Obrigatório caso webhook_id não seja fornecido.

Example:

"https://webhook.example.com/receive"

webhook_id
string

ID de um webhook existente para ser reutilizado. Obrigatório caso url não seja fornecida.

Example:

"2nenz69l0xbf0m3uu9tfo"

Response

201 - application/json
Webhook registrado com sucesso.

Resposta ao registrar um webhook.

created_at
string

Data e hora de criação do webhook.

Example:

"2025-03-12T23:12:19.448Z"

enabled
boolean

Indica se o webhook está ativado.

Example:

true

events
string[]

Eventos configurados no webhook.

Example:
["message.received"]
id
string

Identificador único do webhook.

Example:

"3nsnz68l0xbf0m3uu9tfo"

name
string

Nome do webhook configurado.

Example:

"Meu Webhook"

test_mode
boolean

Indica se o webhook está em modo de teste.

Example:

false

test_url
string | null

URL de teste configurada no webhook, se aplicável.

Example:

null

url
string

URL para onde os eventos do webhook serão enviados.

Example:

"https://webhook.mydomain.com"