Integration options

There are several options for how to integrate the Cloud VMS depending on the development time.

#1. White-label Web and Mobile with VSaaS template

This is the fastest integration method and it could be as simple as changing the logo and colors in the Web front-end and Mobile apps. All you need is to send us your logo, colors, and other changes that you want us to make on your copy of the web front end and we’ll create it for you within hours.

You can just copy it to your web server and you’ll have the Web client up and running under your domain name, and with full source code that you can change according to your product needs.

See more information on how to deploy the web client package here.

Mobile applications will be also re-branded. This will require publishing new mobile applications on Google Play and Apple App Store under the Customer’s name. VXG will guide you through this process and assist with publishing.

VXG Cloud VMS is detached from authentication and authorization services. VXG web and mobile clients use Google Firebase for authentication and a simple PHP backend code for the authorization of users - assigning permissions to watch cameras. You can keep using Firebase (under your own Firebase account) or replace the authentication mechanism.

#2. Integration with existing front-end

It’s very easy to integrate VXG Cloud VMS with any existing UI. For example, you can just publish an iframe on your website by copying and pasting it from the integrator’s dashboard:

A better approach will be to use the VXG Web SDK and integrate the web player with your existing UI. The Web SDK comes with a number of samples that show how to play live or recorded videos from selected cameras.

The Web SDK can be used for integration with an existing UI or for building a new UI by just copying the codes from VXG samples into your existing code.

For integration with mobile applications, VXG provides Mobile SDK for Android and Mobile SDK for iOS. In all the cases, the SDKs will need to know the channel’s “access token” to access live and recorded videos and other resources and information associated with the channel.

#3. Integration with existing front and back-end

Often our customers already have front and back-ends and they need to add IP cameras (Cloud VMS) to the existing service.

Adding Cloud VMS usually means implementation of the following 3 steps:

  1. Adding VXG Web SDK to the front-end. The Web SDK is an HTML player for playing live and recorded video from VXG Cloud VMS. It includes all common UI controls that can be configured.

  2. Adding VXG non-admin REST API calls to the front-end for calling any functions of the VXG Cloud VMS, for example retrieving a list of images for motion events.

  3. Adding VXG admin REST API calls to the back-end. These calls usually go through a secure server-to-server channel and are used to create or delete channels (add or remove cameras). Once a camera is added, its access token is stored in the back-end database.

Here is an example of the sequence of operations.

  1. The authenticated front-end instructs the back-end to add and a new camera.

  2. The back-end calls the Admin REST API function POST /channels/ that returns a channel access token that is stored in the back-ends database.

  3. The front-end requests the back-end for available channels and receives a list of channel access tokens.

  4. The front-end calls Non-admin REST API functions, for example, GET /live/image to retrieve the latest snapshot.

  5. The front-end calls the VXG Web SDK function play() to playback live or recorded video.

 

The Admin REST API calls should be authorized with a Cloud Key that can be found on the Integrator’s dashboard. We strongly recommend using Admin API only through a server-to-server secure channel.

The Non-admin REST API calls should be authorized with the Channel Access Token. The Channel Access Token is generated once the back-end creates a new channel (adds a new camera) and stored in the back-end’s database. The Channel Access Token can be invalidated and thus it’s safe to call Non-admin REST API from the front-end.

The Web SDK also uses the Channel Access Token to play video.

You can find a number of HTML and Python samples showing how to use VXG REST API on the GutHub.