Estou criando um fluxo em que preciso comparar uma matriz criada no fluxo com os resultados provenientes de uma API. Segui alguns exemplos e consegui conectar a API e encontrar os itens na resposta. O que recebo são horários de pico de um calendário, e quero oferecer uma lista de opções ao usuário removendo esses horários de pico. Tentei o foreach, mas não consigo descobrir como ele funciona (isso é no RapidPro).
Por outro lado, qual é a maneira de adicionar itens a uma matriz?
Vou direcionar seu tópico para um de nossos desenvolvedores cognitivos, tá bem?
Mas antes, me manda o print do retorno da API que você quer conectar, para nos ajudar a entender!
Olá Guillermo, eu gostaria de entender um pouco melhor a sua dúvida, você precisa pegar dentro do retorno da sua api, todos os itens que estão dentro da parte “busy” ou somente os itens que possuem dentro de “busy”, o item “tittle” e depois você quer colocar esse itens em outra array já existente?
Minha ideia é ter uma lista/array de possíveis horários (9:00, 9:15, 9:30 etc.) e consultar a API para saber quais estão ocupados (os que têm título) e remover os ocupados da primeira lista para dar aos meus usuários uma opção.
Em seguida, se, por exemplo, em ocupado aparecer 9:15, remova-o da outra matriz para que ele não apareça nas opções.
Olá, Guillermo para resolver isso você pode “pesquisar” dentro do webhook por exemplo da forma que tu pega o resultado @webhook.results.0.busy.0 ( aqui seria o primeiro resultado dentro de busy e você verificaria se no “title” possui um valor se existir um valor você exclui esse item que não lhe interessa e depois vai pesquisar no proximo item @webhook.results.0.busy.1 e assim por diante
Tenho uma lista de horários disponíveis: 9:00, 9:30, etc. Acho que isso deveria ser escrito em um “Save Flow Result” em uma lista @(array(“9:00”, “9:30”,“10:00”)).
Depois, eu solicito ao usuário que escolha um dia, supomos o dia 10 de março. Então, busco com o webhook se tenho espaços ocupados.
O webhook me retorna essa informação dentro de busy.
Eu posso ler essa informação e saber quais horários estão ocupados, o que quero fazer é remover esses horários ocupados da lista anterior. Por exemplo, se o webhook me diz que as 9:30 estão ocupadas, meu array deve ficar: @(array(“9:00”, “10:00”)) e então eu vou poder oferecer ao meu usuário os espaços disponíveis.
Hola @Guillermo , ¿cómo estás? Hay una manera de hacerlo utilizando la lógica contraria. Tenemos un tema que enseña cómo hacer un contador: se utiliza para paginar todos los elementos de una matriz. En este caso, puedes agregar un filtro a la página solo aquellas que no tengan texto dentro del “Title”. Todas las opciones disponibles aparecerán para el usuario y podrá informar cuál quiere usando el formato de hora tt:mm. Si el usuario responde en este formato, puede crear una lista (oculta) nuevamente para que coincida con la respuesta del usuario y ver si está disponible en ese momento (verifique dos veces)
¿Te ayudé? En caso afirmativo, marque la solución aquí