Rest API explorer- mapping date fields
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-07-2023 10:28 PM
Hi,
I am trying to create a custom service catalog cart submit api. Every variable is getting mapped correctly but the date fields are getting mapped to the current 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 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, "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);
3 REPLIES 3
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-07-2023 10:30 PM
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-07-2023 11:28 PM
what's coming in logs for startDate and firmstartDate after parsing the json?
Regards,
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-07-2023 11:47 PM - edited 09-08-2023 12:03 AM