Skip to main content
Respondido

Variavel cnpj em array


Rangel.Alves

boa tarde,
preciso fazer uma requisição enviando minha variável CNPJ como um array, porem não estou conseguindo, passar essa variável para o modelo em que a api recebe. alguém teria uma sugestão de como consigo deixar o minha variável CNPJ igual ao modelo abaixo? E eu preciso passar essa variável pelo body em uma requisição POST.

Melhor resposta por Rangel.Alves

Passando a variável dessa forma o status retornou 200, e trouxe as informações da api.
c762c69b-243c-42f5-9506-7f0e380048db

Este tópico foi fechado para respostas.

20 comentários

Pode ser erro do banco ou api que está enviando, tenta tirar as [] e as aspas, se quiser manda o link da doc api a gente da uma olhadinha aqui.


Rangel.Alves
  • Autor
  • Connected
  • September 2, 2021

@Marcos_Rodrigues1 a api tem que receber um array contendo [“cnpj”], a chave é referente ao array e a aspas faz parte do request, sem ela a api não retorna valor. Eu preciso transformar a entrada de usuário CNPJ igual ao modelo do print e passar esse array no body da requisição.


Bia
  • Inspiring
  • September 2, 2021

Hey @Rangel.Alves! Como vai?

Essa me parece uma missão para o @BrunoC! Ele entende tudo de programação e acredito que vai conseguir te ajudar 😊


Bruno
  • Specialist
  • September 2, 2021

olá @Rangel.Alves

Se você quer só transformar o CNPJ (String) para uma String no format ["######"], você pode usar o script abaixo:

function run(cnpj){
   var value = "";
   var value = value.concat("[",'"', cnpj, '"', "]");
   return value;
}

Rangel.Alves
  • Autor
  • Connected
  • September 2, 2021

Olá, @BrunoC.
Eu preciso passar no body da requisição um objeto json de uma lista de strings. essa lista de string seria o meu cnpj. Eu teria que passar essa variável CNPJ com as aspas para um array e enviar esse array no body da requisição.


Bruno
  • Specialist
  • September 2, 2021

@Rangel.Alves o Blip só trafega Strings fora da área de Scripts. Se você tem um objeto/array, ele automaticamente converte para String.

O que o script acima faz, é justamente simular um array transformado em string.

Você também pode fazer assim:

function run(cnpj){
   var objeto = [];
   objeto.push(cnpj)
   return objeto; //vai retornar um String ["######"], no final das contas
}

A menos que eu esteja entendendo errado o seu problema/dúvida, isso deveria resolver.


Rangel.Alves
  • Autor
  • Connected
  • September 2, 2021

@BrunoC O endpoint está esperando receber um array. Então, se eu colocar no body qualquer outro tipo de objeto, não vai dar certo.
Mas muito obrigado pelo suporte.


Bruno
  • Specialist
  • September 2, 2021

Rangel, ao meu ver, por baixo dos panos, é tudo Strings mesmo.

Como você está fazendo a sua requisição no Builder? O body, no caso. Está criando um JSON e preenchendo lá os campos? Poderia mandar aqui, por favor?


Rangel.Alves
  • Autor
  • Connected
  • September 2, 2021

Como tenho pouco conhecimento em apis, a minha esta da seguinte forma.


e o body estou passando apenas o {{cnpj}}
image


Bruno
  • Specialist
  • September 2, 2021

Você tentou passar o returno disso aqui?


Rangel.Alves
  • Autor
  • Connected
  • September 2, 2021

Tentei, coloquei o retorno do script na variável cnpj1, e passei no body {{cnpj1}}.
Existe algum método que eu consiga verificar o que esta sendo enviado no body?


Bruno
  • Specialist
  • September 3, 2021

Você pode verificar ou nos logs:

Menu '...' > Logs

Ou você pode usar o Debug também, direto no canal de testes do Builder

image


Rangel.Alves
  • Autor
  • Connected
  • September 3, 2021

Bruno, pelo que entendi, esta sendo passado as informações abaixo, sabe dizer se esta correto o body? peço desculpas por te amolar tanto.


Bruno
  • Specialist
  • September 3, 2021

Aparentemente está correto sim. Qual o erro é apontado pela sua API?

Ps.: cuidado com a divulgação do seu token, como na imagem 😓


Rangel.Alves
  • Autor
  • Connected
  • September 3, 2021

o status da requisição é o seguinte.
“stsboletoavencer: 400”


KarennCris
  • Blip Lover
  • September 3, 2021

Oi gente!
Posso estar falando besteira (tem mil anos que não programo, 😬), mas se você usar o string.split("") ele retornaria um array contendo todos os caracteres da variável, não?

p.s1.: não montei o código aqui por motivos de nem lembro mais 🤣
p.s2: cai de paraquedas nesse tópico!


Rangel.Alves
  • Autor
  • Connected
  • September 3, 2021

Pessoal @BrunoC @KarennCris , muito obrigado pelas dicas, meu problema é no body, e aparentemente assim ele retorna algo, por que a api aceita somente o valor da variável que é um array(string), nada além disso.
c762c69b-243c-42f5-9506-7f0e380048db


Bruno
  • Specialist
  • September 3, 2021

@Rangel.Alves, o status 400 é realmente um problema na request. Não dá pra saber se é exatamente isso.

Você não tem acesso ao código da API para fazer uma depuração, né? Tente fazer por alguma ferramenta de consumo de API como o Postman ou Insomnia e faça essa mesma requisição, e veja se funciona. Se sim, sabemos que o problema está na comunicação Blip x sua API.


Rangel.Alves
  • Autor
  • Connected
  • Resposta
  • September 3, 2021

Passando a variável dessa forma o status retornou 200, e trouxe as informações da api.
c762c69b-243c-42f5-9506-7f0e380048db


Bruno
  • Specialist
  • September 3, 2021

Aaah, entendi errado a sua mensagem anterior.

Que bom que encontrou sua solução, @Rangel.Alves !