Skip to main content
O Zap usa o app Webhooks by Zapier nas duas pontas: Catch Hook como gatilho, recebendo o evento received do Wabox, e POST como ação, chamando o send-text. No meio, um Filter para responder só a mensagens de texto de outras pessoas.
Base das rotas: https://api.wabox.me/instances/{instance_id}/token/{token}instance_id e token ficam no dashboard (instância › Credenciais). Envie o header Client-Token só se ele estiver ativado no workspace (Client-Token). O Webhooks by Zapier é um app premium em alguns planos do Zapier.

Gatilho: receber mensagens

1

Crie o gatilho Catch Hook

Novo Zap → app Webhooks by Zapier → 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. 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 é exatamente 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

App Webhooks by Zapier → 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:
    • phonephone
    • 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: Client-Token se ele estiver ativado no workspace
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: existe justamente para facilitar o mapeamento em ferramentas que tratam id como campo padrão. Guarde-o se quiser 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 com o mesmo padrão phone + conteúdo, corpos completos na API Reference:
  • POST .../send-imagephone, image (URL), caption
  • POST .../send-documentphone, document, file_name
  • POST .../send-audiophone, 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. Se responder duas vezes ao cliente for um problema para você, 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>, com v1 = 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 é possível verificar a assinatura em um passo Code by Zapier, desde que o header e o corpo cru estejam disponíveis para o código. Se a verificação for obrigatória para você, a opção mais simples é receber o webhook em um backend seu e encaminhar para o Zapier só depois de validar — veja Integração HTTP genérica.