All pages
Powered by GitBook
1 of 1

Loading...

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.

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.

(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);
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);
}