Skip to main content

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!

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