motorola Concealed Weapons Detection Custom API Integration User Guide

June 12, 2024
Motorola

motorola Concealed Weapons Detection Custom API Integration

Product Information:

Concealed Weapons Detection Custom API Integration Guide

The Concealed Weapons Detection Custom API Integration Guide provides instructions on how to integrate the product’s custom API into various systems. It covers topics such as adding, refreshing, and removing custom integrations, testing API calls, and retrieving information from configured scanners.

Product Usage Instructions

Open API Custom Integrations

To access the Open API Custom Integrations:

  1. Click the gear icon on the top menu to access Account Settings.
  2. Select “Integrations” from the left menu.
  3. Select the “Custom” tab.

Adding a Custom Integration

  1. Under the “Custom” tab, click “Add Custom Integration”.
  2. Enter a name for the integration.
  3. Enter an expiry date for the integration (optional).
  4. Click “Save”.
  5. Toggle “Enable Images” if you want to store images according to the retention policy.
  6. Toggle “Enable Unverified Alerts” if you agree to operate the system as intended.
  7. Click “Enable”.
  8. Select the scanners to receive alerts from.
  9. Click “Save”.
  10. Enter the provided username and password to authenticate.

Refreshing a Custom Integration

  1. Under “Integration Actions”, click “Refresh Integration”.
  2. In the pop-up window, click “Refresh API Key” to update the Custom Integration.

Removing a Custom Integration

  1. Under “Integration Actions”, click “Remove Integration”.
  2. In the pop-up window, click “Revoke API Key”.

Testing a Custom Integration
The guide provides examples of common API calls for testing. For more information and different API calls and schemas, refer to the API Developer Documentation webpage.

API Get Request for Configured Scanners

The integration can create an API get request to receive a list of configured scanners. The following examples can be used to create requests:

API URL:
https://apis.evolvdevelopment.com/integration/v1/scanners

Parameters: None

Authorization Header: -H ‘accept:
application/json’ -H ‘X-Evolv-Auth: ‘

API GET Request: curl -X ‘GET’
https://apis.evolvdevelopment.com/integration/v1/scanners’ -H’accept: application/json’ -H ‘X-Evolv-Auth: ‘

Example Scanner List Response: {status:
success, data:{next_page:
https://apis.evolvdevelopment.com/integration/v1/scanners’, values:
[{scanner_name: EXPR00001}, {scanner_name: EXPR0002}]}}

Concealed Weapons Detection
Custom API Integration Guide

Introduction

The MSI Open API Custom Integration provides a path to integrate CWD data with external security ecosystem systems to use CWD alerts and event data in other applications. The Custom Integration API allows a customer to subscribe and receive data for verified alerts, unverified alerts, system events, and request assistance messages. A customer may then integrate this data into their security ecosystem.
The following outlines the process for configuring the MSI CWD Custom Integration API. This allows a connected system to receive alerts and events from the MSI CWD via AWS.
Use the Add Custom Integration feature to create credentials to authenticate and connect to the Open API. Admins create a Name for the integration and select an Expiration date. Options include Does not expire, Annual or Quarterly. Credentials are created automatically, and an Open API Key and passcode are displayed. These credentials are needed to make API calls. Each API Key is unique and only allows one user to query data at their request. These keys provide read only privileges in the portal. After creating a key, the Customer Admin will copy the passcode and supply it to the person creating the custom API configuration.

Open API Custom Integrations

NOTICE: Adding or modifying integrations requires Customer Administrator account privileges.

Integrations are found under Account Settings.

  1. To access Account Settings, click the gear icon on the top menu.
  2. Select Integrations, from the left menu.
  3. Select the Custom tab.

Adding a Custom Integration

  1. Under the Custom tab, click Add Custom Integration.
  2. Enter a name for the integration.
  3. Enter an expiry date for the integration. Does not expire if the default.
  4. Click Save.
  5. Under Integration Settings, toggle Enable Images. By enabling images, you give consent to MSI to store the images according to the 7-day retention policy.
  6. If you would like to Enable Unverified Alerts, toggle Enable Unverified Alerts. By enabling the unverified alerts, you agree to operate the MSI CWD system in accordance with the design intent.
  7. Click Enable.
  8. Select the scanners to have alerts sent to the system.
  9. Click Save.
  10. Enter the username and password, provided by MSI, to authenticate.

Refreshing a Custom Integration

  1. Under Integration Actions, click Refresh Integration.
  2. In the pop-up window, click Refresh API Key. This updates the Custom Integration.

Removing a Custom Integration

  1. Under Integration Actions, click Remove Integration.
  2. In the pop-up window, click Revoke API Key.

Testing a Custom Integration

This section covers several examples of common API calls.
For more information on testing the API, or view different API calls and schemas, refer to the API Developer Documentation webpage.

API Get Request for Configured Scanners
The integration can create an API get request to receive a list of configured scanners. The following examples can be used to create requests, no parameters are needed.

API URL
https://apis.evolvdevelopment.com/integration/v1/scanners

Parameters
Parameters not needed
Authorization Header
-H ‘accept: application/json’
-H ‘X-Evolv-Auth:
API GET Request
curl -X ‘GET’
\
https://apis.evolvdevelopment.com/integration/v1/scanners’
\
-H ‘accept: application/json’ \
-H ‘X-Evolv-Auth:
Example Scanner List Response
{“status”: “success”,”data”:{“next_page”:”https://apis.evolvdevelopment.com/integration/v1/scanners’,
“values”: [{“scanner_name”: “EXPR00001”},{“scanner_name”: “EXPR0002”}]}}

API Get Request for Notifications
The integration can create an API get request to receive notifications from the designated scanners. The following examples can be used to create requests. Calls are made every second to retrieve the most recent notifications.

API URL
https://apis.evolvdevelopment.com/integration/v1/unseen-notifications?

Parameters
notification_type=assist_request,verified_alerts scanners=EXPR0001,EXPR00002
enddate=2022-10-12T15:30:00Z
Authorization Header
-H ‘accept: application/json’
-H ‘X-Evolv-Auth:
API GET Request specifying a custom list of notification types
curl -X ‘GET’
\
https://apis.evolvdevelopment.com/integration/v1/unseennotifications?

scanners=EXPR0001,EXPR00002&notification_type=assist_request,verified_alerts& enddate=2022-10-12T15:30:00Z
\
-H ‘accept: application/json’ \
-H ‘X-Evolv-Auth:
API GET Request to receive all notifications of all types for all scanners curl -X ‘GET’
\
https://apis.evolvdevelopment.com/integration/v1/unseen-notifications?
\
-H ‘X-Evolv-Auth:

Subscribe Request for Receiving Notifications
The integration can create an API Subscribe request to receive notifications from the designated scanners. Subscribe requests are typically faster than other type of requests. There is no need for the system to continuously ask for new notifications. Instead, as soon as a notification is available, it is sent automatically. All notification types are possible with the subscribe request API Call. The following examples can be used to create requests.

API URL
https://apis.evolvdevelopment.com/docs#/%5BSubscriptions%5D%20%5Bv1%5D%20Subscriptions/get_ws_subscription_endpoint_integration_v1_subscriptions_get

Parameters
notification_type=system_down,unverified_alerts scanners=EXPR0007,EXPR00008
Authorization Header
-H ‘accept: application/json’
-H ‘X-Evolv-Auth:

API Subscribe Request specifying a custom list of notification types:

curl -X ‘GET’
\
https://apis.evolvdevelopment.com/integration/v1/unseennotifications?
scanners=EXPR0001,EXPR00002&notification_type=assist_request,verified_alerts&
\
-H ‘accept: application/json’ \
-H ‘X-Evolv-Auth:
API Subscribe Request to receive all notifications of all types for all scanners:
curl -X ‘GET’
\
https://apis.evolvdevelopment.com/integration/v1/unseen-notifications?
\
-H ‘X-Evolv-Auth:
Example Unverified Alert response

The following example is for reference only and reflects test data.

“id”:702384,
“customer_id”:”AppTest”,
“scanner_name”:”EXPR50007″,
“notification_type_id”:7,
“body”:{“alarmTime”:”2022-011-18T14:23:27Z”,
“alarmTimeLocal”:”2022-11-18T09:23:27-05:00″,
“alertId”:”EXPR50007_220510124314050_S1111111_098″,”alertType”:”Threat”,
“alertTag”:”unverified”,
“jpegImages”:null,”lane”:””,
“message”:””,”scanId”:”EXPR50007_220510124314050_S1152707″,”scannerId”:”b1a487d9-18b8-
49da88181213b48711ac”,
“scannerName”:”EXPR50007″,”taggedTime”:”2022-011-18T14:23:27Z “,
“taggedTimeLocal”:”2022-11-18T09:23:27-05:00″,
“scannerAlias”:”Dariya”,
“locationPrimary”:”Evolv Technology HQ”,
“locationSecondary”:”Main Door”,
“notification_time”:2022-011-18T14:23:27Z,”delivery_time”:2022-011-18T14:23:27Z,
“read_time”:null,”status”:”DELIVERED”,
“images”:[{“id”:1927,”name”:”EXPR50007_220510124314050_S1111111_098-0.jpeg”
Example System Down response
The following example is for reference only and reflects test data.
“id”:702333,”customer_id”:”AppTest”,”scanner_name”:”EXPR50007″,
“notification_type_id”:2,
“body”:” Test System Down “,
“notification_time”:2022-011 18T14:23:27Z”,
“delivery_time”:2022-011-18T14:23:27Z”,
“read_time”:null,”status”:”DELIVERED”,”images”:[] Example Communication State response
The following example is for reference only and reflects test data.
“id”:702377,”customer_id”:”AppTest”,
“scanner_name”:”EXPR50007″,
“notification_type_id”:4,
“body”:”For EXPR50007, Connectivity changed from disconnected to connected on 11-18-2022
04:31:54″,
“notification_time”:2022-011-18T14:23:27Z”,
“delivery_time”:2022-011-18T14:23:27Z,”read_time”:null,
“status”:”DELIVERED”,”images”:[] Example Settings Change response
The following example is for reference only and reflects test data.
“id”:702361,”customer_id”:”AppTest”,
“scanner_name”:”EXPR50007″,
“notification_type_id”:3,
“body”:”Option “locationPrimary” changed from “Las Vegas” to “Pasadena”\nOption “locationSecondary”
changed from “3570 S Las Vegas Blvd” to “415 S. Grand Avenue”\n”,
“notification_time”:2022-011-18T14:23:27Z,
“delivery_time”:2022-011-18T14:23:27Z”,
“read_time”:null,”status”:”DELIVERED”,”images”:[] Example Request Assistance Message response
The following example is for reference only and reflects test data.
“id”:702394,”customer_id”:”AppTest”,
“scanner_name”:”EXPR50007″,”notification_type_id”:9,
“body”:{“alarmTime”:”22022-011-18T14:23:27Z “,
“alarmTimeLocal”:”2022-011-18T14:23:27Z”,
“alertId”:”EXPR50007_220510124314050_S3333333_0333″,
“alertType”:”Request Assistance”,”alertTag”:”request_assistance”,
“jpegImages”:null,
“lane”:””,”message”:”WHAT HAPPENS IN VEGAS, STAYS IN VEGAS.”,
“scanId”:”EXPR50007_220510124314050_S1152707″,
“scannerId”:”b1a487d9-18b8-49da-8818-1213b48711ac”,
“scannerName”:”EXPR50007″,”taggedTime”:”2022-011-18T14:23:27Z”,
“taggedTimeLocal”:”2022-011-18T14:23:27Z “,
“scannerAlias”:”Dariya”,
“locationPrimary”:”Evolv Technology HQ”,
“locationSecondary”:”Main Door”,
“notification_time”:2022-011-18T14:23:27Z”,
“delivery_time”:2022-011-18T14:23:27Z”,
“read_time”:null,”status”:”DELIVERED”,”images”:[]

Example Verified Benign (or Threat) Alert response

The following Verified Benign Alert example is for reference only and reflects test data. Information for a Verified Threat will carry parameters that reflect the tagged alert type as a Threat. This will include different alertType and alertTag that will reflect Threat tags.
“id”:702384,”customer_id”:”AppTest”,
“scanner_name”:”EXPR50007″,
“notification_type_id”:7,
“body”:{“alarmTime”:”2022-011-18T14:23:27Z “,
“alarmTimeLocal”:”220510084314800000″,
“alertId”:”EXPR50007_220510124314050_S1111111_098″,
“alertType”:”BENIGN”,
“alertTag”:”umbrella”,
“jpegImages”:null,”lane”:””,
“message”:””,
“scanId”:”EXPR50007_220510124314050_S1152707″,
“scannerId”:”b1a487d9-18b8-49da-8818-1213b48711ac”,
“scannerName”:”EXPR50007″,
“taggedTime”:”22022-011-18T14:23:27Z “,
“taggedTimeLocal”:”2022-011-18T14:23:27Z “,
“scannerAlias”:”Dariya”,
“locationPrimary”:”Evolv Technology HQ”,”locationSecondary”:”Main Door”,
“notification_time”:1652186623000,”delivery_time”:2022-011-18T14:23:27Z”,
“read_time”:null,”status”:”DELIVERED”,
“images”:[{“id”:1927,”name”:”EXPR50007_220510124314050_S1111111_098-0.jpeg”},
{“id”:1928,”name”:”EXPR50007_220510124314050_S1111111_098-1.jpeg”}]}]

API Get Request to Receive an Image

The integration can create an API get request using the API URL, Parameters, and Authorization Header to receive an image from a Benign Alert, Verified Threat or Unverified Alert. The image name will be included in the response of the notification. The following examples can be used to create requests.

API URL
https://apis.evolvdevelopment.com/integration/v1/notification-images?

Parameters
image_name={EXPR50007_220510124314050_S1111111_098-0.jpeg}

Authorization Header
-H ‘accept: /’ \
-H ‘X-Evolv-Auth:
API GET Request requesting an image:
curl -X ‘GET’
\
https://apis.evolvdevelopment.com/integration/v1/notification- images/EXPR50007_
220510124314050_S1111111_098-0.jpeg’
\
-H ‘accept: /’ \
-H ‘X-Evolv-Auth:
Access the URL returned with a successful response to download the requested image file.

API Get Request for a Failed Response

When a Get Request fails, details about why the responses failed will be included in a message. These responses will indicate the parameter that is invalid.

Examples of failed responses include:

  • The token is invalid
  • The scanner is invalid
  • The notification type is invalid
  • The image name is invalid

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals