Skip to main content
Ao final, sua loja avisa a Arara a cada carrinho abandonado, o cliente recebe uma ou mais mensagens com o link do checkout, e a sequência para sozinha quando ele compra. A detecção do abandono é do seu lado. A Arara não observa o checkout da loja.

Antes de começar

  • Chave de API na variável ARARA_API_KEY. Ver Autenticação.
  • Número conectado na organização. Ver Números.
  • Um template MARKETING aprovado para cada mensagem da sequência (o passo 1 cria). Ver Templates.
  • Recuperação de receita e automações disponíveis no seu plano. Sem acesso, /v1/recovery/* e /v1/automations respondem 403 PLAN_FEATURE_LOCKED.
O contrato completo do endpoint de recuperação (headers, variáveis, motivos de recusa) está em Recuperação de receita. Aqui fica o passo a passo.

Passo a passo

1

Crie o template

A resposta traz o id (UUID), usado como templateId nos próximos passos. Acompanhe a aprovação com GET /v1/templates/{id}/status ou pelo webhook template.updated.
2

Pegue o endpoint de recuperação

Cada organização tem um endpoint próprio. Busque pelo painel, em Recuperação, ou pela API:
Guarde no servidor ARARA_RECOVERY_URL como https://api.ararahq.com/l/{code} e ARARA_RECOVERY_SECRET com o hmacSecret. O hmacSecret nunca vai para o navegador.
3

Envie o evento quando o carrinho for abandonado

  • X-Arara-Event diz qual evento aconteceu. É ele que liga o evento ao template ou à automação.
  • X-Arara-Idempotency-Key vem do id do carrinho. Repetir a chave não envia de novo nem inicia a automação duas vezes.
  • X-Arara-Signature é o HMAC do corpo cru, sem timestamp. É diferente dos webhooks que a Arara envia para você.
  • A chave link de variables vira o destino do botão de smart link do template. As outras preenchem o corpo.
A resposta é 202. Os valores de status e reason estão em Recuperação de receita.
4

Escolha: uma mensagem ou uma sequência

Vincule o template ao evento. O envio sai assim que o evento chega.
templateId é o UUID do template, não o nome. As variáveis entram em ordem alfabética da chave (link fica de fora): com nome e valor, {{1}} recebe nome e {{2}} recebe valor. Para mudar a ordem, use variableMapping, explicado em Recuperação de receita.Depois, ligue o endpoint:
5

Pare a sequência quando o cliente comprar

Quando o pedido for confirmado, aplique a etiqueta usada no passo condition:
  • tags substitui a lista inteira de etiquetas do contato. Leia as atuais com GET /v1/contacts/{phone} e envie a lista completa.
  • O contato precisa existir na organização. Se não existir, a API responde erro.
  • O + do telefone vai codificado na URL (%2B).
6

Teste e acompanhe

POST /v1/recovery/events/cart.abandoned/test processa um payload de exemplo e envia de verdade para o telefone cadastrado no seu usuário. O endpoint precisa estar ligado.
  • GET /v1/recovery/ingests?event=cart.abandoned&status=REJECTED lista os eventos recebidos com o motivo de recusa. POST /v1/recovery/ingests/{id}/retry reprocessa um deles.
  • GET /v1/recovery/stats?period=LAST_7D traz os números agregados.
  • O webhook message.status_updated traz o status de cada mensagem.
  • Três ou mais falhas ou recusas em 5 minutos geram um alerta no painel.

Armadilhas

O evento é entregue para as automações e para a recuperação de um passo. Com automação ativa para cart.abandoned e também um template vinculado ao evento (ou o template padrão arara_recovery_cart_abandoned_pt_br, criado por POST /v1/recovery/provision-defaults), o cliente recebe as duas mensagens. Para usar só a automação, desligue o evento com PUT /v1/recovery/events/cart.abandoned e { "active": false }. Nesse caso a resposta do POST vem REJECTED com EVENT_DISABLED, mesmo com a automação iniciada.
  • Resposta do cliente não para a sequência. Para parar quando ele responder, escute o webhook message.received e aplique a etiqueta.
  • Opt-out é recusado. Evento para contato que pediu para sair volta REJECTED com OPTED_OUT.

Próximos passos

Recuperação de receita

Contrato do endpoint e os outros eventos de pagamento.

Shopify

Ligue uma loja Shopify a este fluxo.

Atendimento com vários atendentes

Quem atende quando o cliente responde.