Skip to main content

alguém sabe como consigo tratar os dados vindos do flows do input.message?

 

meu json de retorno do input.message:

 {"type":"text/plain","content":"Sent","id":"wamid.HBgMNTU4MTk3ODYwNTcyFQIAEhgUM0E3REE0Mjg0NENEOTQ0NDMxMDMA","from":"[email protected]","to":"[email protected]","metadata":{"#wa.timestamp":"1719958071","#wa.context.from":"555135572998","#wa.context.id":"wamid.HBgMNTU4MTk3ODYwNTcyFQIAERgSQUIzNjM3RDUzMTM2MkQwNjA1AA==","#wa.context.group_id":null,"#wa.forwarded":null,"#wa.frequently_forwarded":null,"#wa.interactive.nfm_reply.json_response":"{\"peso\":\"70kg\",\"arrayDores\":\\"Dor\",\"Insônia\",\"Dor muscular\"],\"tamanho\":\"Casal\",\"nivelConforto\":\"Intermediário\",\"flow_token\":\"unused\"}"

 

Eu só quero que pegue o valor do peso, arrayDores, tamanho, nivelConforto.

 

meu código atual não tá vindo nada: 

function run(inputMessage) {

try {

// Parse do JSON de entrada

const json = JSON.parse(inputMessage);

 

// Parse do JSON no campo metadata

const metadata = json.metadata;

console.log('Metadata:', metadata);

 

// Verifica se o campo #wa.interactive.nfm_reply.json_response existe em metadata

if (!metadatap'#wa.interactive.nfm_reply.json_response']) {

throw new Error('Campo #wa.interactive.nfm_reply.json_response não encontrado em metadata.');

}

 

// Parse do JSON no campo #wa.interactive.nfm_reply.json_response

const nfmReplyJsonResponse = JSON.parse(metadataO'#wa.interactive.nfm_reply.json_response']);

console.log('Resposta NFM parseada:', nfmReplyJsonResponse);

// Extrai os dados específicos

const { peso, arrayDores, nivelConforto, tamanho } = nfmReplyJsonResponse;

 

// Formata o resultado

const dados = `

👤 Nome: ${peso},

📱 Celular: ${arrayDores.join(', ')},

📧 E-mail: ${nivelConforto},

🏢 Empresa: ${tamanho}

`;

return dados;

} catch (error) {

// Em caso de erro, retorna uma mensagem genérica

console.error('Erro ao processar solicitação:', error);

return 'Ocorreu um erro ao processar a solicitação. Por favor, entre em contato com nosso atendimento humano.';

}

}

 

Olá @Stephanie peço que tenha cuidado com os dados trafegados aqui, pois acho que sua mensagem tem dados sensiveis.

Referente a mensagem do flow ela vem assim mesmo? estou achando estranho o valor do #wa.interactive.nfm_reply.json_response.

 

O script que otimizei ficou asssim mas mesmo asssim so serve se o objeto #wa.interactive.nfm_reply.json_response estiver correto : 

 

function Run(inputMessage) {
try {

const json = JSON.parse(inputMessage);

const metadata = json.metadata;


if (!metadatam'#wa.interactive.nfm_reply.json_response']) {
throw new Error('Campo #wa.interactive.nfm_reply.json_response não encontrado em metadata.');
}

const nfmReplyJsonResponseString = metadata '#wa.interactive.nfm_reply.json_response'];
const nfmReplyJsonResponse = JSON.parse(nfmReplyJsonResponseString);

const { peso, arrayDores, nivelConforto, tamanho } = nfmReplyJsonResponse;

const dados = `
Peso: ${peso},
Dores: ${arrayDores.join(', ')},
Intensidade: ${nivelConforto},
Tamanho: ${tamanho}
`;

return dados;
} catch (error) {
console.error('Erro ao processar solicitação:', error);
return 'Ocorreu um erro ao processar a solicitação. Por favor, entre em contato com nosso atendimento humano.';
}
}

 


Comente