Payload da Requisição HTTP a partir de uma variável


Estou com um problema esquisito.

No Corpo da Requisição HTTP eu coloquei apenas uma variável que tem todo o payload montado previamente.

Mas a api não aceita, dá erro 400.

O retorno de erro apresenta vários caracteres extras ao conteúdo que eu montei, parecendo que existe um tratamento que o builder faz pra processar o conteúdo da variável.

Eu descobri isso pois se eu pegar o conteúdo do payload exibido pelo bot e testar a api, neste caso funciona.

Não é possível usar uma variável para montar todo o payload?

Preciso montar o payload fora pois ele é dinâmico!


3 comentários

Existe uma limitação que encontrei neste caso do payload dinâmico.

O processamento dos valores das variáveis dentro do corpo retorna o resultado ainda dentro das aspas.

Ou seja, as variáveis devem ser usadas apenas pra retornar valores prontos e não um array de valores.

Isso é uma limitação bem grande, pois eu terei que fazer enumeras requisições com um corpo de tamanho 1 ao invés de usar um corpo com tamanho multidimensional conforme a demanda do bot.

Isso limita muito nosso trabalho sem falar no desperdício de processamento, requisições e tráfego.


Ao invés de eu poder fazer uma requisição assim:


{
"values": [
["1a","1b","1c"],
["2a","2b","2c"],
["3a","3b","3c"]
]}

Terei que fazer 3 requisições assim:


{
"values": [
["na","nb","nc"]
]}

Olá @Jhoni_Desb,


basta construir a variável através de um Script JS e depois utilizá-la no lugar do body da requisição:


Veja meu exemplo:



  1. Crie uma ação do tipo Script JS que constrói um objeto JSON com diferentes tipos de propriedades, incluindo um vetor.




  1. Crie uma ação do tipo Requisição HTTP e utilizei o objeto retornado pela função anterior no corpo.




  1. Faça o teste e veja que tudo funciona corretamente


Eu fiz isso, montei todo o corpo fora, mas acho que errei no excesso de aspas kkk.

É mais simples que eu pensava. Vou montar conforme você explicou e retorno aqui.

Obrigado.

Comente