Skip to main content
Os envios transacionais de template permitem que sistemas externos confiáveis disparem mensagens esperadas do WhatsApp por meio do Switchbord. O endpoint é projetado para mensagens Utility, como recibos de pagamento, recibos de parcelas, confirmações de reserva, vouchers e outros eventos operacionais esperados pelo cliente.
Este endpoint não é uma API de marketing em massa. O Switchbord valida o workspace do chamador, o status do template e a categoria do template antes de enfileirar um envio. Use templates UTILITY aprovados para fluxos transacionais.

Endpoint

O endpoint reside na aplicação da API. Workspaces hospedados chamam:
Implantações auto-hospedadas devem substituir o host pelo seu domínio de API.

Autenticação

Use uma API key do Switchbord com escopo definido para o workspace. O workspace é resolvido a partir da API key; não envie ids de workspace no corpo da requisição.
Você também pode enviar a chave de idempotência como idempotencyKey no corpo JSON. Prefira o header quando o sistema upstream suportar isso.

Formato da requisição

Respostas

Uma requisição bem-sucedida enfileira um job de saída message.dispatch e retorna as identidades do Switchbord para auditoria e reconciliação. Novos envios retornam HTTP 201:
Se a mesma chave de idempotência for enviada novamente, o Switchbord retorna HTTP 200 com a identidade da mensagem existente e reused: true, em vez de criar um envio duplicado.

Variáveis

Variáveis de body

Para templates posicionais, use chaves numéricas baseadas em 1:
Variáveis de body nomeadas são suportadas pelo compilador transacional interno do Switchbord para mapeamentos de webhooks entrantes, mas a rota pública da API atualmente aceita apenas variáveis de body posicionais. Use chaves numéricas de body ou um array ao chamar POST /api/v1/template-sends diretamente.

Variáveis de botão de URL dinâmica

Para templates com um botão de URL como https://example.com/r/{{1}}, forneça o sufixo dinâmico pelo índice do botão, baseado em 0:
text e suffix são aceitos como aliases. O valor não pode ser vazio.

Variáveis de header de documento

Para templates com um header DOCUMENT, forneça um link HTTPS público. filename é opcional, mas recomendado.
Links de documento devem usar HTTPS. Links inválidos ou não-HTTPS são rejeitados antes do enfileiramento.

Respostas de erro

Reutilizações idempotentes não são erros. Elas retornam HTTP 200 com data.reused: true.

Notas operacionais

  • O worker ainda é responsável pelo envio final à Meta. A resposta da API significa que a mensagem foi aceita na outbox do Switchbord, não necessariamente entregue pela Meta.
  • Transições de entrega (queued, sent, delivered, read, failed) ficam visíveis nos registros de mensagem/conversa e nos eventos de status de webhook.
  • Não inclua dados brutos de cartão, tokens privados de recibo ou segredos de longa duração nas variáveis de template ou em metadata. Prefira ids de recibo curtos ou URLs pré-assinadas com expiração adequada.

Guias relacionados