Retorno livre
Last updated
Last updated
Na página anterior, entendemos como funciona uma API com , ou seja, APIs desenvolvidas especificamente para intergrar com o chatbot. Apesar de ser uma maneira super prática, não deixa de ser um fator limitante, pois muitas vezes você já possui uma API modelada para suas necessidades ou utiliza uma API externa, a qual não possui controle. Para esses casos, a Suri conta com uma abordagem que aqui chamaremos de Retorno livre.
Como o nome sugere, a API é livre para retornar qualquer tipo de dado, ficando a cargo da Suri entender tal retorno e poder fazer algo com ele. Ela faz isso utilizando o mesmo conceito de , que já vimos neste tutorial. Em outras palavras: você pode utilizar dados do retorno de sua API como sendo variáveis do contato. Para isto, basta marcar mais um checkbox na configuração da ação HTTP:
Note que, após marcar o checkbox, uma opção aparece mais abaixo com dois campos: "Caminho" e "Nome da variável". Isto ocorre porque, para que a Suri saiba a estrutura do retorno, você precisa informar o "caminho" até o atributo que deseja armazenar, bem como o nome da variável a ser utilizada para guardar tal valor. Para entender melhor, observe o exemplo de retorno abaixo:
Para armazenar o id do ticket retornado, basta colocar o "caminho" para a propriedade correspondente, como se fosse acessar o objeto JSON:
Você pode armazenar quantos campos julgar necessário para sua integração. Observe abaixo uma configuração com mais variáveis:
E, logicamente, você poderá utilizar as variáveis capturadas a partir desse momento, seja nesse ou em fluxos futuros:
As regras para captura de campos seguem a mesma regra de variáveis de contato, aceitamos apenas tipos primitivos, que são:
String
(texto)
Date
(data)
Double
, Int
ou Float
(numérico)
Bool
(verdadeiro/falso)
Portanto, utilizando o exemplo acima, caso você tente armazenar o caminho data.ticket
(que é um objeto complexo), a Suri irá ignorar tal informação, salvando apenas uma variável vazia (com null).
E o nome da variável, por exemplo, "TicketId", é o nome desejado para utilizar tal valor em outros pontos do fluxo, utilizando @User.Variables.TicketId
. Para rever como utilizar variáveis e outros dados do contato em seu fluxo, veja a página "". Veja abaixo como ficaria a configuração final:
data.history[0].id