Nigora Zap API

Lembretes no WhatsApp para reduzir inadimplência

Publicado em

Boleto esquecido e fatura que passa do vencimento por distração são comuns. Um lembrete no WhatsApp chega no aparelho que o cliente já tem na mão. Este texto mostra como montar isso a partir do seu sistema.

Não prometemos um percentual de recuperação: o resultado depende do seu público, do texto e do momento do envio. Teste com uma parte da base e compare.

Um fluxo simples

  1. Todo dia, num horário fixo, o seu sistema busca as cobranças que vencem em 3 dias, hoje ou venceram ontem.
  2. Para cada uma, monta uma mensagem com o nome do cliente, o valor e a forma de pagar.
  3. Envia pela API e guarda o id devolvido.
  4. Registra o resultado quando o webhook message.status chegar.

Para o passo 4, o tutorial Receber mensagens por webhook mostra como montar o receptor.

O envio

A rota é POST /v1/instances/{instanceId}/messages/text. O corpo leva o telefone (to) e o texto (text). O token da instância vai no cabeçalho Authorization.

Terminal window
curl -X POST https://api.zap.nigora.com.br/v1/instances/INSTANCIA_ID/messages/text \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{ "to": "5511999999999", "text": "Olá, Marina! Sua fatura de R$ 149,90 vence amanhã. Pague pelo Pix: 00020126... Se já pagou, ignore esta mensagem." }'

A API responde 202 na hora, com { "id": "…", "status": "queued" }: a mensagem entra na fila e sai em seguida. Em Node.js (18 ou mais novo, sem pacotes extras), um lembrete fica assim:

const { NIGORA_INSTANCIA_ID: instanciaId, NIGORA_TOKEN: token } = process.env
async function enviarLembrete(telefone, nome, valor, vencimento) {
const texto = `Olá, ${nome}! Sua fatura de ${valor} vence em ${vencimento}. Se já pagou, ignore esta mensagem.`
const resposta = await fetch(`https://api.zap.nigora.com.br/v1/instances/${instanciaId}/messages/text`, {
method: 'POST',
headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ to: telefone, text: texto }),
})
if (!resposta.ok) throw new Error(`Falha ${resposta.status}: ${await resposta.text()}`)
return (await resposta.json()).id
}
console.log(await enviarLembrete('5511999999999', 'Marina', 'R$ 149,90', '10/11'))

Salve como lembrete.mjs, defina NIGORA_INSTANCIA_ID e NIGORA_TOKEN no ambiente e rode com node lembrete.mjs. Os tutoriais completos, com tratamento de erros, estão em PHP e Node.js.

Cuidados que valem mais do que o código

  • Só clientes com cobrança em aberto. Lembrete de quem já pagou irrita e gera denúncia.
  • Uma mensagem por cobrança, não uma por dia. Cobrar toda hora faz o cliente bloquear você.
  • Tom de aviso, não de ameaça. “Sua fatura vence amanhã” funciona melhor do que texto de cobrança dura.
  • Deixe sair. Ligue o descadastro: quem responde SAIR deixa de receber, e a API recusa novos envios para ele. Combine outro canal de cobrança para esse cliente.
  • Dê o caminho do pagamento na própria mensagem, como o código Pix ou o link, e um jeito de falar com uma pessoa.
  • Respeite o horário. Evite madrugada e domingo.

Mensagens automáticas têm risco de bloqueio do número. Leia como reduzir o risco de bloqueio antes de colocar o fluxo em produção.

Para testar, a Nigora Zap API tem 7 dias grátis, sem cartão.