ZAP-API
PreçosCasos de UsoBlogDocsLogin
Começar grátis
  1. Blog
  2. Como integrar WhatsApp ao seu e-commerce: guia completo
Caso de uso

Como integrar WhatsApp ao seu e-commerce: guia completo

Implemente os 5 fluxos essenciais: notificações de pedido, recuperação de carrinho, chatbot de suporte, pós-venda e campanhas segmentadas. Com exemplos em Node.js prontos para produção.

20 de fevereiro de 2026·12 min de leitura·Equipe Editorial ZAP API

WhatsApp é o canal de comunicação preferido dos brasileiros — com 147 milhões de usuários ativos. Integrar ao seu e-commerce vai além de notificações: significa ter um canal completo de vendas, suporte e fidelização no app que seu cliente já usa todos os dias.

Por que WhatsApp no e-commerce?

  • 90%+ de taxa de abertura — contra 20-25% do e-mail marketing
  • Redução de abandono de carrinho — lembrete no WhatsApp converte 3x mais que e-mail
  • Suporte resolvido mais rápido — clientes preferem WhatsApp a ligações ou e-mail
  • NPS mais alto — empresas com suporte por WhatsApp recebem melhores avaliações
  • Recompra aumentada — follow-up pós-venda gera mais pedidos recorrentes

Os 5 fluxos essenciais

  1. Notificações de pedido: confirmação, envio, entrega
  2. Recuperação de carrinho: lembrete 1h após abandono
  3. Suporte automatizado: chatbot para perguntas frequentes
  4. Pós-venda: avaliação, cross-sell, fidelização
  5. Promoções segmentadas: campanhas para clientes por categoria de compra

Arquitetura do sistema

[E-commerce]          [Seu servidor]       [ZAP API]
  Pedido criado   →   Webhook recebido  →  WhatsApp enviado
  Carrinho aband. →   Timer 1h          →  Lembrete enviado
  Cliente responde ←  Webhook recebido  ←  ZAP API notifica
  Chatbot responde →  IA processa       →  Resposta enviada

Setup inicial

npm install express axios dotenv
// zap.js — cliente reutilizável
const axios = require('axios');
require('dotenv').config();

const api = axios.create({
  baseURL: 'https://zap-api.tech/v1',
  headers: { Authorization: 'Bearer ' + process.env.ZAP_TOKEN }
});

const INSTANCE = process.env.ZAP_INSTANCE;

async function enviar(phone, mensagem) {
  return api.post('/instances/' + INSTANCE + '/send', {
    phone, type: 'text', body: mensagem
  });
}

module.exports = { api, enviar, INSTANCE };

Fluxo 1: Notificações automáticas de pedido

// notificacoes.js
const { enviar } = require('./zap');

async function pedidoConfirmado(pedido, cliente) {
  const msg =
    'Seu pedido foi confirmado, ' + cliente.nome + '!

' +
    'Pedido: #' + pedido.numero + '
' +
    'Total: R$' + pedido.total.toFixed(2) + '

' +
    'Você receberá o código de rastreio assim que sair para entrega.';
  return enviar(cliente.phone, msg);
}

async function pedidoEnviado(pedido, cliente, rastreio, transportadora) {
  const msg =
    'Seu pedido saiu para entrega!

' +
    'Pedido: #' + pedido.numero + '
' +
    'Transportadora: ' + transportadora + '
' +
    'Rastreio: ' + rastreio + '

' +
    'Acompanhe em: https://rastreio.net/' + rastreio;
  return enviar(cliente.phone, msg);
}

async function pedidoEntregue(pedido, cliente) {
  const msg =
    'Seu pedido chegou, ' + cliente.nome + '!

' +
    'Pedido #' + pedido.numero + ' entregue.

' +
    'Em 2 dias te pediremos uma avaliacao rapida — conta muito pra nos!';
  return enviar(cliente.phone, msg);
}

module.exports = { pedidoConfirmado, pedidoEnviado, pedidoEntregue };

Fluxo 2: Recuperação de carrinho abandonado

// carrinho.js
const { enviar } = require('./zap');

// Carrinhos pendentes (em produção: banco de dados)
const carrinhosPendentes = new Map();

async function registrarAbandonoCarrinho(cliente, itens, urlCarrinho) {
  // Aguardar 1 hora antes de enviar lembrete
  const timer = setTimeout(async () => {
    const primeiroItem = itens[0].nome;
    const totalItens   = itens.length;

    const msg =
      'Oi, ' + cliente.nome + '! Você esqueceu algo na sacola?

' +
      primeiroItem +
      (totalItens > 1 ? ' e mais ' + (totalItens - 1) + ' item(s)

' : '

') +
      'Finalize antes que os itens acabem:
' +
      urlCarrinho + '

' +
      'Precisa de ajuda? Só responder aqui!';

    await enviar(cliente.phone, msg);
    carrinhosPendentes.delete(cliente.phone);
  }, 60 * 60 * 1000);  // 1 hora

  carrinhosPendentes.set(cliente.phone, timer);
}

// Cancelar lembrete se o cliente finalizar a compra
function cancelarLembrete(phone) {
  const timer = carrinhosPendentes.get(phone);
  if (timer) {
    clearTimeout(timer);
    carrinhosPendentes.delete(phone);
  }
}

module.exports = { registrarAbandonoCarrinho, cancelarLembrete };

Fluxo 3: Chatbot de suporte com IA

// suporte.js
const OpenAI = require('openai');
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const historicos = new Map();

const PROMPT_SUPORTE =
  'Você é o assistente de suporte da [Sua Loja]. ' +
  'Responda sobre pedidos, prazos, trocas e pagamentos. ' +
  'Prazo de entrega padrão: 3 a 7 dias úteis. ' +
  'Política de troca: 30 dias após recebimento. ' +
  'Se precisar consultar pedido específico, peça o número. ' +
  'Para falar com humano: https://wa.me/5511999998888';

async function responderSuporte(phone, pergunta) {
  if (!historicos.has(phone)) {
    historicos.set(phone, [{ role: 'system', content: PROMPT_SUPORTE }]);
  }

  const historico = historicos.get(phone);
  historico.push({ role: 'user', content: pergunta });

  const resp = await openai.chat.completions.create({
    model:      'gpt-4o-mini',
    messages:   historico,
    max_tokens: 400
  });

  const resposta = resp.choices[0].message.content;
  historico.push({ role: 'assistant', content: resposta });
  return resposta;
}

module.exports = { responderSuporte };

Servidor principal

// server.js
require('dotenv').config();
const express = require('express');
const { api, enviar, INSTANCE } = require('./zap');
const { pedidoConfirmado, pedidoEnviado, pedidoEntregue } = require('./notificacoes');
const { registrarAbandonoCarrinho, cancelarLembrete }     = require('./carrinho');
const { responderSuporte }                                 = require('./suporte');

const app = express();
app.use(express.json());

// Webhook do e-commerce (Shopify, WooCommerce, ou próprio)
app.post('/webhooks/loja', async (req, res) => {
  res.json({ ok: true });
  const { evento, pedido, cliente } = req.body;

  switch (evento) {
    case 'pagamento_aprovado':
      cancelarLembrete(cliente.phone);   // Cancelar lembrete de carrinho
      await pedidoConfirmado(pedido, cliente);
      break;
    case 'pedido_enviado':
      await pedidoEnviado(pedido, cliente, pedido.rastreio, pedido.transportadora);
      break;
    case 'pedido_entregue':
      await pedidoEntregue(pedido, cliente);
      // Agendar pedido de avaliação para 48h depois
      setTimeout(() => {
        const msg =
          'Oi, ' + cliente.nome + '! Como foi a experiencia?

' +
          'Avalie seu pedido #' + pedido.numero + ':
' +
          'https://sua-loja.com/avaliar/' + pedido.id;
        enviar(cliente.phone, msg);
      }, 48 * 60 * 60 * 1000);
      break;
    case 'carrinho_abandonado':
      registrarAbandonoCarrinho(cliente, pedido.itens, pedido.urlCarrinho);
      break;
  }
});

// Webhook de mensagens recebidas (ZAP API)
app.post('/webhooks/whatsapp', async (req, res) => {
  res.json({ ok: true });
  const { event, data } = req.body;

  if (event !== 'message.received' || data.fromMe) return;

  try {
    const resposta = await responderSuporte(data.phone, data.body);
    await api.post('/instances/' + INSTANCE + '/send', {
      phone: data.phone, type: 'text', body: resposta
    });
  } catch (err) {
    console.error('Erro chatbot:', err.message);
  }
});

app.listen(3000, () => console.log('Servidor rodando!'));

ROI esperado (500 pedidos/mês)

  • Recuperação de carrinho: ~15% dos abandonos → 50-75 pedidos extras/mês
  • Redução de suporte: -40% de tickets com chatbot
  • Taxa de avaliação: de 5% para 30% (WhatsApp vs e-mail)
  • Custo total: a partir de R$29/mês (ZAP API)* + ~R$20/mês (OpenAI)

Conclusão

Integrar WhatsApp ao e-commerce é investimento com retorno imediato. Com a ZAP API, você tem o canal direto com seus clientes a partir de R$29/mês* — sem aprovação da Meta e pronto para produção em menos de 1 dia.

Começar com 7 dias grátis →

Experimente a ZAP API gratuitamente

7 dias de trial sem precisar de cartão. A partir de R$29/mês*.

Criar instância grátis
EE
Equipe Editorial ZAP APIRevisão técnica

Desenvolvedores e especialistas em integrações WhatsApp. Todo conteúdo passa por revisão técnica para garantir precisão e aplicabilidade.

Ver perfil completoDocumentaçãoTrial grátis

Leia também

Caso de uso · 19 de fev. de 2026 · 7 min

Como automatizar notificações de pedido pelo WhatsApp

Aprenda a enviar notificações automáticas de confirmação, envio e entrega de pedidos via WhatsApp para o seu e-commerce. Taxa de abertura acima de 90%.

Caso de uso · 03 de mar. de 2026 · 11 min

WhatsApp API para Atendimento ao Cliente: Guia Completo 2026

Como estruturar atendimento ao cliente pelo WhatsApp via API: fila de atendimento, transferência para humano, CSAT automático e métricas de SLA. Com arquitetura e código prontos.

Caso de uso · 07 de mar. de 2026 · 11 min

WhatsApp API para imobiliárias: qualifique leads e agende visitas

Use WhatsApp API para qualificar leads automaticamente, enviar fotos de imóveis e agendar visitas. Guia completo com bot de qualificação em Node.js.

Caso de uso · 07 de mar. de 2026 · 11 min

Como automatizar agendamentos via WhatsApp com API

Aprenda a automatizar lembretes e confirmações de agendamento via WhatsApp API. Reduza no-shows em até 70% com cron jobs e webhooks. Código pronto para produção.

Tópicos:Chatbots com IAAPI WhatsApp

Explore também

Casos de usoWhatsApp API por segmentoComparativoZAP API vs alternativasPreçosPlanos e o que está inclusoGlossárioTermos técnicos de WhatsApp API
ZAP-API

API REST para WhatsApp com webhooks assinados, Meta Pixel/CAPI e compliance LGPD. Sem aprovação da Meta.

Status operacional🇧🇷 Feito no Brasil

Produto

  • Preços
  • Casos de uso
  • Comparativo
  • Trial grátis
  • Dashboard

Recursos

  • Documentação
  • Blog
  • Glossário
  • RSS Feed

Empresa

  • Sobre
  • Imprensa
  • Termos de uso
  • Privacidade
  • Criar conta
  • Login

Contato

  • [email protected]
  • [email protected]
  • Resposta em até 24h úteis
© 2026 ZAP-API — Todos os direitos reservados·CNPJ 42.130.949/0001-56·Termos·Privacidade

Desenvolvido por PreviusIA