Getting error whenever Payload given on Request body in REST API Explorer

venugopal s
Tera Contributor

Hi Everyone,

I am getting error whenever payload as Raw is given on Request body where as if I pass data on query parameters then its creating a Request.  Can anyone helping issue on the script. 

Script:

    var requestBody = request.body;
    var requestData = requestBody.data;
var queryParms = request.queryParams;
    var validManager, validRecruitingCoordinator, validRequestedFor;
    if (queryParms.request_type == "new_hire_default_order" || requestData.request_type == "new_hire_default_order") {
        if ((queryParms.country_code == 'UNITED STATES' || queryParms.country_code == 'USA') ||
            (requestData.country_code == 'UNITED STATES' || requestData.country_code == 'USA')) {

            var checkStateCode = new GlideRecord('cmn_location');
            if (queryParms.state_code != '') {
                checkStateCode.addEncodedQuery('u_hierarchy_level=State^u_region.u_display_nameSTARTSWITHUNITED STATES^state=' + queryParms.state_code);
            } else if (requestData.state_code != '') {
                checkStateCode.addEncodedQuery('u_hierarchy_level=State^u_region.u_display_nameSTARTSWITHUNITED STATES^state=' + requestData.state_code);
            }
            checkStateCode.query();
            if (!checkStateCode.next()) {
                var cloudpc_error = new sn_ws_err.ServiceError();
                cloudpc_error.setStatus(400);
                cloudpc_error.setMessage('Invalid State Code');
                cloudpc_error.setDetail('Invalid State Code');
                return cloudpc_error;
            }
        }

        if (queryParms.manager != '' || requestData.manager != '') {
            var managerUser = new GlideRecord('sys_user');
            if (queryParms.manager != '') {
                managerUser.addQuery('user_name', queryParms.manager);
            } else if (requestData.manager != '') {
                managerUser.addQuery('user_name', requestData.manager);
            }
            managerUser.query();
            if (managerUser.next()) {
                manager = managerUser.sys_id.toString();
                if (managerUser.u_manager_level != '' && managerUser.u_manager_level != undefined && managerUser.u_manager_level != '9' && managerUser.u_manager_level != '8') {
                    validManager = 'true';
                } else {
                    validManager = 'false';
                }
            } else {
                validManager = 'Invalid Manager ID';
            }
        }

        if (queryParms.recruiting_coordinator != '' || requestData.recruiting_coordinator != '') {
            validRecruitingCoordinator = 'Invalid Recruiting Coordinator ID';
            var coordinator = new GlideRecord('sys_user');
            if (queryParms.recruiting_coordinator != '') {
                coordinator.addQuery('user_name', queryParms.recruiting_coordinator);
            } else if (requestData.recruiting_coordinator != '') {
                coordinator.addQuery('user_name', requestData.recruiting_coordinator);
            }
            coordinator.query();
            if (coordinator.next()) {
                recruiting_coordinator = coordinator.sys_id.toString();
                validRecruitingCoordinator = 'true';
            } else {
                validRecruitingCoordinator = 'Invalid Recruiting Coordinator ID';
            }
        }

        var requestedFor = new GlideRecord('sys_user');
        if (queryParms.requested_for != '') {
            requestedFor.addQuery('user_name', queryParms.requested_for);
        } else if (requestData.requested_for != '') {
            requestedFor.addQuery('user_name', requestData.requested_for);
        }
        requestedFor.query();
        if (requestedFor.next()) {
            requested_for = requestedFor.sys_id.toString();
            validRequestedFor = 'true';
        } else {
            validRequestedFor = 'Invalid Requested For';
        }
        if (requested_for == '') {
            validRequestedFor = 'true';
        }
    }

 

Payload:

{
"request_type" : "",
"candidate_id" : "",
"manager" : "",
"recruiting_coordinator" : "",
"country_code" : ""

requested_for" : "",
"portal_requisition_id" : ""
}

@Dr Atul G- LNG @James Chun 

1 REPLY 1

AJ-TechTrek
Giga Sage
Giga Sage

Hi @venugopal s ,

 

Refer the below articles, which helps you.

 

https://www.servicenow.com/community/developer-forum/outbound-rest-get-request-with-body-error/m-p/1...

 

https://www.servicenow.com/community/now-platform-forum/error-in-displaying-a-body-parameter-in-scri...

 

https://www.servicenow.com/community/developer-forum/rest-script-help-the-payload-is-not-valid-json/...

 

https://www.servicenow.com/community/developer-forum/cannot-access-http-request-body-in-scriped-rest...

 

Please appreciate the efforts of community contributors by marking appropriate response as Mark my Answer Helpful or Accept Solution this may help other community users to follow correct solution in future.

 

Thanks

AJ

Linkedin Profile:- https://www.linkedin.com/in/ajay-kumar-66a91385/

ServiceNow Community Rising Star 2024