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][1];

}

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 rows[0].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][1] 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”: [{
“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”: [],
“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 rows[0].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.