Adobe campaign classic REST POST call with JSON as input

jagadeeshk20781

04-05-2018

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.

Accepted Solutions (1)

Accepted Solutions (1)

MarcelSzimonisz

MVP

08-05-2018

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

Answers (4)

Answers (4)

jagadeeshk20781

09-05-2018

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

jagadeeshk20781

08-05-2018

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>