Respondido

Salvar valores de um resultado (JSON) | Requisição HTTP


Olá, tudo bem?


Então, eu fiz um requisição HTTP para consultar se o contato já está cadastrado na Hubspot.


Como o resposta é uma JSON com muitos objetos, gostaria de saber como posso fazer o bot salvar cada dado retornado em uma variável extra de contato.


Segue um exemplo do resultado da requisição.


{
"total": 1,
"results": [
{
"id": "156099069",
"properties": {
"createdate": "2021-09-28T18:22:08.594Z",
"email": "[email protected]",
"firstname": "Fhelyp",
"hs_object_id": "156099069",
"lastmodifieddate": "2021-11-16T21:26:07.684Z",
"lastname": null
},
"createdAt": "2021-09-28T18:22:08.594Z",
"updatedAt": "2021-11-16T21:26:07.684Z",
"archived": false
}
]
}

Para ser mais específico, como posso salvar “id” retornado, na variável “contact.extras.idHubspot”. Ou ainda, salvar a propriedade “firstname” na variável “contact.name” e afins.


Desde já, grato!

icon

Melhor resposta por Pedro_Lucas 17 November 2021, 19:09

Veja o original

12 comentários

Reputação 7
Crachá +2

Você vai fazer um script que recebe esse retorno:


function run(json) {

json = JSON.parse(json);
json=json.results;
json=json[0];
json=json.properties

return json;}

Aí, é só salvar na hora de definir contato, chamar suavar@email por exemplo, sempre chamando pelo nome da chave. Ajudei?

Então, para o caso do result citado acima, o script que adaptei no print abaixo iria salvar o valor “156099069” na variável {{idHubspot}}?


Reputação 7
Crachá +2

na real nem precisava se você chamar {{json@nomedachave}} você consegue chamar qualquer um dos itens nao sei se fui claro kkk

Ahh, acho que entendi! Vou testar aqui! Depois te dou um retorno!

Reputação 7
Crachá +2

tamo junto demais

@Pedro_Lucas, boa tarde!


Cara, estou preso com uma task muito semelhante, mas não obtive o mesmo exito que antes. 🙁


Estou realizando uma requisição que me retorna o seguinte resultado JSON:

image


Logo após a requisição estou executando o seguinte script:

image


Ao debugar o fluxo, vejo que a requisição e o script funcionam, contudo, ao chamar o resultado {{[email protected]}}, a variável não é preenchida. Tem algum palpite do que pode tá rolando aqui?


Duvida extra, se o resultado da requisição já está identado, precisamos mesmo executar um script para fazer o parse?


Desde já, grato!

Reputação 7
Crachá +2

Poderia no meu privado mandar esse retorno para que eu valide em alguns testes por favor?

Mandei no seu e-mail!

Reputação 7
Crachá +1

Na minha experiência eu entendi que, caso no seu JSON de retorno não tenha array você não precisa passar um script. O que não é o seu caso pois a key versions ter um array, você vai precisar de passar no script pra retornar o que você precisa. Tente utilizar o seguinte script:


function run (json) {
json = JSON.parse(json);
return json.properties.idnegocio.value;
}

De qualquer forma é questão de tentativa e erro e estamos aqui pra apoiá-lo!

Se puder colar o seu JSON de retorno aqui sem ser em imagem, será melhor para testarmos e te passar um feedback melhor.


Qualquer coisa corre aqui!


Abraços.

Olá, @GabrielPetrone! Já tentei de todas as formas que podia. Nada funcionou. Ao testar com seu script o sistema apresenta o seguinte erro:



O JSON completo é bem grande, por este motivo, irei enviá-lo em seu email.


Desde já grato!

Reputação 7
Crachá +1

Fala @Fhelyp ! Rapaz, recebi o JSON e testei no Visual Code e rodou perfeitamente. O problema é que por segurança existem algumas limitações de tamanhos para os retornos e como seu JSON é muito grande, ele está estourando este limite.


Você pode ler um pouco mais sobre isso neste tópico:



A solução no seu caso seria criar uma API intermediária para tratar seu retorno :happyblip:


Qualquer dúvida, corre aqui.


Abraços.

{

“id”: “156099069”,

“properties”: {

“createdate”: “2021-09-28T18:22:08.594Z”,

“email”: “[email protected]”,

“firstname”: “Fhelyp”,

“hs_object_id”: “156099069”,

“lastmodifieddate”: “2021-11-16T21:26:07.684Z”,

“lastname”: null

},


Como eu referencio no caso “firstname”. Tentei {{variaveljson@properties[0].firstname}} mas nao deu certo

Comente