Rishidocs

Webhook de carrinho abandonado

3 min de leituraAtualizado há 1 semana

O webhook do módulo de carrinho abandonado envia os dados de cada carrinho ativo para uma URL externa. Isso permite integrar com ferramentas de e-mail marketing, CRM, automação ou serviços próprios.

A configuração fica em WooCommerce → Configurações → Pagamento → Checkout Inteligente → Carrinhos Abandonados.

Configurar o webhook

  • URL do webhook — endpoint que vai receber os dados. Deve ser HTTPS.

Sem URL configurada, o módulo continua capturando carrinhos localmente, mas não envia para fora.

Use Zapier, Make ou n8n

Se você não tem um endpoint próprio, ferramentas como Zapier, Make (Integromat) ou n8n permitem criar URLs de webhook em minutos. Aí dali você dispara para qualquer outra ferramenta (e-mail, SMS, CRM).

Frequência de envio

O webhook é disparado a cada 10 minutos (em loop, via cron do WordPress). Cada execução envia os carrinhos que mudaram desde o último envio.

Não é envio em tempo real — é batch. Isso evita sobrecarregar a URL externa e também sobrecarregar o WordPress.

Payload enviado

A requisição é POST application/json. O payload inclui:

{
  "session_id": "abc123...",
  "email": "cliente@exemplo.com",
  "phone": "11999999999",
  "first_name": "Maria",
  "last_name": "Silva",
  "items": [
    {
      "product_id": 42,
      "name": "Produto X",
      "quantity": 1,
      "price": 99.90,
      "image": "https://exemplo.com.br/produto-x.jpg"
    }
  ],
  "total": 99.90,
  "currency": "BRL",
  "ip": "189.123.456.789",
  "captured_at": "2026-04-28T15:30:00-03:00",
  "abandoned_at": "2026-04-28T16:00:00-03:00",
  "status": "abandoned",
  "recovery_url": "https://loja.com.br/?recover_cart=token_xyz",
  "checkout_url": "https://loja.com.br/finalizar-compra/"
}

Os campos exatos podem variar dependendo da versão do plugin e dos dados capturados. Trate sempre cada campo como opcional do lado do consumidor.

Histórico de sincronizações

A lista de carrinhos no admin mostra a coluna Webhook info com as últimas tentativas de sincronização (sucesso ou erro). Útil para diagnosticar problemas:

  • Status HTTP da última requisição.
  • Mensagem de erro (timeout, DNS, 4xx, 5xx).
  • Timestamp da última tentativa bem-sucedida.

As últimas 5 tentativas ficam registradas para cada carrinho.

Boas práticas no endpoint

  1. Responda rápido — o WordPress espera resposta. Se demora muito, abre lock no cron e atrasa próximas execuções.
  2. Retorne 2xx em sucesso — qualquer outro status é tratado como erro.
  3. Idempotência — use session_id como chave única. O mesmo carrinho pode ser enviado múltiplas vezes (se status muda, se itens mudam).
  4. Não bloqueie por validação — se um campo veio inválido, registre e continue. O plugin tem variações de payload conforme captura disponível.

Validar localmente

Para testar sem enviar para produção:

  1. Use webhook.site para gerar uma URL temporária.
  2. Cole no campo URL do webhook.
  3. Adicione produtos ao carrinho como visitante anônimo, depois saia.
  4. Espere até 10 minutos e veja a requisição em webhook.site.
Cron precisa estar funcionando

O envio depende do WP-Cron. Em sites com DISABLE_WP_CRON ativo (configurado para usar cron real do servidor), confirme que o cron real está disparando wp_cron. Sem cron rodando, nenhum webhook é enviado.

Eventos do ciclo de vida

O webhook envia eventos em vários momentos:

Evento Quando
created Cliente acabou de criar o carrinho
updated Itens, e-mail ou telefone mudaram
abandoned Atingiu o tempo de abandono (default 30 min)
recovered Cliente clicou no link de recuperação
converted Pedido foi efetivado

Use o campo status no payload para tratar cada evento diferente. Por exemplo, dispare e-mail só em abandoned, não em created.

Privacidade e LGPD

Os dados enviados via webhook incluem PII (nome, e-mail, telefone, IP). Garanta que:

  • A URL do webhook é HTTPS.
  • O endpoint armazena os dados em conformidade com LGPD.
  • Você tem base legal para o tratamento (consentimento ou interesse legítimo).
  • A URL do webhook não está exposta a terceiros não-autorizados.

Em caso de dúvida, consulte sua assessoria jurídica antes de ativar.

Foi útil?