Skip to main content

How to integrate with BVMS using virtual input and REST API?

The easiest way to integrate a 3rd party system with BVMS is through Virtual input based REST API.

REST API for Virtual Input (on/off) and text data integration

Virtual Input REST API is designed to query and control virtual inputs and their states from outside BVMS using the BVMS REST API.

  • Virtual Input REST API interface can be used to:

-Retrieve information about configured Virtual Inputs (VI)

-Set the specific VI state to on/off

-Send the text data to the specific VI. User-defined data. Up to 10 strings ("Data1", "Data2" up to "Data10“). Total length max. 8192 characters.

  • No need to use C# based BVMS Server SDK for simple integration purposes

image-20250728-102509.png
Picture1.png

Step-by-step guide

BVMS installation setup

The setup offers an option to deploy the REST endpoint as an optional feature “Server API" as sub-feature of the Management Server (disabled by default).

image-20250728-102927.png

The setup configures a corresponding firewall rule for the endpoint only if the "Configuration API" feature is installed.

The exact port of the REST endpoint service: 5399

Name of service in Service Manager: BVMS Server API

image-20250728-103043.png

(info) There is a dedicated log file for the API available.  

User group permissions required for non Admin users

image-20250728-103346.png

Documentation: Server API VI

Intended users of the REST API are most probably 3rd party developers rather than BVMS Configuration Client users (Administrators).

Therefore, the documentation is not implemented in the Configuration Client. It is available as file in the file directory to be opened in a .yaml editor:

1.Go to the following web page, an online editor is offered: https://editor.swagger.io/

image-20250728-103955.png

2.Select File → Import file and choose the following directory from the BVMS installation folders:
C:\Program Files\Bosch\VMS\Doc\APIs\............API\........api.yaml

image-20250728-104056.png

If the path does not exist, the option “Server API” (within Management server feature options) was not chosen/installed during BVMS installation in the setup file.

Configuration using Virtual input in BVMS

1.Add Virtual Inputs (VI) to the Devices tab

image-20250728-104449.png

2.Add the VI to the Maps and Structure tab

image-20250728-104853.png

3.Watch the status (on/off) in the Operator Client

image-20250728-104918.png

Example: how to trigger Virtual input using REST API: curl.se

Example of how to use the BVMS 13.0 REST API for Virtual Input + text data transfer:

  • Curl =! cURL => A suitable test-client is required: For example, curl.se (command line tool and library for transferring data with URLs).

  • Download: https://curl.se/windows/

Note: The windows onboard Alias Curl = Invoke-WebRequest does not work for the BVMS REST API.

Some example commands using windows power shell or windows CMD can be found in the attached PDF below.

Note

The example command in the PDF is the syntax for Power Shell and it can be different for Command Prompt!

  • The syntax for Power Shell: it is written '\"On\"'

  • The syntax for Command Prompt: should be  "\"On\""

Example of how to use the BVMS 13.0 REST API for Virtual Input + text data transfer.pdf

Additional configuration using Virtual input text data

  1. Text data can be included in an alarm.

  2. It can also be recorded in the logbook.

  3. Additionally, text data can be embedded in camera recordings, allowing related video footage to be searched using that text.

Note: Search in logbook screen shot is not included here.

image-20250728-142115.png
image-20250728-142215.png

Search video footage based on Virtual input text data

image-20250728-142156.png

Nice to know.png Nice to know:

The BVMS REST API was implemented in 2 waves (2 different software releases):

  1. REST API for BVMS Configuration purpose (camera re-naming),  released in BVMS 11.x

  2. Enhancement to support REST API for Virtual Input (on/off) and text data integration, released in BVMS 12.0.1

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.