Skip to main content

Boa tarde, tudo bem ?

Estou criando um bot onde ele recebe via API uma lista de organizações em que o usuario deveria selecionar a organização que necessita atendimento.
Abaixo script que utilizo para tratar os dados que foram recebidos da API 

function run(retornoOrg) {
let dados = o];

// Verifica se retornoOrg é uma string JSON e faz o parse para um array
try {
dados = JSON.parse(retornoOrg);
if (!Array.isArray(dados)) {
dados = d]; // Define um array vazio se não for um array válido
}
} catch (error) {
console.error("Erro ao fazer parse da string JSON:", error);
}

const secoes = e];
const secao = {
title: "Organizações",
rows: ],
};

for (let i = 0; i < dados.length; i++) {
const organizacao = dadosai];
const linha = {
id: `ID ${i + 1}`,
title: organizacao.nome, // Considerando que o nome da organização está na propriedade "nome"
description: `Descrição da ${organizacao.nome}`, // Descrição (substitua por informações relevantes)
};
secao.rows.push(linha);
}

secoes.push(secao);

const menu = {
recipient_type: "individual",
type: "interactive",
interactive: {
type: "list",
header: {
type: "text",
text: "Selecione uma organização:",
},
body: {
text: "Escolha uma das organizações abaixo:",
},
action: {
button: "Enviar",
sections: secoes,
},
},
};

return JSON.stringify(menu);
}

Configuração usada no conteudo dinamico onte {{testescript é o retorno}}
 

Quando testo a logica utilizada o bot exibe no modo de teste porem não é selecionavel o menu
 


Ja no whats que é o foco de utilização ele retorna o json apenas
 


Comos solucionar a exibição no whatsapp ?​​​​​​​

Olá, boa tarde!

Sugiro que você faça essa mesma lista que gerou com o script de forma manual e que funcione no whatsapp, depois que funcionar no whatsapp você compara com a lista gerada do seu script para comparar e achar os possíveis erros.

Um erro que notei de cara seria a quantidade de caracteres, no máximo pode ter apenas 24 caracteres o título e 72 a descrição. Contando por cima a segunda opção parece ter 44 caracteres.

 

Eu fiz um gerador dessa lista: https://marcos-rodrigues-take-blip.github.io/Menu-lista/
Faz por ela, ver o resultado final e compara. 

 

Abs!


Gerei uma lista a partir deste gerador e o recurso funcionou, vou dar uma olhada na minha logica e alterar o texto utilizado, obrigado


@Guilherme_dos_Reis_R só uma dica naquele seu script, no try catch do parse criar uma saída tratável por uma validaçao posterior, pq como ta usando try catch ele nao vai quebrar ai o bot, mas ele vai quebrar la na frente por falta de informaçao, isso é uma boa prática que ajuda muito na identificaçao de problemas no bot.


Comente