Hey, Blipper!
Infelizmente o BLiP não tem suporte a esse tipo de acesso, para qualquer outra dúvida estamos aqui!
Olá, vcs teriam alguma sugestão de como tratar?
Então Geraldo, a ideia é você sempre manter a estrutura de:
{
chave1:valor,
chave2:valor,
chave3:valor,
chave4:valor
}
E você pode fazer isso através de script.
Precisa pegar esse teu JSON e inserir ele na execução de script do blip, dentro desta execução, você consegue montar um JSON que permita o blip acessar como o @fadoaglauss comentou.
Eu deveria salvar cada objeto em uma variável então? Seria isso ?
Segue um exemplo simples do que poderias fazer
Meu endpoint retorna um objeto JSON
Ex:
{
"menuhorarios": [
{
"opcao": 1,
"horario": "03/05/21 08:00",
"service": 84,
"item": 299,
"descricao": "CONSULTA",
"medico": 1967,
"nmmedico": "Rodrigo",
"diasemana": "SEGUNDA-FEIRA - 03/05/21"
},
{
"opcao": 2,
"horario": "03/05/21 08:30",
"service": 84,
"item": 299,
"descricao": "CONSULTA",
"medico": 1967,
"nmmedico": "Rodrigo",
"diasemana": "SEGUNDA-FEIRA - 03/05/21"
}
}
Com isso, recebo o objeto no meu script
function run(data) {
const dados = JSON.parse(data);
let menu = '';
let lastday = '';
menu = 'Por favor, Digite o numero correspondente a opção desejada:\n\n';
dados.menuhorarios.forEach(h => {
menu += `*${h.opcao}* - ${h.horario} - ${h.nmmedico}\n`;
});
return menu;
}
Desta forma, exibir o menu como texto.
Rodrigo entendi! porem estou usando um carrousel, mas acabei fazendo da forma que comentei salvei cara Objeto numa variável e usei elas para apresentar os dados no carrousel.
Obrigado pelo apoio @fadoaglauss e @Rodrigo_Valentim
Para acessar os elementos do array individualmente, você pode converter o array em um dictionary. Ex:
function run() {
const animais =
{
descricao: "cachorro",
tamanho: "médio",
idade: 5
},
{
descricao: "gato",
tamanho: "pequeno",
idade: 3
}
];
const animaisDictionary = arrayToDictionary(animais);
return JSON.stringify(animaisDictionary);
}
function arrayToDictionary(array) {
const dictionary = {};
array.forEach((value, index) => {
dictionaryrindex] = value;
});
return dictionary;
}
Nesse exemplo eu salvei o retorno do script na variável animais. No builder você pode acessar os dados dessa forma:
Caso você queira manter o índice do array basta usar a Spread syntax. Ex:
function arrayToDictionary(array) {
return { ...array };
}
Ei @Geraldo_Vilela!
Corre aqui que o @Sylvester_Henrique trouxe uma solução. Você consegue fazer um teste e ver se funciona?