Useful snippets of code given as examples to help with various scripting needs.
Scripted SOAP Service
Use this script to add a SOAP endpoint to a Unifi Process. You will need to update the api_name to be the same as the one you set in the Process record.
(functionscriptedWebServiceOperation(request, response) {var helper =newx_snd_eb.SoapHelper('api_name'); // the API name of the Unifi Processvar xml =helper.processRequest(soapRequestXML);response.soapResponseElement =snd_eb_util.getSoapResponseElement(xml);})(request, response);
Scripted REST API
Use this script to add a REST endpoint to a Unifi Process. You will need to update the api_name to be the same as the one you set in the Process record.
(functionprocess(/*RESTAPIRequest*/ request,/*RESTAPIResponse*/ response) {x_snd_eb.ws_console.execute('Request received',function() {var helper =newx_snd_eb.RestHelper('incident_guide'); // the API name of the Unifi ProcessprocessAttachment(helper.getRequest().getRecord());helper.processRequest(request, response,'POST'); // the HTTP method of the resource });})(request, response);
By wrapping the code in console, we give context to Activity Log and prevent multiple database updates.
Poll Requests
Bond location and data
This script shows how to find a bond based on an external reference and store some data.
var integration =poll_request.$model.getIntegration();var bond =newBond(integration.getConfig());var external_ref ='BP-41951';try {if (bond.locateReference(integration,'', external_ref,'external')) {// found bond ... do your processing herebond.setData('key','abc');bond.setDataObject('key', {foo:'bar'}); } else {throw'Unable to locate bond for reference "'+ external_ref +'"'; }} catch (e) {log.error(e);}