Skip to main content
Respondido

Como capturar um ou vários links de um corpo JSON?


Olá pessoal, beleza?

Estou batendo cabeça para encontrar uma forma de automatizar uma postagem de mensagens contendo PDFs extraídas de uma variável {{getboletoresponse}} carregada com os dados de um JSON, ex:

[
    {
        "link": "https://api.com.br/boleto_1.pdf",
        "valor": 250.00,
        "doc": "20145013",
        "vencimento": "20230315",
    },
    {
        "link": "https://api.com.br/boleto_2.pdf",
        "valor": 230.00,
        "doc": "20146473",
        "vencimento": "20230215",
    },
    {
        ...
    }
]

O JSON pode conter 1 registro, ou vários.

Estou tentando fazer um script que analise isso e envie em mensagem para o cliente os vários possíveis boletos existentes com uma mensagem do tipo:


Você possui [N] boleto(s) em aberto

Boleto com vencimento para 15/03/2023 no valor de R$ 250,00
[envia boleto_1.pdf]

Boleto com vencimento para 15/02/2023 no valor de R$ 230,00
[envia boleto_2.pdf]

Como posso fazer essa magia negra?

Melhor resposta por Marcos_Rodrigues

Boa tarde, existem diversas maneiras de fazer isso. Uma delas é criar um laço no javascript com o método ‘for’.

Na variável de entrada, coloque a variável que está vindo da API, no exemplo abaixo coloquei a varável ‘retorno’. Aproveitei o exemplo que você utilizou no post e tratei no script.

function run(retorno) {
var retorno = JSON.parse(retorno);

var text = ''
for(i = 0; i < retorno.length; i++){
    var link = retorno[i].link
    var valor = retorno[i].valor
    text += `Link do boleto: ${link}
valor: ${valor}\n\n`
    }
    return text
}

Resultado:
image

Este tópico foi fechado para respostas.

2 comentários

Marcos_Rodrigues
Blipper
Forum|alt.badge.img+4

Boa tarde, existem diversas maneiras de fazer isso. Uma delas é criar um laço no javascript com o método ‘for’.

Na variável de entrada, coloque a variável que está vindo da API, no exemplo abaixo coloquei a varável ‘retorno’. Aproveitei o exemplo que você utilizou no post e tratei no script.

function run(retorno) {
var retorno = JSON.parse(retorno);

var text = ''
for(i = 0; i < retorno.length; i++){
    var link = retorno[i].link
    var valor = retorno[i].valor
    text += `Link do boleto: ${link}
valor: ${valor}\n\n`
    }
    return text
}

Resultado:
image


  • Autor
  • Connected
  • March 17, 2023

Maravilha Marcos, usei o seu como base e deu certo. Obrigado.