CAP Message Protocol
The Common Alerting Protocol (CAP) is a standardized format for emergency alerts. Optoma Management Suite (OMS) supports broadcasting emergency messages using CAP format to alert target devices in environments like schools, offices, or public spaces.
How to Use OMS CAP
Step 1 : Setup in OMS
• Go to: Broadcast > CAP Message
• Define the target Device / Group / Location
• Create a CAP message with a custom name
• After creation, OMS provides:
• CAP URL
Payload (XML format) (Optional)
Basic Auth credentials (username/password)
Step 2 : Integrate Webhook
• To push CAP messages via webhook, include:
• URL: OMS_CAP_URL
• Basic Authorization (username, password)
• Body/Payload: CAP content
Request
URL: OMS_CAP_URL
Method: POST
Authorization: Basic Authorization (username, password)
Content-Type: application/xml
Body/Payload: CAP content
Response
{
"IsSuccess": boolean, // success or failed
"SuccessData": Array<object> // results of OMS
"ErrorCode": number, // None = 0, InvalidOperation = 1, OperationFailed = 2, InvalidInput = 3, XmlError = 4
"ErrorInfo": string // human-readable
}
Body/Payload (XML Example) (Optional)
Below is a sample XML payload used when sending a CAP message via OMS webhook:
<alert xmlns="urn:oasis:names:tc:emergency:cap:1.2">
<identifier>00000000-0000-0000-0000-000000000000</identifier>
<sender>VENDOR</sender>
<sent>2025-03-18T09:59:22+00:00</sent>
<status>Actual</status>
<msgType>Alert</msgType>
<info>
<event>Alert</event>
<senderName>VENDOR_NAME</senderName>
<headline>HEADLINE</headline>
<description>DESCRIPTION</description>
<category>Safety</category>
<urgency>Unknown</urgency>
<severity>Unknown</severity>
<certainty>Unknown</certainty>
</info>
</alert>
Below is fields and description.(Fields marked with an asterisk (*) influence the broadcasting message of the OMS.)
| Field | Description |
| identifier | The identifier of the alert message |
| sender | The identifier of the sender of the alert message |
| sent | The time and date of the origination of the alert message |
| status | The code denoting the appropriate handling of the alert message |
| *msgType | 'Alert' to trigger message, 'Cancel' to stop it |
| *headline | Displayed message content on OMS devices |
| *description | Displayed message content on OMS devices |