question e o link de webhook com wait_payment, veja Automações com resposta e Link da automação e pagamento.
Autenticação
Toda chamada usa API key no headerAuthorization: Bearer ara_live_xxx.
Uma chave com
ADMIN já tem as duas. Sem a permissão certa, a chamada responde 403 sem error.code — veja Autenticação.
Ciclo de vida
Listar
id, name, trigger, active, costPerRunBrl e steps.
Ler uma
stats (execuções, em andamento, concluídas, paradas) e, no gatilho webhook, o objeto hook (url, signatureEnabled, hasSecret).
Criar
active: false), mesmo que você não mande esse campo — não existe jeito de criar já ligada. Criar não conta no teto de automações ativas do plano, só ligar conta.
Editar
PUT substitui a automação inteira: nome, gatilho e a lista de passos. Não existe patch parcial — mande sempre o objeto completo, do jeito que GET /v1/automations/{id} devolveu.
Ligar e desligar
AUTOMATION_EMPTY). Desligar não derruba quem já está no meio da sequência; só impede gente nova de entrar.
Apagar
204 sem corpo. Apaga a automação e as execuções ligadas a ela.
Execuções e o rastro de uma execução
status e kind estão em Histórico de execuções.
Gatilhos (trigger)
Só
button.replied exige triggerConfig, com { "replyId": "...", "templateName?": "..." }. Os demais ignoram o campo. Gatilho inexistente é recusado com 400 AUTOMATION_TRIGGER_INVALID; triggerConfig inválido em button.replied (sem replyId), com 400 AUTOMATION_TRIGGER_CONFIG_INVALID.
GET /v1/automations/catalog devolve a mesma lista de gatilhos e tipos de passo que o dashboard usa para montar os seletores — útil para validar no seu lado antes de mandar.
Tipos de passo (steps[].type)
PUT e POST reescrevem a lista de passos inteira a cada chamada: não existe id de passo estável entre versões, então não dá para editar um passo isolado.
Exemplo completo: pergunta com dois caminhos
Uma automação com uma única chamadaPOST: pergunta se o cliente quer Pix ou boleto, cobra por Pix num caminho e etiqueta no outro, liga, e depois confere uma execução.
status de cada execução (RUNNING, WAITING_REPLY, COMPLETED…) e o detalhe de cada evento estão em Histórico de execuções.
Quanto custa
costPerRunBrl, devolvido em toda automação, é uma estimativa por pessoa que entra, não uma cobrança. Ela soma o caminho mais caro: como cada pessoa atravessa só um caminho quando há question ou wait_payment, a Arara usa o ramo de maior custo em vez de somar todos ou usar o mais barato — o teto é a promessa honesta.
Cada passo de mensagem entra no cálculo assim:
- Com template: o preço de referência da categoria do template (
MARKETING,UTILITY…) no plano da organização. - Sem template (
sessionText): o preço de uma mensagem de sessão livre no plano da organização.
sessionUnitPriceBrl manualmente antes de salvar se você estiver montando a automação no seu próprio sistema, sem passar pelo editor do dashboard.
Erros
Formato padrão, com o código emerror.code:
Veja a lista de erros para os códigos genéricos (autenticação, plano, validação).
Idempotência
POST /v1/automations não aceita Idempotency-Key hoje: chamar duas vezes cria duas automações. Isso está sendo adicionado por outra frente; confira a mudança antes de depender de retry automático nesse endpoint.
Próximos passos
Automações com resposta
O passo
question, ramificação e reconhecimento de resposta.Link da automação e pagamento
Gatilho
webhook, wait_payment e assinatura HMAC do link.