question envia uma pergunta com opções e espera o cliente responder. Cada opção tem o seu próprio caminho de passos, e existe um caminho pra quem não respondeu e outro pra quem respondeu outra coisa.
O resto da automação continua igual: gatilho, passos em ordem, um contato por execução. Se você ainda não montou uma automação, comece pela receita de carrinho abandonado.
Exemplo completo
Pagamento falhou. A automação pergunta como o cliente quer resolver, por template, porque ele pode estar fora da janela de 24h:- Pix: envia a cobrança na hora.
- Falar com alguém: aplica uma etiqueta pra sua equipe assumir.
- Não respondeu em 24h: manda um lembrete.
pagamento_falhou_opcoes tem dois botões de resposta rápida, Pix e Falar com alguém. O template do caminho pix é um template de cobrança.
A automação nasce desligada. Ligue com PUT /v1/automations/{id}/active e { "active": true }.
O passo
Um passoquestion é um passo comum com dois campos a mais:
As chaves de
branches são o id de cada opção, mais duas reservadas:
Os passos de um caminho têm o mesmo formato dos passos da raiz, inclusive outro
question ou um wait_payment, que espera o pagamento de uma cobrança e segue por paid ou unpaid. Quando o caminho acaba, a execução termina. Os caminhos não se juntam de novo: o que precisa acontecer em todos eles vai repetido em cada um.
config
Limites
Uma automação aceita até 2 níveis de pergunta: uma pergunta dentro do caminho de outra, e só. Uma terceira, dentro dessa, é recusada.
Dentro e fora da janela de 24h
buttons e list são mensagens de sessão. Só funcionam com a janela de 24h aberta, ou seja, quando o cliente falou com você nas últimas 24 horas.
Pra começar uma conversa com quem está fora da janela, a primeira pergunta precisa ser template: um template aprovado com botões de resposta rápida. Nesse modo, o toque chega com o texto do botão, e a Arara casa esse texto com o title (ou o id) de cada opção. Então o title precisa ser igual ao texto do botão no template.
Depois que o cliente toca no botão, a janela abre. As perguntas seguintes podem ser buttons ou list.
Como a resposta é reconhecida
- Pelo toque. Se o cliente tocou num botão ou numa opção da lista, vale o
iddele. - Pelo texto. Se ele digitou, o texto é comparado com a lista
matche com otitlede cada opção, sem diferenciar maiúsculas nem acentos.PIX,pixePíxdão no mesmo.
- Primeira vez: a automação pergunta de novo, uma vez, com o
retryText. - Segunda vez: segue pelo caminho
__other. Sem__other, a execução para e a mensagem vai pro atendimento normal (Brain ou caixa de entrada).
message.received dispara normalmente, com reply quando foi um toque.
Se um atendente humano assume a conversa, a execução para.
Variáveis da resposta
A opção escolhida vira variável da execução e pode ser usada nos passos seguintes:
Use como
{{resposta_1}}, do mesmo jeito que as variáveis do evento que disparou a automação.
Quanto custa
A estimativa de
costPerRunBrl soma o caminho mais caro, porque cada pessoa atravessa um caminho só. GET /v1/automations/pricing devolve o preço da mensagem livre (sessionUnitPriceBrl) pra você somar antes de salvar.
Gatilho: toque num botão
O gatilhobutton.replied inicia a automação quando o cliente toca num botão com um id específico e nenhuma execução está esperando aquela resposta.
A configuração vai em triggerConfig, ao lado de trigger:
Sem
replyId a criação é recusada com AUTOMATION_TRIGGER_CONFIG_INVALID.
O uso típico é uma campanha com três respostas rápidas, cada uma iniciando uma automação diferente.
A execução começa com duas variáveis: reply_id e reply_title.
Histórico de execuções
Cada contato que entra na automação gera uma execução.
Pra ver o que aconteceu dentro de uma execução:
detail muda conforme o kind e pode ser null. As duas listas seguem o formato { data, pagination }.
Erros
Todo erro segue o formato padrão:title longo, id repetido ou começando com __, mais de 2 níveis de pergunta) é recusada na criação com AUTOMATION_STEP_INVALID e o motivo em message. Automação ou execução de outra organização responde 404 (AUTOMATION_NOT_FOUND, AUTOMATION_RUN_NOT_FOUND). Veja a lista de erros.
Como testar
- Crie a automação com uma pergunta em modo
buttonse ligue. - Mande uma mensagem do seu celular pro seu número, pra abrir a janela de 24h.
- Dispare o gatilho pro seu próprio telefone.
- Toque num botão e confira o caminho. Depois repita digitando um texto de
match, e outra vez digitando qualquer coisa duas vezes, pra ver oretryTexte o__other. - Pra testar o
__timeoutsem esperar um dia, use"timeoutMinutes": 1. - Abra
GET /v1/automations/{id}/runs/{runId}/eventse confira a ordem:QUESTION_ASKED,REPLY_MATCHEDe o passo do caminho.
template, o template com respostas rápidas precisa estar aprovado. Pra coletar vários dados de uma vez em vez de uma escolha, use um formulário. Pra cobrar e seguir um caminho quando o cliente pagar, veja Link da automação e pagamento.
Pra criar, editar e ligar automações pela API, veja Automações pela API.