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
MARKETINGaprovado 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/automationsrespondem403 PLAN_FEATURE_LOCKED.
Passo a passo
1
Crie o template
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-Eventdiz qual evento aconteceu. É ele que liga o evento ao template ou à automação.X-Arara-Idempotency-Keyvem 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
linkdevariablesvira o destino do botão de smart link do template. As outras preenchem o corpo.
202. Os valores de status e reason estão em Recuperação de receita.4
Escolha: uma mensagem ou uma sequência
- Uma mensagem
- Sequência com espera
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:tagssubstitui a lista inteira de etiquetas do contato. Leia as atuais comGET /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=REJECTEDlista os eventos recebidos com o motivo de recusa.POST /v1/recovery/ingests/{id}/retryreprocessa um deles.GET /v1/recovery/stats?period=LAST_7Dtraz os números agregados.- O webhook
message.status_updatedtraz o status de cada mensagem. - Três ou mais falhas ou recusas em 5 minutos geram um alerta no painel.
Armadilhas
- Resposta do cliente não para a sequência. Para parar quando ele responder, escute o webhook
message.receivede aplique a etiqueta. - Opt-out é recusado. Evento para contato que pediu para sair volta
REJECTEDcomOPTED_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.