DW Spectrum SDK/API Tools
-----------------------------------
Affected Roles: Administrator, Owner
Related Digital Watchdog VMS Apps: DW Spectrum
Complexity: High
Last Edit: September 12, 2022
-----------------------------------
Developer Tools
The Developer Tools for DW Spectrum can be accessed directly from the DW Spectrum Media Server in the web administrator interface.
If you have downloaded the DW Spectrum Server software and are running it locally, the Developer Tools for DW Spectrum can be accessed directly from the DW Spectrum Server in Web Admin in the “For Developers” tab.
Below are the SDK’s and their general descriptions.
DW Spectrum Server API
The Server API provides a standard set of API calls for 3rd party systems. Using the Server API developers can access nearly every feature available in the system's thick client, including but not limited to:
- query/manage system resources (servers, cameras, users)
- manage users and permissions
- pull live or recorded video out of the system
- generate events
- create rules
- control PTZ cameras, and more
How to use DW Spectrum Server API?
DW Spectrum provides documentation to help developers work with the DW Spectrum Server. All parameters and expected returns are listed.
The APIs are all under the RESTFUL standard, so developers can simply interact with DW Spectrum Server via HTTP using POST or GET requests. With the release of version 5.0, PUT, PATCH, and DELETE requests will also be possible. No matter which programming language you use, you can always retrieve the data and integrate your system with DW Spectrum.
How to access the API Documentation (DW Spectrum 5.0 and newer)?
If you have DW Spectrum 5.0 or newer (Client & Server) installed, you can access the new API, with the updated Swagger UI, by visiting the Web Admin (using the format below) and clicking on API Documentation at the bottom of the page.
http://<server_ip>:<server_port>
The API is divided into 3 main sections:
- DW Spectrum VMS Server API – contains the new API calls.
- DW Spectrum VMS Server legacy API – contains API calls from the previous versions that still work.
- DW Spectrum VMS Server deprecated API – contains the deprecated API calls that may still work but are not recommended for use.
**NOTE: Some API calls may have been deprecated in this update. If you refer to the API calls under DW Spectrum VMS Server deprecated API, the description in the deprecated calls will refer you to the new API calls to use that fulfill the same purpose; this will appear as text in the request description that says, "Deprecated in favor of X", where "X" will be the new call.
How to access the API Documentation (DW Spectrum 4.2 and older)?
If you have DW Spectrum Server installed on your computer, find the API documentation by visiting the following page:
http://localhost:7001/static/index.html#/developers/api
Otherwise, replace localhost with an IP address of a server on your local network.
Testing the API
To help our users get started with DW Spectrum, we provide a simple tool for you to test the API and view readable return data:
- Open the Web Admin interface and visit the API trial page:
http://<server_ip>:<server_port>/static/index.html#/developers
- On the page, you will be able to find the “API Testing Tool (new)” under the Server API section.
- Click the link of “API Testing Tool (new)”. You will then see the list of all server APIs, and you could click any of them to test and try the API.
Metadata (Generic Events) SDK
A Generic Event is a method of sending events from 3rd party systems to a System, which can be used to trigger System actions in the Events & Rules engine. The Generic Event Generator is a tool which helps build HTTP Generic Event calls.
Get the Generic Events Generator
- Username: demo
- Password: demo1234
Video Source SDK
The Video Source Integration SDK enables easy integration of any video source (live or archived) into the system. With the SDK it's possible to create a method for discovering, displaying, analyzing, and recording video from virtually any live or recorded video source - IP Cameras, encoders, NVR's, DVR's, and more. It also allows for the integration of device I/O's (inputs & outputs) and motion detection metadata.
- Username: demo
- Password: demo1234
Storage SDK
The Storage SDK enables easy integration of any potential storage. Using the Storage SDK, developers can read from or write to any storage location - locally available, remote storage, and even cloud servers. Creating a storage plugin requires implementing standard functions such as I/O stream, if file exist, delete file, list of files in the folder, etc. The Storage SDK also contains an example for using an FTP server as a storage location.
- Username: demo
- Password: demo1234