Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

Adobe campaign classic REST POST call with JSON as input

jagadeeshk20781
Level 1
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
MarcelSzimonisz
Correct answer by
Community Advisor
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
MarcelSzimonisz
Correct answer by
Community Advisor
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

jagadeeshk20781
Level 1
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>

MarcelSzimonisz
Community Advisor
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

jagadeeshk20781
Level 1
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

MarcelSzimonisz
Community Advisor
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