Issue with body of rest API script
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-05-2024 10:23 PM - edited 02-05-2024 10:42 PM
Getting error as
Javascript compiler exception: unterminated string literal
Script is below
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('<apiURLhere>');
request.setHttpMethod('POST');
var payload="{
'data': [
'<value here>'
]
}";
request.setRequestHeader("Accept","application/json");
request.setRequestHeader('Content-Type','application/json');
request.setRequestBody(payload);
var response = request.execute();
gs.log(response.getBody());
What is breaking the body part ?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-06-2024 02:43 AM - edited 02-06-2024 02:49 AM
Hello @Snehal13 ,
try this:
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('<apiURLhere>');
request.setHttpMethod('POST');
var payload = '{
"data": [
"<value here>"
]
}';
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.setRequestBody(payload);
var response = request.execute();
gs.log(response.getBody());
however, I'd configure the message first through Rest Message module:
and then I'd call it like prescribed in this reference to the API: sn_ws.RESTMessageV2
Regards, Ivan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-06-2024 03:12 AM
Hi @Snehal13, This occurs due to the unterminated string literal somewhere in the code, as you have already tried with double quotes for paylaod variable object, can you check with back tick (``) or single quote ('')
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('<apiURLhere>');
request.setHttpMethod('POST');
var payload = `{
"data": [
"<value here>"
]
}`;
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader('Content-Type', 'application/json');
request.setRequestBody(payload);
var response = request.execute();
gs.log(response.getBody());
OR
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('<apiURLhere>');
request.setHttpMethod('POST');
var payload = '{
"data": [
"<value here>"
]
}';
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader('Content-Type', 'application/json');
request.setRequestBody(payload);
var response = request.execute();
gs.log(response.getBody());
Regards,
Sunil

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-06-2024 03:32 AM
Hi @Snehal13 remove the "" double codes after payload, that should solve the issue.
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('<apiURLhere>');
request.setHttpMethod('POST');
var payload={
'data': [
'<value here>'
]
};
request.setRequestHeader("Accept","application/json");
request.setRequestHeader('Content-Type','application/json');
request.setRequestBody(payload);
var response = request.execute();
gs.log(response.getBody());
Harish