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:
- Crie uma ação do tipo Script JS que constrói um objeto JSON com diferentes tipos de propriedades, incluindo um vetor.
- Crie uma ação do tipo Requisição HTTP e utilizei o objeto retornado pela função anterior no corpo.
- 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
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.