Need to create a inbound call URL
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-27-2023 06:34 AM - edited 09-27-2023 08:26 AM
Hi All,
I am working on one of the integration form and it is inbound call from 3rd party to service now,
Fields need to map in the ServiceNow
"requested_for": "VINUTH",
"contact_phone_number": "959165",
"please_select_priority_level": "P5",
"is_this_an_account_creation_request": "Yes",
"short_description": " Test",
"please_provide_a_description_of_the_request_application_name_for_account_creation": "Apple iPhone",
"please_provide_a_list_of_users_that_require_an_account": "TEST"
Note : requested_for field is reference and referring to sys_user table.
I tried with the scripted Rest API like below,
Please any one suggest me,
Thanks in advance,
Vinuth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-28-2023 06:26 AM
Hi @vinuth v
Please try the below code.
(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
try {
var requestBody = request.body.dataString;
var requestBody1 = request.body.data;
var parser = new JSON();
var parsedData = parser.decode(requestBody);
var number = parsedData.requestNumber;
var requested_for = parsedData.requested_for;
var contact_phone_number = parsedData.contact_phone_number;
var please_select_priority_level = parsedData.please_select_priority_level;
var is_this_an_account_creation_request = parsedData.is_this_an_account_creation_request;
var short_description = parsedData.short_description;
var please_provide_a_description_of_the_request_application_name_for_account_creation = parsedData.please_provide_a_description_of_the_request_application_name_for_account_creation;
var please_provide_a_list_of_users_that_require_an_account = parsedData.please_provide_a_list_of_users_that_require_an_account;
var userSys_id = '';
var userRec = new GlideRecord('sys_user');
userRec.addQuery('name', requested_for);
userRec.query();
if (userRec.next()) {
userSys_id = userRec.getValue('sys_id');
}
var rec = new GlideRecord('sc_req_item');
rec.addQuery('number', number);
rec.query();
if (rec.next()) {
var responseBody = {};
responseBody.incNumber = number;
responseBody.status = "Success";
response.setStatus(200);
response.setBody(responseBody);
} else {
var responseBodyFailure = {};
responseBodyFailure.status = "Failure";
response.setStatus(404); // Set HTTP status code to 404 Not Found or adjust as needed
response.setBody(responseBodyFailure);
}
} catch (ex) {
response.setStatus(400);
var errorResponse = {
status: "Error",
message: ex.getMessage()
};
response.setBody(errorResponse);
}
})(request, response);