ServiceNow SAMPLE REST MESSAGE POST - Service Catalog Cart API - How to Order a Catalog Item on a Remote Instance
see Service Catalog API > jump to 'order_now' section
Using a REST Message
- enter the endpoint in this format:
https://dev126222.service-now.com/api/sn_sc/servicecatalog/items/${sys_id}/order_now
use variable substitution to populate the sys id. Note the sys id corresponds to the catalog item.
- add the HTTP Headers:
- add the HTTP Content:
example:
{
"sysparm_quantity":"1",
"sysparm_requested_for":"ruen.catitem.user",
"variables":{
"test_variable":"this is a test 1",
"test_variable_2":"this is a test 2"
}
}
or here's how you could use variable substitution in the content:
{
"sysparm_quantity":"1",
"sysparm_requested_for":"ruen.catitem.user",
"variables":{
"test_variable":"${variable_1}",
"test_variable_2":"${variable_2}"
}
}
Preview Script Usage
try {
var r = new sn_ws.RESTMessageV2('RemoteServiceNowInstance', 'post_new_request');
//var authentication_type = 'basic';
//var profile_name = '6016d39dc3ef3510311f1c5ce00131f1';
//--override authentication profile
//--authentication type ='basic'/ 'oauth2'
//r.setAuthenticationProfile(authentication_type, profile_name);
r.setStringParameterNoEscape('sys_id', '36376791c3637510311f1c5ce001319c');
r.setStringParameterNoEscape('sysparm_quantity', '1');
r.setStringParameterNoEscape('variable_2', 'test 2');
r.setStringParameterNoEscape('variable_1', 'test 1');
var response = r.execute();
var responseBody = response.getBody();
var httpStatus = response.getStatusCode();
gs.print('response code='+httpStatus);
//--get the number of the new REQ:
var resp=JSON.parse(responseBody);
gs.print(resp.result.number); //--e.g. REQ
}
catch(ex) {
var message = ex.message;
}
Comments
Post a Comment