Working with CAD data/events

This documentation is a draft

🚧

Integrator notice

The information contained in this section is still subject to change and should be considered a Draft.

It is possible to integrate CAD data with Genetec products using a common API specification. The integrator has to implement a client to the CAD Push Service API specification once and, depending on the target URI, multiple products can be supported. Working with CAD events allows the different products to display and correlate those events. An Event represents a single CAD information with a unique identifier and, at minimum, a start date. In the case of Clearance, the events are created as Cases in the system, which allows for an easy retrieval and correlation of CAD event with the digital evidence item.

Obtaining credentials

Each Genetec product has a different way of providing the credentials to the integration. For Clearance, the following instructions can be used: How to generate a JSON Connection File

Each Genetec product allows the end-user to download a configuration file config.json that contains the information needed to communicate and authenticate with the product. It is important to note that the file can contain additional information useful to other integrations. The addition of that information should not interfere with your integration.
Here is an example of the minimal field contained in the config.json file:

{
  ...
    "CADApiAddresses": [
        "https://dems-dev-api.clearance.network/cadservice"
    ],
    "SecurityTokenServiceBaseAddresses": [
        "https://clearance-a-sts.geneteccloud.com/connect"
    ],
    "APIKey": "ABCDEFGHIJKLMNOPQRSTUV",  
    "ServicePrincipalId": "151",
    "ServicePrincipalKey": {
        "k": null,
        "kid": "urn:service:tenant123:MyApiUser:151",
        "kty": "RSA",
        "use": null,
        "n": "...hidden...",
        "e": "AQAB",
        "x5t": null,
        "d": "...hidden...",
        "p": "...hidden...",
        "q": "...hidden...",
        "dp": "...hidden...",
        "dq": "...hidden...",
        "qi": "...hidden...",
        "nbf": "0001-01-01T00:00:00",
        "exp": "0001-01-01T00:00:00"
    },
    "TenantId": "tenant123"
}

Authenticating

There are 2 authentication methods that are supported by the CAD Push Service API specification :

  • OAuth 2 - Using OAuth 2 with JWT Bearer Assertion is the preferred method as documented at Authentication. The integration doesn't need to send it's authentication credentials directly, is considered more secure, and is Server-Side only.

  • API Key - Using an API key as part of the URI. Adding the API Key as the query string parameter apikey to any CAD Push Service API request. This authentication technique can also be used on the client-side.

curl -X GET "https://dems-dev-api.clearancedev.net/cadservice/api/v1/events/mytenant/singleredirect?eventId=12345&apikey=ABCDEFGHIJKLMNOPQRSTUV" -H "accept: application/json"

Using the Api

The full documentation can be obtained at CAD Push Service API specification.