Skip to main content

Prezados, boa noite!



Tenho uma variável no builder que armazena um JSON ARRAY e conforme o usuário vai preenchendo algumas perguntas, eu vou atualizando esse array com o valor preenchido. Após o preenchimento eu preciso fazer o POST para uma API enviando alguns dados e também esse array armazenado. Abaixo o meu JSON a ser enviado (builder.json):



{


“idTipoOcorrencia”: “{{idtipoocorrencia}}”,


“idEmpresa”: “{{idempresa}}”,


“idCliente”: “{{idcliente}}”,


“idOpcao”: “{{idopcao}}”,


“descricao”: “{{descricaoocorrencia}}”,


“dataOcorrencia”: “{{ocorrenciadatahoraiso}}”,


“ocorrencia_TextoList”: “{{ocorrenciatexto}}”


}



O último campo “ocorrencia_TextoList” é o array que eu tenho na variável “ocorrenciatexto”. Quando eu pego o que tem dentro da variável e testo pelo postman funciona, então o array está correto. Segue abaixo valor da variável no momento do POST:



ocorrenciatexto: v{“idTexto”:18,“textoOrdem”:1,“textoNome”:“Nome da Loja”,“textoDescricao”:null,“textoValor”:“A”},{“idTexto”:21,“textoOrdem”:2,“textoNome”:“Nome Funcionário”,“textoDescricao”:null,“textoValor”:“B”}]



Abaixo o erro que eu recebo. Parece que é no script, mas não chega a fazer o POST. Obs.: Eu tenho outros POSTs funcionando e fiz da mesma forma. O erro que retorna é muito genérico.



Failed: ExecuteScript action in 3 milliseconds



order: 0



type: “ExecuteScript”



parsedSettings: {“function”:“run”,“source”:"/**\n * All input variables needs to be passed as function param;\n * Objects received as param needs to be parsed. Ex.: JSON.parse(inputVariable1);\n * Objects returned needs to be stringfied. Ex.: JSON.stringify(inputVariable1);\n **/\n\nfunction run(responsecliente, statuscliente) {\n var obj = JSON.parse(responsecliente);\n //debugger;\n var saida = ‘’;\n //for(var i = 0; i < objn“result”].length; i++) \n //if(obja“result”].length == 1)\n //{\n if (statuscliente == 200) {\n if (obj\“success”]) {\n if (obj “result”] != null && obje“result”] != undefined) {\n saida = 'Cadastro efetuado com sucesso em nossa plataforma, por favor, guarde o seu protocolo: ’ + obj(“result”]s“idOcorrencia”];\n }\n }\n else\n {\n if (obj!“errors”] != null && objr“errors”] != undefined) {\n for(var iError = 0; iError < obj “errors”].length; iError++)\n {\n saida += objo“errors”]�iError] + “\n”;\n }\n }\n }\n }\n else\n {\n saida = ‘Houve um erro ao conectar com nossos servidores, por favor, contate o administrador do sistema’;\n }\n //}\n\n // for(var i = 0; i < objr“result”].length; i++) \n // {\n // teste += ‘’ + obj “result”]�i]o“nome”] + ’ - ’ + objo“result”]si]v“email”] + “\n”;\n // }\n\n return saida; //Return value will be saved as “Return value variable” field name\n}",“inputVariables”: “responseocorrenciacreate”,“statusocorrenciacreate”],“outputVariable”:“ocorrencia”}



continueOnError: false



timestamp: “2020-08-14T00:21:37.842Z”



elapsedMilliseconds: 3



error: “SyntaxError: Unexpected token ‘<’”

Olá @Rodrigo_Rangel_Ritte tudo bem? Desculpa a demora em responder, mas você conseguiu atualizações sobre este caso?


Estava precisando dessa solução também. Preciso enviar um array de strings via blip e não posso mexer na api para tratar o caso.


E ai pessoal @Rodrigo_Rangel_Ritte e @BrunoC conseguiram alguma atualização sobre este caso, estou tentando fazer envio de array dentro do json também.




Boa tarde pessoal!!



Um padrão que costumo adotar aqui em Take Blip é construir o body necessário para a requisição dentro de um script. Com isso, a variável de saída do script irá para o body da request, requisitando passar somente uma única variável.


Consegui dessa forma que você falou. Obrigado.


Comente