API de WhatsApp para plataformas de e-commerce
Plataformas de loja virtual e hubs de e-commerce usam a API de WhatsApp para que cada lojista confirme pedidos, envie rastreio e recupere carrinhos pelo próprio número, sem sair do painel. A peça que define se isso escala é o provisionamento: criar e monitorar uma conexão por loja sem ninguém do seu suporte no meio.
Por que o lojista pede WhatsApp
Pergunte a qualquer lojista pequeno de onde vem o chamado de "cadê meu pedido": do WhatsApp da loja, digitado à mão, um por um. Ele já responde clientes ali o dia inteiro. O que ele quer da plataforma é que as mensagens repetitivas saiam sozinhas, pelo mesmo número, para sobrar tempo para vender.
Para quem constrói a plataforma, isso vira uma decisão de produto: WhatsApp como recurso nativo do painel, vendido como add-on ou incluído num plano superior. Hoje muito lojista resolve com extensão de navegador ou app de terceiro, e cada solução paralela é um dado de pedido que sai do seu ecossistema.
Os quatro momentos que mais geram resultado
Confirmação de pedido
É a mensagem que o cliente espera receber. Número do pedido, itens, total e forma de pagamento. Em pagamento por PIX ou boleto, a confirmação vem com o lembrete de que o pedido só segue após o pagamento.
Rastreio
Postado, em trânsito, saiu para entrega, entregue. O ideal é mandar o código uma vez, com um botão de link para a página de acompanhamento, e só avisar de novo em mudança relevante. O fluxo completo está em rastreio de pedidos pelo WhatsApp.
Carrinho abandonado
O cliente preencheu o telefone no checkout e não pagou. Uma mensagem uma ou duas horas depois, com o link direto para o carrinho, recupera parte dessas vendas. Esse uso tem página própria, com a estratégia de sequência e tempo: recuperação de vendas pelo WhatsApp.
Catálogo e novidades
Lançamento de coleção, reposição de um produto esgotado, cupom de aniversário. Imagem com legenda resolve a maioria dos casos; para vários produtos na mesma mensagem existe o carrossel interativo. Aqui o cuidado é maior: só para quem aceitou receber, com frequência baixa.
Exemplo: do evento do pedido ao WhatsApp do cliente
A maioria das plataformas já emite eventos internos quando o status do pedido muda. O handler abaixo escuta o evento de envio e manda a mensagem com botão de rastreio pelo número do lojista:
import { DApi } from 'd-api-sdk'
const dapi = new DApi({ apiKey: process.env.DAPI_KEY! })
export async function onOrderShipped(order: Order) {
if (!order.customer.whatsappOptIn) return
await dapi.interactive.sendTemplate({
sessionId: `loja-${order.storeId}`, // conexão do lojista
to: order.customer.phone, // ex.: 5511999999999
title: `Pedido #${order.number} enviado`,
content: `Oi, ${order.customer.firstName}! Seu pedido saiu hoje pela ${order.carrier}.`,
footer: order.storeName,
buttons: [{ type: 'url', title: 'Acompanhar entrega', url: order.trackingUrl }],
})
}O mesmo desenho vale para os outros momentos: um handler por evento, a conexão resolvida pelo id da loja e a mensagem montada com os dados do pedido. Rode isso num worker, fora da requisição do checkout, para que uma lentidão de rede não segure a finalização da compra.
Checklist de produto antes de liberar para os lojistas
- Opt-in de WhatsApp no checkout, salvo junto do pedido, separado do aceite de e-mail.
- Telefone normalizado no formato internacional sem sinal de mais, como 5511999999999.
- Textos editáveis pelo lojista, com variáveis e uma prévia antes de salvar.
- Liga e desliga por tipo de mensagem, para o lojista escolher o que quer enviar.
- Status da conexão visível no painel, com botão de reconectar quando cair.
- Respostas dos clientes encaminhadas para onde o lojista atende, e não perdidas.
- Limite de campanhas por dia para mensagens promocionais, protegendo o número de cada loja.
O último item pesa mais do que parece. Um lojista que dispara promoção para a base inteira de uma vez põe o próprio número em risco. Vale ler como evitar banimento antes de liberar qualquer recurso de campanha.
Uma conexão por lojista, sem efeito dominó
Um hub com milhares de lojas não pode ter um problema isolado virando incidente geral. Na D-API cada conexão roda isolada, com credenciais, webhook e IP próprios, e se recupera sozinha quando a queda não depende do celular do lojista. Para a sua plataforma, cada loja é só um sessionId, e a mesma URL de webhook recebe os eventos de todas, identificados pela sessão.
A API de WhatsApp da D-API cobra por conexão, e o valor unitário cai conforme o número de lojas conectadas sobe (veja preços). O desenho de produto para quem vende software com WhatsApp embutido está em API de WhatsApp para SaaS. São 14 dias grátis falando com o time comercial, com implementação acompanhada num grupo de WhatsApp.
Perguntas frequentes
Como o lojista conecta o WhatsApp dele na minha plataforma?
A plataforma cria a conexão pela API e mostra um QR Code no painel do lojista. Ele lê com o celular da loja, como faz no WhatsApp Web, e a partir daí as mensagens saem do número dele.
Preciso de aprovação da Meta para mandar confirmação de pedido?
Na API não oficial, não: não existe template para aprovar. Na API oficial, mensagens iniciadas pela empresa usam templates aprovados pela Meta, e o prazo dessa aprovação não depende de quem fornece a API.
Dá para mandar um botão com o link de rastreio?
Dá. O endpoint interactive/send/template envia um texto com botões de link ou de ligação. O cliente toca e abre a página de rastreio da transportadora ou da própria loja.
O que acontece se o lojista trocar de celular?
A conexão cai e o evento connection.status avisa a plataforma. O painel pede um novo QR Code ao lojista e, enquanto isso, a sua fila segura as mensagens que não puderam sair.
Posso cobrar o lojista pelo WhatsApp como um add-on?
Pode, e é o modelo mais comum entre plataformas. Como a D-API cobra por conexão e não por mensagem, o custo por lojista é fixo e fica fácil precificar o add-on com margem.
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.