Criar Json com dados do usuário


Olá, estou criando um chatbot onde em uma determinada parte do fluxo da conversa são apresentados alguns itens ao usuário, o usuário por sua vez pode escolher um item para dar continuidade ao fluxo, no final deste fluxo a escolha do usuário é enviada para uma API, porém eu gostaria de criar um loop nesta parte do fluxo, de modo que, o usuário selecione um item e receba a opção de voltar e selecionar outro item e apenas quando o usuário clicar em finalizar, o chatbot enviar os dados das escolhas do usuário para API. Alguém teria uma ideia de como fazer, o funcionamento desta parte do fluxo seria semelhante a um carrinho de compras.


7 comentários

Reputação 7

@Tiago_Wasielewski você define nas condições de saída desse bloco que enquanto a resposta do usuário não seja Finalizar ele não irá para o bloco de saída, mas sim para um bloco intermediário, que irá executar um script e, recebendo a escolha do usuário como parâmetro de entrada, irá incluí-la no JSON e armazenar este em uma variável.


No Bloco de saída (quando o usuário por fim digitar finalizar), você envia essa variável com o JSON para a API.

Olá @BrunoC! estou fazendo basicamente este procedimento que você descreveu acima, porém o que ocorre é que fica armazenado os dados apenas da última escolha que o usuário efetuou e deste modo não tem como o cliente selecionar dois itens e adicionar ao “carrinho”.

Reputação 3

Basta fazer um push desse objeto no array de objetos.

Exatamente, estou fazendo um push no array, porém mesmo assim fica armazenada apenas a última escolha do usuário e o array eu declarei antes de entrar neste fluxo de repetição.

Reputação 3

Você está colocando esse objeto também como variável de entrada no script? Porque se não tiver, sempre que o script for executado, é como se ele tivesse zerado.

Sim, coloco ele como variável de entrada no script, se quiseres posso dar permissão para dar uma olhada no fluxo e é claro se for possível!

Olá @gwChatbot consegui resolver o problema, era apenas uma falha de atenção minha, pois o nome da variável do array de entrada estava diferente do nome da variável de retorno do script, deste modo o array sempre zerava quando o script era executado.

Comente