Múltiplas etapas
Last updated
Last updated
Vimos que conseguimos tratar respostas de requisições HTTP feitas pela Suri, sejam elas ou . Mas podemos ir um pouco mais além e pensar: existem casos em que uma só chamada não é o suficiente, como um envio de formulário onde, dependendo das respostas do contato, as opções da próxima pergunta mudam. Para esses tipos de casos, podemos fazer uma integração em múltiplas etapas.
Apesar do nome complicado o conceito é simples: diversas chamadas HTTP feitas em sequência, tendo seus dados de retorno sendo utilizados como parâmetro da próxima pergunta e para a próxima chamada HTTP. Segue abaixo uma representação gráfica:
A seguir seguem exemplos utilizando as duas abordagens de tratamento de retorno de API:
Para este exemplo iremos considerar que sua API foi feita para a esta integração e você utiliza o tratamento de Retorno vinculado à Suri, sempre retornando um FlowAction
para responder o contato. Considere este o caso:
Quero utilizar o Suri Flow para enviar um boleto de segunda via da fatura para meus clientes. Estou utilizando a ação de Requisição HTTP em meu Flow, onde envio os dados do contato para a API. Percebi que meus clientes costumam ter mais de um boleto em aberto, com isso, não é interessante eles receberem sempre o último, mas sim terem a opção de poder escolher qual querem receber. Como posso fazer isso?
Vamos supor que sua API processe os dados e veja que o cliente tem 4 boletos em aberto. Segue uma sugestão de como fazer:
Montar um objeto do tipo FlowActionCapture
de captura de variável com nome boleto
, por exemplo, com lista contendo um identificador dos boletos em questão (mês/ano) e retorná-lo como resposta à requisição HTTP do Flow;
Com isso, quando o contato responder, ou seja, escolher uma opção da lista, será armazenado em uma variável boleto
em seu contato com o mês/ano do boleto;
A próxima ação do Flow pode ser chamar sua API novamente, enviando no corpo da requisição a variável capturada anteriormente utilizando o macro @User.Variables.boleto
;
Assim, em sua API novamente, você terá a referência do boleto e poderá enviá-lo de volta ao contato com um FlowActionSendMedia