Retorno vinculado à Suri
Por padrão, ao executar uma ação de Requisição HTTP, a Suri não espera uma resposta específica, apenas continua o fluxo executando as demais ações, se existirem. Porém existem algumas situações que desejamos utilizar o retorno de tal chamada HTTP de forma mais inteligente dentro do próprio Flow. Abaixo temos um exemplo para ilustrar:
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 e lá consigo saber o último boleto em aberto, mas como faço para enviar de volta para o contato?
É uma situação interessante e bem comum: você deseja que o retorno da sua chamada HTTP seja uma resposta para seu contato - nesse caso, o boleto em PDF que o mesmo solicitou no fluxo. Para isso, basta marcar a opção "O retorno da requisição insere uma ação" na configuração da ação HTTP, como ilustrado abaixo:

Isso indicará à Suri que ela pode esperar um retorno do tipo FlowAction, que é uma ação executada pelo Flow de envio de mensagem ao contato. Retornando uma ação, ela é inserida no fluxo atual sem comprometer a experiência do fluxo e permitindo um leque de opções.
Existem diversos tipos de ação que podemos usar como resposta e iremos falar mais sobre elas mais abaixo, mas já adiantando, ainda utilizando o exemplo do boleto em PDF, sua API deve retornar um objeto do tipo FlowActionSendMediacontendo a url do boleto em questão., que será enviado ao contato que o solicitou.
Note que assim que marcamos a opção, aparece um banner amarelo indicando que as ações posteriores podem sofrer alterações. Isso é apenas um alerta indicando que, dependendo do tipo de FlowAction retornado, as demais ações do fluxo podem não ser executadas. Por exemplo, se sua API retornar com um FlowActiondo tipo "Envio de texto", tudo ok, as ações posteriores irão ser executadas normalmente após a ação de texto inserida ser executada. Mas se sua API retornar um FlowActiondo tipo "Transferir para atendimento humano", aí não faria sentido executar ações posteriores, pois a ação de transferir é uma ação de redirecionamento, que encerra o fluxo atual. Portanto a Suri apenas ignora as próximas ações e transfere o contato para atendimento humano.
Modelos de FlowAction
Atualmente temos suporte aos seguintes FlowAction 's como resposta de requisição HTTP:
FlowActionSendText: Envio de textoFlowActionSendMedia: Envio de mídia (imagem, vídeo, áudio ou documento)FlowActionSendLocation: Envio de localizaçãoFlowActionCapture: Captura de dadoFlowActionRequestAgent: Transferir para atendimento humanoFlowActionGoToFlow: Transferir para outro fluxo
Segue abaixo uma definição de todos os modelos listados:
FlowActionSendText: Envio de texto
FlowActionSendMedia: Envio de mídia (imagem, vídeo, áudio ou documento)
FlowActionSendLocation: Envio de localização
FlowActionRequestAgent: Transferir para atendimento humano
FlowActionGoToFlow: Transferir para outro fluxo
FlowActionCapture: Captura de dado. Deixamos ele por último pois é o mais extenso. Lembrando que em caso de captura de Variável ele possui 3 subtipos: Texto livre, Botões e Lista.Nome, E-mail, Telefone, Documento, Observação ou Variável de Texto Livre
Variável com botões: lembrando que o máximo de botões é 3
Variável com lista: lembrando que o máximo de opções em uma lista é 10, podendo ser divididas em no máximo 3 seções (divisões visuais no WhatsApp)
Agora que você entendeu como funciona o tratamento de Retorno vinculado à Suri, te convidamos a conhecer um pouco mais sobre a maneira mais no-code de integrar: o tratamento de Retorno livre, onde a própria Suri consegue capturar os dados proveninentes de sua API, independente do formato em que estiverem.
Last updated