Skip to main content
Uma automação é uma sequência de passos que roda sozinha para cada contato que entra por um gatilho: mensagem, espera, condição, etiqueta, pergunta com ramificação ou espera de pagamento. Esta página é o ciclo de vida pela API; para o passo 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 header Authorization: Bearer ara_live_xxx.
A permissão AUTOMATIONS_MANAGE é opt-in: chaves já existentes não têm ela. Ligue em API Keys, na chave que vai chamar /v1/automations, antes da primeira chamada de escrita.
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

Devolve a lista de automações da organização, cada uma com id, name, trigger, active, costPerRunBrl e steps.

Ler uma

Traz os mesmos campos da listagem, com stats (execuções, em andamento, concluídas, paradas) e, no gatilho webhook, o objeto hook (url, signatureEnabled, hasSecret).

Criar

A automação nasce sempre desligada (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.
Salvar uma automação que está ligada para quem está no meio de uma execução parada — esperando resposta de uma question ou o pagamento de um wait_payment — encerra essa execução, com stoppedReason: "automação editada". Quem já recebeu a primeira mensagem some da sequência; ela não continua com a versão antiga nem pula para a nova no meio. Editar automações ativas com gente esperando é uma operação com efeito colateral real, não um ajuste de rascunho.

Ligar e desligar

O teto de automações ativas do plano é conferido aqui, não na criação, e ignora a própria automação que está sendo ligada — só as outras contam. Automação sem nenhum passo não liga (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

Os dois endpoints, o formato de resposta e as tabelas de 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 chamada POST: pergunta se o cliente quer Pix ou boleto, cobra por Pix num caminho e etiqueta no outro, liga, e depois confere uma execução.
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.
Some 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 em error.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.