Antes de começar
- Chave de API na variável
ARARA_API_KEY. Ver Autenticação. - Número conectado e com a qualidade acompanhada antes de subir volume. Ver Números.
- Templates
MARKETINGaprovados (o passo 1 cria). Ver Templates. - Lista de contatos com consentimento para marketing. A segmentação é do seu lado: a campanha recebe a lista pronta.
- Lista sem opt-out. Confira os contatos com
optOutAtpreenchido (GET /v1/contacts) e os números emGET /v1/opt-outs.
Passo a passo
1
Crie os templates com antecedência
A aprovação é da Meta e o prazo não é controlado pela Arara. Um conjunto comum:
samples é um objeto com o número da variável como chave. Acompanhe a aprovação com GET /v1/templates/{id}/status ou pelo webhook template.updated.2
Estime o custo
Pela contagem de destinatários:Pela lista real de telefones, que calcula por país de destino:A resposta traz
templateCategory, recipientCount, templateCost (custo Meta total), araraFee (taxa Arara total), unitPrice (preço médio por mensagem), totalCost e, só no POST, markets (quebra por mercado de destino).3
Aqueça a base
Envie
bf_aquecimento alguns dias antes, em uma campanha própria. Quem responder SIM abre a janela de 24h e vira um grupo prioritário para o dia principal. Para identificar as respostas, escute o webhook message.received e marque o contato do seu lado ou com etiqueta (PATCH /v1/contacts/{phone}).4
Crie a campanha principal com A/B test
A/B test e agendamento vão no mesmo pedido. Resposta
templateName é a variante A.200 com { id, name, status, totalMessages, totalCost, scheduledAt }. status nasce SCHEDULED com scheduledAt e INGESTING quando envia na hora.Idempotency-Keyé obrigatória. Use um identificador da campanha no seu sistema. Repetir a chave devolve a campanha já criada, sem enviar de novo.contacts[].toé o telefone.contacts[].variablespreenche{{1}},{{2}}… na ordem.sender(opcional) escolhe o número de envio.scheduledAt(opcional, ISO 8601) aceita de 5 minutos a 30 dias no futuro. Fora disso a API respondeCAMPAIGN_SCHEDULE_TOO_SOONouCAMPAIGN_SCHEDULE_TOO_FAR. SemscheduledAt, envia na hora.
Use
CLICKED em template com link rastreado e READ quando o objetivo é a leitura. CONVERTED só serve se você registra conversões (ver Atribuição). DELIVERED raramente ajuda: a entrega não depende do texto.A vencedora sai quando a diferença entre A e B fica estatisticamente significativa ou quando a janela termina. Com autopilot: false, o restante fica retido até você escolher:GET /v1/campaigns/{id}/ab-test mostra o estado do teste (winner, decidedReason, pValue e as métricas de cada variante).5
Acompanhe o envio
status, totalMessages, sentCount, deliveredCount, readCount, failedCount, clickedCount, convertedCount, replyCount, holdoutCount (retidos esperando a vencedora), blockedCount e blockReasons (cada motivo de bloqueio com a quantidade de contatos), refundCount, refundValue, totalCost, startedAt e finishedAt.GET /v1/campaigns?status=... lista as campanhas. POST /v1/campaigns/{id}/cancel cancela. Ao terminar, a Arara envia o webhook campaign.completed.6
Reaborde quem não comprou
O cruzamento é do seu lado: pegue quem recebeu a campanha principal, remova quem comprou no período e quem está em opt-out, e crie outra campanha com a lista resultante.O mesmo vale para o último dia, com
bf_ultimo_dia.7
Responda quem respondeu
Resposta a template abre a janela de 24h. Com volume alto, o Brain responde primeiro e passa para o time quando precisa. Adicione a promoção à base de conhecimento e ligue a resposta automática:
exitTriggers.maxMessages conta o histórico inteiro com o contato, incluindo as mensagens da campanha. Cada passagem para humano gera o webhook conversation.needs_human. Modos, gatilhos e pré-requisitos do Brain em Atendimento com vários atendentes.Armadilhas
Próximos passos
Campanhas de marketing
O que vale fora da data sazonal.
Campanhas na API
Todos os campos e erros.
Carrinho abandonado
Fluxo contínuo, que segue depois da campanha.