Snippets

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.

(function scriptedWebServiceOperation(request, response) {
var helper = new x_snd_eb.SoapHelper('api_name'); // the API name of the Unifi Process
var 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.

(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
x_snd_eb.ws_console.execute('Request received', function() {
var helper = new x_snd_eb.RestHelper('incident_guide'); // the API name of the Unifi Process
processAttachment(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 = new Bond(integration.getConfig());
var external_ref = 'BP-41951';
try {
if (bond.locateReference(integration, '', external_ref, 'external')) {
// found bond ... do your processing here
bond.setData('key', 'abc');
bond.setDataObject('key', {foo: 'bar'});
} else {
throw 'Unable to locate bond for reference "' + external_ref + '"';
}
} catch (e) {
log.error(e);
}