Raphael Serafim· Publicado em 10 de setembro de 2026· 10 min de leitura

Notificações de pedido no WhatsApp: confirmação, rastreio e carrinho abandonado

As notificações transacionais são o módulo de WhatsApp mais fácil de vender e o que menos gera reclamação. Quais eventos disparar, o que escrever em cada um, como não virar spam e o código que amarra tudo ao status do pedido.

Ver como Markdown

A notificação transacional é o módulo de WhatsApp mais fácil de vender e o que menos gera reclamação — porque o cliente quer receber. Ninguém marca como spam a mensagem que diz que o pedido saiu para entrega.

Para quem entrega sistema para cliente de e-commerce, costuma ser o melhor primeiro módulo: valor óbvio, escopo pequeno, risco baixo.

Os cinco eventos que importam

EventoQuandoPor que existe
Pedido confirmadoNa horaConfirma que deu certo
Pagamento aprovadoAo confirmarFecha a ansiedade do Pix/cartão
Pedido enviadoAo postarEntrega o rastreio
Saiu para entregaNo diaFaz a pessoa estar em casa
EntregueNa conclusãoFecha o ciclo, abre espaço para avaliação

Cada uma responde a uma pergunta que chegaria ao seu suporte. É esse o teste: se você não consegue dizer que dúvida a mensagem responde, ela sobra.

O que escrever

Curto, com o dado concreto e uma saída.

Pedido confirmado

Oi, Ana! Pedido #1042 confirmado ✅ 2 itens · R$ 189,90 Assim que o pagamento for aprovado, aviso por aqui.

Pedido enviado

Seu pedido #1042 foi postado 📦 Rastreio: BR123456789BR Previsão: sexta-feira, 12/09

Saiu para entrega

Seu pedido #1042 saiu para entrega hoje 🚚 Se ninguém puder receber, responda aqui que a gente reagenda.

Três coisas em comum: número do pedido (o cliente tem mais de um), dado concreto (código, data, valor) e saída para responder. A saída importa mais do que parece — a resposta abre a janela de 24 horas, e todo o atendimento seguinte deixa de gerar cobrança nova.

Amarrar ao status do pedido

const NOTIFICACOES = {
  confirmado:   { template: 'pedido_confirmado', params: (p) => [p.cliente.nome, p.id, p.totalFmt] },
  pago:         { template: 'pagamento_aprovado', params: (p) => [p.id] },
  enviado:      { template: 'pedido_enviado', params: (p) => [p.id, p.rastreio, p.previsaoFmt] },
  em_rota:      { template: 'saiu_para_entrega', params: (p) => [p.id] },
  entregue:     { template: 'pedido_entregue', params: (p) => [p.id] },
};

async function aoMudarStatus(pedidoId, novoStatus) {
  const cfg = NOTIFICACOES[novoStatus];
  if (!cfg) return;

  const pedido = await db.pedidos.completo(pedidoId);
  if (!pedido.cliente.whatsapp) return;
  if (await estaEmOptOut(pedido.cliente.whatsapp)) return;

  // Idempotência: a restrição de unicidade em (pedido_id, tipo)
  // faz a segunda tentativa falhar em vez de mandar duas vezes.
  try {
    await db.notificacoes.criar({ pedido_id: pedidoId, tipo: novoStatus });
  } catch (e) {
    if (e.code === '23505') return;   // já enviada
    throw e;
  }

  await fila.add('notificacao', {
    to: pedido.cliente.whatsapp,
    template: cfg.template,
    params: cfg.params(pedido),
  }, { jobId: `pedido:${pedidoId}:${novoStatus}` });
}

A idempotência aqui não é preciosismo. Status de pedido oscila — um pedido pode voltar para "pago" depois de uma reconciliação —, filas reprocessam, e webhooks de gateway chegam duplicados. Sem a restrição de unicidade, o cliente recebe "seu pedido foi enviado" três vezes.

Templates: a parte que atrasa o projeto

Na API oficial, a notificação parte de você com a janela fechada. Ou seja: template aprovado, sempre.

Isso muda o cronograma, e é o que mais pega gente desprevenida. Crie e submeta os templates no começo do projeto, não na véspera de subir.

A boa notícia é a categoria: notificação de pedido é utilidade, que é a mais barata e a mais fácil de aprovar. Não tente colocar promoção dentro dela — "seu pedido saiu para entrega, aproveite 20% na próxima compra" é reclassificado como marketing e cobrado como tal.

Carrinho abandonado: com cuidado

Este é marketing, não utilidade. Exige base legal adequada e template da categoria certa.

O que funciona:

  • Uma mensagem, algumas horas depois — não uma sequência
  • Só para quem já tinha relação com a loja
  • Com o item citado pelo nome, não "você deixou algo no carrinho"
  • Com saída explícita

Oi, Ana! Vi que o Tênis Runner 41 ficou no seu carrinho. Ainda tem no estoque — quer que eu guarde? Responda SAIR para não receber mais.

O que queima o número: três mensagens em 24 horas, desconto crescente a cada uma, e disparo para quem nunca comprou. A higiene da lista vale aqui inteira.

Volume e ritmo

Loja com movimento gera picos — uma promoção fecha 400 pedidos numa hora, e são 400 confirmações de uma vez.

Nunca envie direto do handler que muda o status. Enfileire com limitador: o pico entra na fila e escoa no ritmo que não queima o número.

Quando o cliente responde

Metade do valor está aqui. O cliente que responde "posso trocar o endereço?" abre a janela — e o atendimento seguinte não custa mensagem nova.

async function aoReceber(msg) {
  const pedido = await db.pedidos.ultimoDoNumero(msg.from);

  await notificarAtendimento({
    de: msg.from,
    texto: msg.text.body,
    // Contexto pronto: o atendente abre a conversa já sabendo do que se trata
    contexto: pedido ? `Pedido #${pedido.id} — ${pedido.status}` : null,
  });
}

Levar o pedido junto da mensagem para a tela do atendente é o que faz o módulo parecer inteligente. Sem isso, ele pergunta "qual o número do seu pedido?" — e o cliente já sabia que o sistema sabia.

Se mais de uma pessoa responde por esse número, a distribuição e a trava que evita duas respostas para a mesma conversa estão em vários atendentes no mesmo número.

Conclusão

Notificação de pedido é o caso em que automação de WhatsApp é puro ganho: o cliente quer receber, o suporte recebe menos ligação, e o custo é baixo porque tudo cabe em utilidade.

Cinco eventos, templates aprovados cedo, idempotência por pedido e tipo, fila para o pico e resposta caindo no atendimento com o pedido junto. É um módulo de uma a duas semanas que se vende sozinho — e rende mensalidade em vez de hora faturada uma vez.

Pronto para automatizar seu WhatsApp?

Crie sua conta gratuita e comece a enviar mensagens pela API em minutos.

Começar grátis

Perguntas frequentes

Quais notificações de pedido enviar pelo WhatsApp?+

As que reduzem ansiedade e evitam contato com o suporte: pedido confirmado, pagamento aprovado, pedido enviado com código de rastreio, saiu para entrega e entregue. Essas cinco cobrem quase todas as perguntas que chegariam ao atendimento.

Notificação de pedido precisa de template aprovado?+

Na API oficial, sim, sempre que a janela de 24 horas estiver fechada — o que é o caso normal, porque a notificação parte de você. Como são mensagens transacionais, a categoria utilidade costuma se aplicar, e ela é mais barata e mais fácil de aprovar que marketing.

Mensagem de carrinho abandonado é permitida?+

É marketing, e portanto exige base legal adequada e template da categoria correspondente. Funciona bem quando o cliente já tinha relação com a loja e a mensagem sai uma única vez, algumas horas depois. Insistir em sequência é o que transforma a estratégia em denúncia.

Quantas mensagens por pedido são demais?+

Entre quatro e cinco no ciclo inteiro é bem aceito, porque cada uma responde a uma pergunta que o cliente teria. O que incomoda não é a quantidade, é a mensagem que não informa nada novo. Se você não consegue dizer qual dúvida ela responde, ela sobra.

Como evitar mandar a mesma notificação duas vezes?+

Com uma tabela de notificações enviadas por pedido e por tipo, com restrição de unicidade. Antes de enviar, você tenta registrar; se já existir, não envia. Isso protege contra reprocessamento de fila, webhook duplicado e mudança de status que oscila.

Continue lendo