How to write scripted rest API to create RITM and pass field values and attachment using POSTMAN

Nikita47
Giga Contributor

How to write scripted rest API to create RITM and pass field values and attachment using POSTMAN.

 

 

Regards,

Nikita

 

7 REPLIES 7

Hi Nikita,

Hope you got the solution, can you please share,I have the same requirement.

TIA 🙂

Hi Ankur,

 

I tried the script. But I am seeing an issue, if I am passing a date type field, it is not mapping the correct value of date, rather today's date.

 

(function process( /*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {

var reqbody = request.body.dataString;

try {
var parser = new global.JSON();
var parsedData = parser.decode(reqbody);

var requestedFor = parsedData.variables.requested_for;
var startDate = parsedData.variables.start_date.toString();
//var endDate = parsedData.variables.end_date;
var firmstartDate = parsedData.variables.firm_start_date.toString();
var selectOne = parsedData.variables.select_one;
var phoneModel = parsedData.variables.phone_model;
var phoneNumber = parsedData.variables.phone_number;
var phoneCarrier = parsedData.variables.phone_carrier;

var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);

var sysid;
var grUsr = new GlideRecord('sys_user');
grUsr.addQuery('user_name', requestedFor);
grUsr.query();
if (grUsr.next()) {
sysid = grUsr.sys_id;
}



var item = cart.addItem('53df2fbe87ada15098a041d8cebb352b', 1);


cart.setVariable(item, "requested_for", sysid);
cart.setVariable(item, "start_date", startDate);
//cart.setVariable(item, "end_date", endDate);
cart.setVariable(item, "firm_start_date", firmstartDate);
cart.setVariable(item, "select_one", selectOne);
cart.setVariable(item, "phone_model", phoneModel);
cart.setVariable(item, "phone_number", phoneNumber);
cart.setVariable(item, "phone_carrier", phoneCarrier);

var rc = cart.placeOrder();


var reqNumber = rc.number;

var ritm = new GlideRecord('sc_req_item');
ritm.get('request.number', reqNumber);
var ritmNumber = ritm.number;

var res = {};
res.body = {
"message": "Success",
"Request Number": "" + reqNumber + "",
"RITM Number": "" + ritmNumber + ""
// "detail": "Request Number: " + reqNumber + ", RITM Number: " + ritmNumber
};

response.setBody(res);

} catch (e) {

var resObj = {};

var sErrorcatch = new sn_ws_err.ServiceError();
this.status = 400;
this.action = 'Error';
sErrorcatch.setStatus(this.status);
resObj.body = {
"message": "Transaction Ignored at run time! Error thrown is: " + e,
"detail": "Unexpected exception occurred during processing the request. Check if the payload and attributes are correct."
};
sErrorcatch.setMessage(resObj.body.message);
sErrorcatch.setDetail(resObj.body.detail);
return sErrorcatch;
}


})(request, response);

Dwarkilal Pati1
Kilo Explorer

Hi Nikita,

Hope you got the solution, can you please share I have the exactly same requirement.

TIA 🙂