motorola Concealed Weapons Detection Custom API Integration User Guide
- June 12, 2024
- Motorola
Table of Contents
- motorola Concealed Weapons Detection Custom API Integration
- Product Usage Instructions
- Introduction
- Open API Custom Integrations
- Testing a Custom Integration
- Example Verified Benign (or Threat) Alert response
- API Get Request to Receive an Image
- API Get Request for a Failed Response
- References
- Read User Manual Online (PDF format)
- Download This Manual (PDF format)
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:
- Click the gear icon on the top menu to access Account Settings.
- Select “Integrations” from the left menu.
- Select the “Custom” tab.
Adding a Custom Integration
- Under the “Custom” tab, click “Add Custom Integration”.
- Enter a name for the integration.
- Enter an expiry date for the integration (optional).
- Click “Save”.
- Toggle “Enable Images” if you want to store images according to the retention policy.
- Toggle “Enable Unverified Alerts” if you agree to operate the system as intended.
- Click “Enable”.
- Select the scanners to receive alerts from.
- Click “Save”.
- Enter the provided username and password to authenticate.
Refreshing a Custom Integration
- Under “Integration Actions”, click “Refresh Integration”.
- In the pop-up window, click “Refresh API Key” to update the Custom Integration.
Removing a Custom Integration
- Under “Integration Actions”, click “Remove Integration”.
- 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.
- To access Account Settings, click the gear icon on the top menu.
- Select Integrations, from the left menu.
- Select the Custom tab.
Adding a Custom Integration
- Under the Custom tab, click Add Custom Integration.
- Enter a name for the integration.
- Enter an expiry date for the integration. Does not expire if the default.
- Click Save.
- 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.
- 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.
- Click Enable.
- Select the scanners to have alerts sent to the system.
- Click Save.
- Enter the username and password, provided by MSI, to authenticate.
Refreshing a Custom Integration
- Under Integration Actions, click Refresh Integration.
- In the pop-up window, click Refresh API Key. This updates the Custom Integration.
Removing a Custom Integration
- Under Integration Actions, click Remove Integration.
- 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¬ification_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.
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¬ification_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) >>