Skip to main content
Ao final, o Brain responde as perguntas repetidas, passa a conversa para o time quando precisa, seu backend é avisado por webhook e o atendente responde pela API ou pelo painel.

Antes de começar

  • Chave de API com permissão ADMIN na variável ARARA_API_KEY. Ver Autenticação.
  • Número dedicado conectado na organização. Ver Números.
  • Conversas disponível no seu plano. Sem acesso, GET /v1/conversations responde 403 PLAN_FEATURE_LOCKED.
  • Template aprovado para retomar conversa com a janela fechada (aqui, retomada_atendimento). Ver Templates.
  • Webhook configurado, com o secret (whsec_...) em ARARA_WEBHOOK_SECRET. Ver Webhooks.

Passo a passo

1

Convide os atendentes

Pelo painel ou pela API:
Papéis: OWNER, ADMIN, DEVELOPER, AGENT, BILLING, VIEWER. Só OWNER e ADMIN convidam. OWNER não é atribuído por convite, só por transferência. O número de membros é limitado pelo plano.
2

Configure o Brain para responder primeiro

O Brain depende do plano e de número conectado. active: true é recusado enquanto houver pré-requisito pendente. Acompanhe o consumo com GET /v1/brain/usage. Detalhes em Brain.
3

Receba os eventos

Três eventos importam: message.received (cliente mandou mensagem), conversation.needs_human (Brain passou para humano) e message.status_updated (status da resposta enviada). Valide a assinatura antes de processar. Exemplo em Next.js (App Router, runtime Node):
4

Atenda os handoffs

Quando passa para humano, o Brain avisa o cliente e cria um handoff:
Cada handoff traz id, conversationId, reason, summary, briefing (resumo para o atendente, quando gerado), createdAt e resolvedAt.
5

Responda dentro da janela, ou reabra com template

Com a janela de 24h aberta, o atendente responde pelo painel, em Conversas, ou por POST /v1/conversations/reply. Com a janela fechada, a API responde 400 e você precisa enviar um template. A função abaixo decide sozinha:
O telefone em phones precisa estar no formato gravado na conversa (customerPhone em GET /v1/conversations). Enviar o template não abre a janela. Ela só abre quando o cliente responde. Ver Janela de 24h.Ao terminar, feche a conversa com PATCH /v1/conversations/{conversationId}/status e { "status": "CLOSED" }. Os outros endpoints de conversa estão em Mensagens.

Armadilhas

A Arara não tem atribuição de conversa a atendente nem trava contra dois atendentes respondendo a mesma conversa. Quem usa só o painel combina a divisão no time. Em ferramenta própria, atribua do seu lado ao receber message.received e só libere POST /v1/conversations/reply para quem tem a trava.
  • Uma conversa por número de cliente. Pedido, troca e cadastro do mesmo cliente caem no mesmo histórico. Para separar por ticket, espelhe as mensagens na sua ferramenta via webhook.
  • Opt-out é automático. Quem responde STOP, SAIR, PARAR, CANCELAR ou variações recebe uma confirmação e é marcado como opt-out. START ou VOLTAR desfaz. Ver Compliance.

Próximos passos

Brain

Configuração, base de conhecimento e ações.

Janela de 24h

Quando dá para responder sem template.

Eventos de webhook

Payload de cada evento.