API de WhatsApp para fintechs e plataformas de cobrança
Para uma fintech, a API de WhatsApp é o canal em que o boleto é aberto e o PIX é pago, porque é onde o cliente já está. A integração em si é simples; o trabalho está em definir o que pode ir na mensagem, de qual número ela sai e quando a API oficial compensa.
Quando a mensagem carrega dinheiro
E-mail de cobrança cai no promocional e SMS com link parece golpe. O WhatsApp tem taxa de abertura maior justamente porque o cliente reconhece o remetente. Para quem desenvolve software de cobrança recorrente, conta digital para PJ ou gestão financeira de pequenas empresas, isso muda o indicador que importa: dias entre o vencimento e o pagamento.
O cenário típico do nosso cliente é uma plataforma em que cada empresa cadastrada cobra os próprios clientes. A escola cobra mensalidade, o condomínio cobra a taxa, o prestador de serviço cobra a fatura. A mensagem precisa sair do número daquela empresa, não de um número central da plataforma, e é isso que a conexão por cliente resolve.
Régua de cobrança no WhatsApp
Um desenho que funciona bem para a maioria das plataformas:
| Momento | O que enviar | Como |
|---|---|---|
| Fatura emitida | PDF do boleto com nome de arquivo legível | messages/send/document |
| 3 dias antes do vencimento | Lembrete curto com valor e data | messages/send/text |
| Dia do vencimento | Chave PIX com valor preenchido | interactive/send/pix |
| Pagamento confirmado | Recibo ou nota em PDF | messages/send/document |
| Atraso sem leitura | Segundo aviso; sem leitura de novo, fila humana | Webhook message.read |
A lógica de quando cobrar fica toda do seu lado. A API entrega e devolve o que aconteceu. Um aprofundamento sobre tom, frequência e régua está em cobrança pelo WhatsApp.
Boleto e PIX na mesma conversa
O exemplo abaixo envia o boleto e, em seguida, a chave PIX como alternativa. O sessionId é a conexão da empresa que está cobrando; o to é o pagador.
import { DApi } from 'd-api-sdk'
const dapi = new DApi({ apiKey: process.env.DAPI_KEY! })
const sessionId = 'empresa-7310'
await dapi.messages.sendDocument({
sessionId,
to: '5511999999999',
document: 'https://arquivos.suaplataforma.com/boletos/fat-99812.pdf',
fileName: 'Boleto-setembro.pdf',
mimetype: 'application/pdf',
})
await dapi.interactive.sendPix({
sessionId,
to: '5511999999999',
content: 'Prefere pagar agora? Use o PIX abaixo.',
pixKey: '[email protected]',
pixAmount: 189.9,
pixMessage: 'Fatura 99812',
})O documento pode ser uma URL pública ou base64. Se o boleto fica num bucket privado, gere uma URL assinada de curta duração só para o envio, em vez de deixar o arquivo exposto.
Dados sensíveis: checklist antes de ir para produção
- Mínimo necessário na mensagem. Valor, vencimento e o nome da empresa. CPF completo, saldo e dados de cartão não entram no texto.
- Telefone confirmado. Número errado significa boleto de alguém entregue a um estranho. Confirme o número no cadastro antes de liberar o envio de cobrança.
- Webhook protegido. O webhook de WhatsApp não é assinado. Use uma URL com segredo no caminho, confira o
User-Agente valide se osessionIdpertence a um cliente ativo antes de processar. - Registro de envio. Guarde o id de cada mensagem enviada junto da fatura. Em uma contestação, você sabe o que foi enviado, quando e se foi lido.
- Comprovantes com dono. Arquivos recebidos chegam com
media_url. Copie para o seu armazenamento, associe ao cliente certo e aplique a mesma política de retenção dos outros documentos financeiros.
Não oficial, oficial ou as duas
Fintech costuma ter dois usos diferentes de WhatsApp, e cada um pede um modelo:
- Os clientes da plataforma cobrando os clientes deles: cada empresa conecta o próprio número por QR Code, sem aprovação e sem custo por mensagem. É o caso da API não oficial.
- A fintech falando com a própria base, com um número verificado da marca: aviso de transação, alerta de login, comunicação que precisa de selo e de previsibilidade. Aqui a API oficial faz mais sentido, com templates aprovados pela Meta e cobrança por mensagem de template, que varia por categoria e país.
Na D-API os dois tipos de conexão usam as mesmas rotas de envio. O tipo é escolhido ao criar a sessão (unofficial ou cloud_api), e a sua régua de cobrança não precisa saber qual está do outro lado. A diferença só aparece nos templates, que existem apenas na oficial. A comparação completa está em oficial vs não oficial.
Como começar
O roteiro mais curto que vemos em plataformas financeiras: primeiro o lembrete de vencimento por texto, depois o boleto em PDF, depois o PIX e por último o recebimento de comprovantes. Cada etapa entra em produção sozinha e já mostra resultado na inadimplência. Na API de WhatsApp da D-API, a cobrança é por conexão, não por mensagem, e cai conforme a base cresce. Para o desenho de produto com uma conexão por cliente, veja API de WhatsApp para SaaS. Dá para validar com 14 dias grátis falando com o time comercial, com suporte de implementação num grupo de WhatsApp.
Perguntas frequentes
Dá para mandar a chave PIX como mensagem interativa?
Dá. O endpoint interactive/send/pix envia uma mensagem interativa de PIX com a chave, o valor opcional e um texto de identificação, para o pagador não precisar digitar a chave.
É seguro mandar boleto pelo WhatsApp?
O risco maior está em mandar para o número errado ou expor dados demais no texto. Confirme o telefone no cadastro, envie só o necessário e registre cada envio com o identificador da mensagem.
Fintech precisa usar a API oficial da Meta?
Não é obrigatório, mas costuma fazer sentido quando a fintech fala com a base inteira a partir de um único número da marca, com alto volume de primeiro contato. Para plataformas em que cada cliente usa o próprio número, a não oficial por QR Code é o caminho mais comum.
Como saber se o cliente leu o lembrete de cobrança?
Pelos eventos message.delivered e message.read no webhook. Com eles a régua de cobrança decide se manda um segundo lembrete ou se passa o caso para um atendente.
O cliente pode mandar o comprovante pela mesma conversa?
Pode. A imagem ou o PDF chegam no webhook messages.received com o link do arquivo em media_url, e a plataforma anexa o comprovante à fatura correspondente para conferência.
Continue lendo
Coloque WhatsApp no seu produto sem virar time de infra
14 dias grátis falando com o time comercial, com suporte de implementação num grupo de WhatsApp.