POST
/
wa
/
instances
/
{instance_id}
/
webhooks
curl --request POST \
  --url https://api.zapsterapi.com/v1/wa/instances/{instance_id}/webhooks \
  --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 registrar um novo webhook para uma instância específica. Os webhooks são usados para receber notificações em tempo real sobre eventos importantes na instância, como mensagens recebidas ou mudanças de status.

⚠️ Importante: É obrigatório fornecer ou uma url ou um webhook_id. Se nenhum dos dois for informado, a requisição falhará.

🔍 Considerações

  • Pelo menos um evento deve ser especificado na criação do webhook.
  • Se uma url e um webhook_id forem fornecidos ao mesmo tempo, o webhook_id será priorizado.
  • O webhook pode ser desativado posteriormente usando a propriedade enabled.

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.

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"