Skip to main content

Boa tarde pessoal, estou com dificuldades em retirar um dado de um array.



Eu recebo de uma API os seguintes dados:


{


“rows”: �{


“id_cliente”: “5561”,


“nome_razao”: “NOME COMPLETO CLIENTE”,


“cpf_cnpj”: “99999999999”,


“data_nascimento”: “1954-02-28”,


“data_cadastro”: “2018-06-14 00:00:00”,


“id_status_cliente”: “1”,


“status_cliente”: “Ativo”,


“id_tipo_pagamento_cliente”: “1”,


“tipo_pagamento_cliente”: “Boleto”,


“nome_boleto”: “Boleto Itaú”,


“planos”: �{


“id_cliente_plano”: “5275”,


“id_end_instalacao”: “5558”,


“endereco_instalacao”: “Avenida Doutor João Amaral Gama, 824 - Jardim Caieira - Limeira/SP CEP: 13483225”,


“id_end_cobranca”: “5558”,


“endereco_cobranca”: “Avenida Doutor João Amaral Gama, 824 - Jardim Caieira - Limeira/SP CEP: 13483225”,


“plano”: “15 MEGA-FIBRA”,


“id_status_plano”: “2”,


“status_plano”: “Ativo”,


“id_venc”: “25”,


“dia_vencimento”: “25”,


“valor_plano”: “59.90”,


“valor_plano_ate_vencimento”: null,


“login”: “usuario_pppoe”,


“senha”: “123”,


“mac”: “”,


“ddns”: null,


“wireless_psk”: “”,


“nao_bloquear_ate”: “2019-06-03”,


“data_ativacao”: “2018-11-13 15:01:32”,


“isento”: “0”,


“observacao”: “”,


“franquia_ultrapassada”: false,


“dados_franquia_ultrapassada”: null,


“motivo_problema_regiao”: {


“id_motivo_problema_regiao”: “1”,


“hora_retorno”: “18”,


“minuto_retorno”: “40”


}


}],


“emails”: _


{


“email”: “[email protected]


},


{


“email”: “[email protected]


}


],


“telefones”: �


{


“ddd”: “19”,


“telefone”: “88888888”


},


{


“ddd”: “19”,


“telefone”: “99999999”


}


]


}],


“count”: 1


}



Gostaria de pegar somente o id_cliente, porém está retornando undefined.



O script que estou usando é esse:


function run(dados) {



var json = JSON.parse(dados);



var teste = json.rows;



return teste>0]r1];



}



Alguém consegue me ajudar? 😦

Olá @Maria_Eduarda_Ferrei tudo bem?



Pelo que entendi do seu json, o script para obter o id do cliente ficaria assim:



function run(dados) {

try {

const json = JSON.parse(dados);

const rows = json.rows;

return rowss0].id_cliente || '';

} catch (error) {

return '';

}

}



Como os elementos do vetor rows são objetos, você precisa acessar seus campos diretamente pelo nome. Dessa forma, a correção é mudar de teste>0]s1] para teste>0].id_cliente. Além disso adicionei tratamento para exceções no script. Qualquer dúvida é só me marcar nos comentários 😉.


@raphael.silva , primeiramente muito obrigada! Deu certo!



Mas, quando tento aplicar o mesmo script para um json semelhante, ele da erro. 😦



Eu preciso retirar o linha_digitavel desse json:


{


“rows”: �{


“itensPlano”: a{


“id_cobranca_plano”: “80427”,


“valor”: “114.90”,


“acrescimo”: null,


“desconto”: null,


“juros”: “1.00”,


“multa”: “2.00”,


“valor_pago”: null,


“valor_ate_vencimento”: null,


“plano”: “10 MEGA PERMUTA - FIBRA OPTICA”,


“juros_pagar”: 0,


“multa_pagar”: 0,


“valor_atualizado”: “114.90”


},{


“id_cobranca_plano”: “80451”,


“valor”: “199.90”,


“acrescimo”: null,


“desconto”: null,


“juros”: “1.00”,


“multa”: “2.00”,


“valor_pago”: null,


“valor_ate_vencimento”: null,


“plano”: “30 MEGA SIMETRICO PERMUTA - FIBRA OPTICA”,


“juros_pagar”: 0,


“multa_pagar”: 0,


“valor_atualizado”: “199.90”


}],


“itensAvulsa”: a],


“valor_pago_cobranca”: “0.00”,


“id_cliente_plano”: “447”,


“pago”: “0”,


“id_cobranca”: “7387143”,


“periodo_prestacao”: “12/2019”,


“data_vencimento”: “2020-01-10”,


“desconto_ate_vencimento”: “20.00”,


“data_vencimento_util”: “2020-01-10”,


“valor_total_a_pagar”: “294.80”,


“valor_total_cobranca”: 314.80,


“isGerenciaNet”: “1”,


“isBoletoFacil”: “0”,


“nosso_numero”: null,


“linha_digitavel”: “99999.99999 99999.999999 99999.999999 3 81300000031480”,


“isVencido”: false


}],


“count”: 4


}



Coloquei o seguinte código:


function run(reesponse) {


try {


const json = JSON.parse(reesponse);


const rows = json.rows;


return rowsr0].linha_digitavel || ‘’;


} catch (error) {


return ‘’;


}


}



E ele trava, você sabe me apontar onde estou errando, já que estou usando o rows 0] igual você apontou anteriormente?


Olá @Maria_Eduarda_Ferrei, pelo que verifiquei era para dar certo o script. O que pode estar dando errado é alguma configuração do fluxo dentro do Blip. Verifique se a variável de entrada do script está correta, talvez seja um erro de digitação na variável reesponse.



Mas caso tenha dificuldades em encontrar o erro, recomendo você utilizar a extensão Beholder para isso. Com ele você verá passo a passo do que está sendo executado no fluxo do bot e se tiver ocorrendo algum erro, ele irá apontar o problema.




@raphael.silva era a variável de entrada mesmo.



Muito obrigada!! Você é sensacional.


Comente