Expand my Community achievements bar.

SOLVED

Adobe campaign classic REST POST call with JSON as input

Avatar

Level 1

Hello,

i am new to adobe campaign tool, trying to explore the possible ways to

1. send POST REST request to endpoint with JSON as input

2. get the response as JSON.

3. parse the JSON response for usage inside campaign.

i tried with GET REST request, got the response back.

sample code:

var http = new HttpClientRequest("http://jsonplaceholder.typicode.com/posts/1");

http.method = "GET";

http.execute();

var resp = http.response;

logInfo("Response Code"+resp.code);

logInfo("Response body"+resp.body);

Could you please share the sample code for POST call with jSON as input.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hello jagadeeshk20781937

You can try JS built in JSON

So I would add,

var jsonObj;

try{

jsonObj = JSON.parse(resp.body.toString());

//do whatever you want

//when saving to db

var jsonStr = JSON.stringify(jsonObj);

}catch(e){

     //nok

}

Marcel

View solution in original post

5 Replies

Avatar

Correct answer by
Community Advisor

Hello jagadeeshk20781937

You can try JS built in JSON

So I would add,

var jsonObj;

try{

jsonObj = JSON.parse(resp.body.toString());

//do whatever you want

//when saving to db

var jsonStr = JSON.stringify(jsonObj);

}catch(e){

     //nok

}

Marcel

Avatar

Level 1

yes, but my question on POST method

Example:

var http = new HttpClientRequest("http://reqres.in/api/users");

http.header["Content-Type"] = "application/json";

http.body=JSON.stringify({

"name": "morpheus",

"job": "leader"

});

http.method="POST";

http.execute();

var response=http.response;

logInfo("output code"+response.code);

logInfo("output value"+response.body);

above sample code, i tried to connect the endpoint but it doesnt work. can

you please help me to identify the error if any. thanks.

On Tue, May 8, 2018 at 2:00 PM, marcel.gent.86 <forums_noreply@adobe.com>

Avatar

Community Advisor

Can you give us error message?

I can imagine that It could be caused by configuration outside adobe like firewall settings etc

Marcel

Avatar

Level 1

Hmm. Seems we need to add the endpoint to server and admin is doing it.

when I am getting a JSON object, and also need to get the value

dynamically using key. But the below code works in Plain JS not in

Campaign. It is printing single character for every iteration in the loop.

Could you please help me to the parse JSON object, because the output is

dynamic

Sample Code:

var actualResponse=JSON.stringfy({

"Name": "ERR"

});

var data=JSON.parse(actualResponse);

Object.keys(data).forEach(function(key) {

console.log('Key : ' + key + ', Value : ' + data[key])})

Response

Avatar

Community Advisor

you have typo in JSON.stringfy({ it is missing i

It works for me :

10/05/2018 13:16:19 js Key : Name, Value : ERR

Marcel