Este guia mostra o padrão de recibo Opção A: o corpo do template de WhatsApp contém os detalhes do recibo e um botão de URL dinâmico abre a página de recibo hospedada.
Use esse padrão quando seu sistema externo já hospeda páginas de recibo e você quer uma mensagem Utility pequena e esperada no WhatsApp.
Antes de começar
Você precisa de:
- Um canal de WhatsApp conectado no Switchbord.
- Uma chave de API do Switchbord para o workspace, caso chame
POST /api/v1/template-sends diretamente.
- Um template Utility aprovado com um botão de URL, por exemplo
payment_receipt_link.
- Uma página de recibo pública em HTTPS, como
https://pay.example.com/receipts/R-1001.
Não use este fluxo para mensagens promocionais. Templates Utility devem estar vinculados a eventos esperados pelo cliente, como pagamento, parcela, reserva, reembolso ou disponibilidade de documento.
Estrutura do template
Um template típico de link de recibo contém variáveis no corpo e um botão de URL:
A variável do botão é o sufixo dinâmico. Se a URL base for https://pay.example.com/receipts/, envie apenas R-1001 como a variável.
Envio direto via API
Resposta esperada:
Construtor de webhook de entrada
Se o sistema externo puder chamar um webhook, mas não puder armazenar uma chave de API do Switchbord, configure um webhook de entrada do workspace em vez disso:
- Abra Settings → Integrations → Webhooks & API.
- Crie um novo webhook de entrada.
- Selecione o template Utility aprovado
payment_receipt_link.
- Mapeie os campos obrigatórios:
- Cole um payload de exemplo e execute o preview de dry-run.
- Crie o webhook. O endpoint permanece desabilitado/dry-run até que um futuro fluxo de promoção verificado por run-log habilite a execução real.
Payload de exemplo:
Assinando requisições de webhook de entrada
As requisições de webhook usam assinaturas HMAC com timestamp. O segredo é exibido apenas uma vez, quando o webhook é criado.
Nunca envie o segredo bruto do webhook como um cabeçalho, parâmetro de query ou campo JSON.
Checklist de lançamento
- Execute o preview de dry-run no navegador e verifique a requisição mapeada.
- Não espere ainda run logs de endpoint assinado para configs criadas em Settings; eles permanecem desabilitados até que a promoção real seja lançada.
- Confirme que o template é Utility aprovado no mesmo workspace.
- Use chaves de idempotência estáveis a partir do id do evento de origem.
- Mantenha as URLs de recibo somente em HTTPS e evite embutir tokens privados de longa duração.
Solução de problemas