Skip to main content
O Zap usa o app Webhooks by Zapier nas duas pontas: Catch Hook como gatilho, que recebe o evento received do Wabox, e POST como ação, que chama o send-text. No meio, um Filter deixa passar só mensagens de texto de outras pessoas.
A base das rotas é https://api.wabox.me/instances/{instance_id}/token/{token}. Você encontra instance_id e token no dashboard (instância › Credenciais). Envie o header Authorization: Bearer wbx_key_… só se o workspace exigir API key nas rotas de instância (API keys). O Webhooks by Zapier é um app premium em alguns planos do Zapier.

Gatilho: receber mensagens

1

Crie o gatilho Catch Hook

Crie um Zap novo, escolha o app Webhooks by Zapier e o evento Catch Hook. Deixe o campo de chave filha (child key) vazio para receber o payload inteiro. Copie a URL gerada.O Zapier responde 200 ao Wabox assim que recebe a requisição, dentro do limite de 10 s.
2

Configure a URL no Wabox

No dashboard, cole a URL no webhook de mensagens recebidas da instância, ou:
3

Teste o gatilho com uma mensagem de texto

Clique em testar o gatilho e envie uma mensagem de texto para o número conectado. O Zapier carrega a requisição como amostra e passa a oferecer os campos no mapeamento.O Zapier achata objetos aninhados usando __ no nome. O texto da mensagem, que no payload é text.message, costuma aparecer como text__message. A tabela mostra os campos que você vai usar (payload completo em Webhook received).
Se a amostra for uma imagem ou um áudio, text__message não aparece. Teste de novo com uma mensagem de texto.
4

Adicione um Filter

Adicione um passo Filter by Zapier que só continua quando:
  • type é received
  • from_me é falso
  • text__message existe
Sem a condição de from_me, um Zap com notify_sent_by_me ligado responde às próprias respostas em loop.

Ação: responder pelo WhatsApp

1

Adicione a ação POST

Escolha o app Webhooks by Zapier e o evento POST:
  • URL: https://api.wabox.me/instances/{instance_id}/token/{token}/send-text
  • Payload Type: json
  • Data: duas chaves, mapeando os campos do gatilho:
    • phone → phone
    • message → texto da resposta, por exemplo Recebemos: + text__message
  • Wrap Request In Array: não
  • Unflatten: sim (padrão). Assim uma chave como a__b vira { "a": { "b": … } }, o que não afeta phone e message
  • Headers: Authorization com o valor Bearer wbx_key_…, se o workspace exigir API key
Para responder citando a mensagem original, adicione a chave reply_to_message_id mapeada para message_id.
2

Use a resposta nos próximos passos

A API responde na hora:
id é um alias de message_id, para facilitar o mapeamento em ferramentas que tratam id como campo padrão. Guarde-o para cruzar com o webhook delivery, que traz o mesmo message_id com o resultado do envio. status: "queued" significa enfileirado, não entregue.

Outras rotas

Troque a URL e as chaves de Data para enviar outros tipos. Todos usam phone mais o conteúdo, e os corpos completos estão na API Reference:
  • POST .../send-image com phone, image (URL) e caption
  • POST .../send-document com phone, document e file_name
  • POST .../send-audio com phone e audio

Reentregas

Se o Zap estiver desligado ou o Zapier responder erro, o Wabox reenvia a entrega em 10 s, 1 min, 10 min, 1 h e 6 h com o mesmo event_id. Para não responder duas vezes ao cliente, use um passo de armazenamento (Storage by Zapier ou Zapier Tables) para registrar os event_id já processados e um Filter para descartar repetidos.

Verificar a assinatura

Cada entrega traz X-Wabox-Signature: t=<unix>,v1=<hex>, onde v1 é o HMAC-SHA256 do corpo cru (Assinatura de webhooks). O Catch Hook comum entrega o corpo já interpretado, então não serve para recalcular o HMAC. O Webhooks by Zapier tem uma variante que expõe o corpo bruto (Catch Raw Hook). Com ela você pode verificar a assinatura em um passo Code by Zapier, desde que o header e o corpo cru cheguem ao código. Se a verificação for obrigatória, receba o webhook em um backend seu e encaminhe para o Zapier só depois de validar. Veja Integração HTTP genérica.