← Back to Articles

API for integration of Xeoma

An application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application software. Generally, it is a set of clearly defined methods of communication between various software components.

In other words, API is a set of means to facilitate integration with third-party systems, or applications, or services.

For manufacturers of equipment, inventors, and all those who wants to integrate Xeoma with their or third-party products, services or systems, Xeoma has an API in the form of special modules (HTTP Switcher, Sending of HTTP commands and Application Runner), Web API and API for Xeoma Pro Your Cloud.

Web API

Using the Web API you can get live video or still shot, or export a single picture or a video piece for the specified date/time from archive recordings, and add new cameras (or FTP Receiver modules).
This can be used to embed to a web site (for example, as a weather radar or traffic informer), or in various automation systems.
Attention: make sure that the chains have the Web Server modules connected and working.
More about available commands

JSON API

A more powerful addition to the general ‘web API’ commands that Xeoma understand is JSON API, available with any Xeoma Pro license.
This the go-to option for integration in third-party systems that facilitates such tasks as remotely change chain settings, export archive recordings, control users and many more. Read more on Xeoma’s JSON API here

HTTP Switcher

This module allows to switch on/off all following modules (the whole chain connected after the HTTP switcher) upon receiving an http-request. It works like a circuit breaker/closer and can receive commands to either break the circuit (with the URL for switching off) or close it (with the URL for switching on).
More about HTTP Switcher

HTTP Request Sender

This module allows to generate and send HTTP requests. If you want to send motion-triggered requests, connect the module after the motion detector module. Check the box ‘Show all parameters’ to set request parameters. Use the {ID} macro while setting up parameters for module’s unique identificator. The resulting URL will be shown in ‘Resulting URL’ field.

Use this module to send HTTP request to a third party devices, for example to open the gate and etc.
More about HTTP Request Sender

Application Runner

This module allows you to run the specified application. If you want the application runner to be triggered by detected motion, connect it after motion detector module. Specify the path to the program to run with the use of macros and interval (program will be run with each incoming frame, but not more than the specified interval).
Use this module to run a third party application or script.

xeoma_software_advices For integration with POS (point of sale) terminals and cash registers, you can use the HTTP Marking module.

ANPR (license plate recognition)

Also, the ANPR module’s option to use external databases or scripts can be considered API. Use the Path/URL to the external module option in the ANPR’s settings.
For example, the path to script can look like http://192.168.1.1/vms.cgi?number={NUMBER}
where the vms.cgi script gets the number parameter with value {NUMBER}

API for Xeoma Pro Your Cloud

Xeoma Pro Your Cloud can be effectively controlled by configuration files that are created by default at start. Apart from that, custom scripts can be used to control the configs of Xeoma Pro Your Cloud. REST API commands are available to control the default scripts and integrate with billing.

Syntax:
xeoma_cloud.php -a “username” “useremail” “password” days months sources storageGB storageDays clients bandwidthMbits “listOfDisabledModules” “templatePath”

where
xeoma_cloud.php is the script created by default
-a – command for creation of new user (-c is for changing, -d is for deleting)
username – username of new/current user
useremail – email of new/current user
password – password of new/current user’s account
days – duration of user subscription in days (summarizes with months)
months – duration of user subscription in months (summarizes with days)
sources – how many cameras the new/current user is allowed to use
storageGB – how many disk space the new/current user is allowed to use
storageDays – time of recording before the loop recording is engaged
clients – how many simultaneous connections are allowed for this user
bandwidthMbits – total bandwidth allowed for this user
listOfDisabledModules – list of modules that shouldn’t be available to this user
templatePath – path to the template of chain settings that should be applied to this user

Example:
xeoma_cloud.php -a “User Name” “myEmail@email” “123456” 0 2 3 4 5 6 7 “FileInput, FileOutput” ‘/home/a/Desktop/33/cloud_config_template.dat’

Also there is API for synchronization with billing systems in Xeoma Pro Your Cloud. See details at Xeoma Pro Your Cloud. Guide

February, 16 2018

Read also:
Video surveillance for business and major systems
Affiliate program for resellers, integrators and Xeoma software distribution
Xeoma video surveillance software OEM/ODM, customization and rebranding