How to add message in API Call
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wednesday - last edited Friday
Here is the requirement to add error message for "Change Registration" Modal. (which is used by API users) alone
Example:
Close code: Successful
State: Cancel (4 )----error message should be shown in API users alone : "Change Registration Modal cannot be cancelled when the close code is "Successful",it must be "Unsuccessful"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thursday
it's simple -> you can't add your customized error message if 3rd party is using OOTB Table API
you need to use scripted REST API
where are you stuck for your scripted REST API?
💡 If my response helped, please mark it as correct ✅ and close the thread 🔒— this helps future readers find the solution faster! 🙏
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Friday - last edited Friday
debug its not logging it simply skipping my condition and going to last message" change is successful "
return {
message: 'Change updated successfully'
};
(function process(request, response) {
try {
var sysId = request.pathParams.sys_id;
var body = request.body.data;
gs.info('DEBUG: Script started for sys_id=' + sysId);
var gr = new GlideRecord('change_request');
if (!gr.get(sysId)) {
gs.info('DEBUG: No record found for sys_id=' + sysId);
response.setStatus(404);
return {
error: 'Change request not found'
};
}
var modelName = '';
if (gr.change_model) {
var cm = new GlideRecord('change_model');
if (cm.get(gr.change_model)) {
modelName = cm.getValue('name');
}
}
gs.info('DEBUG: Model Name = ' + modelName);
if (modelName == 'Change Registration') {
var stateVal = body.state || gr.getValue('state');
var closeCode = (body.close_code || gr.getValue('close_code') || '').toString().toLowerCase();
gs.info('DEBUG: Incoming state=' + stateVal + ', close_code=' + closeCode);
var stateNum = parseInt(stateVal, 10);
if (stateNum == 3 && closeCode != 'successful') {
gs.info('DEBUG: Validation failed - Close with unsuccessful');
response.setStatus(400);
return {
error: "For changes using this model, close if Successful or cancel if Unsuccessful."
};
}
}
for (var field in body) {
gr.setValue(field, body[field]);
}
gr.update();
gs.info('DEBUG: Update completed successfully for sys_id=' + sysId);
response.setStatus(200);
return {
message: 'Change updated successfully'
};
} catch (e) {
gs.error('ERROR in Change API: ' + e.message);
response.setStatus(500);
return {
error: 'Unexpected error: ' + e.message
};
}
})(request, response);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Friday
it means somewhere the value is not getting matched correctly
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
