Você quer enviar uma mensagem WhatsApp toda vez que um pedido for criado no e-commerce, um ticket abrir no help-desk ou um lead se cadastrar. Não precisa programar — ferramentas no-code como n8n, Make (ex-Integromat) e Zapier conectam tudo. E a ZAP API tem 5 templates prontos para importar e ajustar em minutos.
Os 5 templates oficiais
- WooCommerce — confirmação de pedido + atualização de status (pago, enviado, entregue).
- Zendesk — sincronização bidirecional: ticket novo → mensagem no WhatsApp; resposta no WhatsApp → comentário no ticket.
- RD Station — qualificação automática de lead via WhatsApp e atualização do estágio no CRM.
- Calendly — confirmação de reunião 24h e 1h antes + lembrete pós-reunião.
- Stripe — confirmação de pagamento aprovado e alerta de pagamento recusado.
Todos importáveis em /dashboard/integrations/templates com filtro por ferramenta (n8n, Make, Zapier) e categoria.
n8n: importar template em 30 segundos
Passo 1. Acesse /dashboard/integrations/templates, escolha o template (ex: WooCommerce) e baixe o JSON.
Passo 2. No n8n, vá em Workflows → Import from File e selecione o JSON.
Passo 3. Configure 2 credenciais:
- ZAP API — Bearer token (gerado em
/dashboard/api-tokens). - Origem — credencial da ferramenta de origem (WooCommerce REST, Zendesk OAuth, etc).
Passo 4. Clique em Activate. Pronto — toda vez que um pedido novo entrar, seu cliente recebe a mensagem WhatsApp.
Exemplo: template WooCommerce em n8n (resumido)
// Trigger: WooCommerce — Order Created
// ↓
// Function: monta mensagem
// ↓
// HTTP Request: ZAP API send
//
// Configuração do nó "ZAP API send":
{
"method": "POST",
"url": "https://zap-api.tech/v1/instances/{{$env.ZAP_INSTANCE}}/send",
"headers": {
"Authorization": "Bearer {{$env.ZAP_TOKEN}}",
"Content-Type": "application/json"
},
"body": {
"phone": "{{$json.billing.phone}}",
"type": "text",
"body": "Olá {{$json.billing.first_name}}! Recebemos seu pedido #{{$json.id}} no valor de R$ {{$json.total}}. Em breve vamos enviar a confirmação do pagamento."
}
}
Make (Integromat): cenário Stripe → WhatsApp
O template do Stripe envia confirmação de pagamento aprovado e alerta proativo quando há pagamento recusado:
// Cenário Make
// 1. Trigger: Stripe — Webhook (event: payment_intent.succeeded)
// 2. Filter: amount >= 100 (só notifica pagamentos >= R$1)
// 3. HTTP: ZAP API send
//
// Body:
{
"phone": "{{1.metadata.customer_phone}}",
"type": "text",
"body": "✅ Pagamento de R$ {{formatNumber(1.amount/100; 2)}} confirmado! Obrigado pela compra."
}
Variação para falha: trigger payment_intent.payment_failed envia mensagem com link de tentativa novamente — recupera ~12% das vendas perdidas em média.
Zapier: receita simples para Calendly
O Zapier não suporta importação de templates JSON públicos, mas o passo a passo está documentado:
- Trigger: Calendly — Invitee Created
- Action 1: Webhooks by Zapier — Custom Request
- Method: POST
- URL:
https://zap-api.tech/v1/instances/INSTANCE_ID/send - Headers:
Authorization: Bearer tk_xxx,Content-Type: application/json - Body:
{ "phone": "{{Invitee Phone Number}}", "type": "text", "body": "Olá {{Invitee Name}}! Reunião confirmada para {{Event Start Time}}. Link: {{Event Location}}" }
- Action 2 (opcional): Delay 23h, depois novo POST com lembrete "Sua reunião é em 1h".
Padrões que aparecem em todos os templates
1. Variáveis de ambiente, não hardcode
Todos os templates usam {{$env.ZAP_TOKEN}} e {{$env.ZAP_INSTANCE}} — assim você troca o token sem editar 20 nós.
2. Phone normalization antes de enviar
Telefone brasileiro nem sempre vem com DDI. Adicione um nó Function antes do POST:
// n8n Function node
let phone = $input.item.json.phone.replace(/\D/g, '');
if (phone.length === 11) phone = '55' + phone;
if (phone.length === 10) phone = '55' + phone; // fixo
return { phone, ...$input.item.json };
3. Handle de erro: instância desconectada
Se a instância estiver desconectada, a ZAP API retorna 503. Em n8n/Make, configure Continue On Fail e mande um e-mail de alerta — assim você não perde notificações enquanto o número está parado.
4. Idempotência via X-Idempotency-Key
Para evitar mensagem duplicada se o template re-disparar (ex: Stripe webhook chegando 2x), adicione o header:
"X-Idempotency-Key": "{{$json.id}}"
A ZAP API ignora a segunda chamada com a mesma key dentro de 24h.
Comparativo das 3 ferramentas para integração WhatsApp
| Critério | n8n | Make | Zapier |
|---|---|---|---|
| Self-hosted (grátis) | ✅ Sim | ❌ Cloud only | ❌ Cloud only |
| Importar JSON pronto | ✅ Sim | ✅ Sim (blueprint) | ❌ Manual |
| Tier grátis | Self-host ilimitado | 1k operações/mês | 100 tarefas/mês |
| Curva de aprendizado | Média | Baixa | Muito baixa |
| Logs / debug | Excelente | Bom | Limitado |
| Code custom | JavaScript nativo | Limitado | Code by Zapier (paid) |
| Recomendado para | Devs / equipes técnicas | Equipes mistas | Equipes não-técnicas |
FAQ
- Os templates funcionam em qualquer plano?
Sim — funcionam até no trial de 7 dias. - Posso adaptar o template?
Sim, sem restrição. O JSON é seu depois de importar. - Tem template para HubSpot, Pipedrive, ActiveCampaign?
Estão no roadmap. Avise via formulário em/contatoqual prioriza. - n8n self-hosted consegue receber webhook da ZAP API?
Sim. Use o nó Webhook com URL pública (ngrok em dev, domínio próprio em prod). - Posso enviar mídia (imagem/PDF) via template?
Sim — troque"type": "text"por"type": "image"+mediaUrlou"type": "document"+mediaUrl+fileName.
Criar conta e baixar os 5 templates prontos — trial 7 dias, sem cartão.