Note: This page has not yet been converted to the new developer portal format. Please use Swagger to test this API.
Notifications Overview
The Notifications API can be
used to create or stop “SendNow” notifications and to query the state of any active or
historical notifications.
For creating and editing scheduled or recurring notifications, see the Launch
Policies API.
Notes for the "confirm" attribute of "broadcastSettings"
node:
1 When sending a
Conference notification via the API, the confirm flag is controlled by the user. If you pass null or false
as the value of "confirm" attribute or do not include "confirm" attribute at all, the
confirm flag for your notification will be set to No. The best practice is to includ the "confirm"
attribute and set the value to true for Conference notification.
2 For Polling
notifications, the confirm flag is used to control SMS Call Back. If the confirm flag is on, then it means
it requires a call back to respond and the choices will not be displayed in SMS texts. The best practice is
to set the confirm flag to false for Polling notifications.
3 When sending
Conference and Polling notifications via API, the voice mail option is controlld by the user, but the best
practice is to set the Message With Confirmation: "voiceMailOption":
"MESSAGE_WITH_CONFIRMATION".
If the organization has enabled "Allow Separate Email Content" from organization settings,
attribute "rtfContent" which is in the "message" node, can be used to deliver HTML
format content to Email paths.
NOTE: To create or update a notification, both PathId and Id (internal Id) of deliverPaths are required. These values can be obtained by using the contactPaths API.
*broadcastSettings.
deliveryPathOrder: The value of deliveryPathOrder can be Organization, Contact, or Custom.
It is "Contact" by default for ignorable case.
If it is "Custom", the path order will follow the sequence in the
deliverPaths list (the next attribute; for example, the client can move a specific path ahead or behind in
the list)
Base Object
Notification Base Object Fields
Field | Data Type | Read Only | Notes |
---|---|---|---|
type | string | One of: ◊ Standard ◊ Polling ◊ Quota ◊ Conference | |
priority | string | One of: ◊ NonPriority ◊ Priority | |
notificationStatus | strng | x | One of: ◊ Completed ◊ Inprogress ◊ Stopped |
source | string | x | One of: ◊ Web ◊ API ◊ Mobile |
launchtype | string | One of: ◊ SendNow ◊ Recurring ◊ Schedule | |
createdName | string | x | First and last name of the user that created this notification. |
lastModifiedName | string | x | First and last name of the user that last modified this notification. |
productSource | string | x | Which EB Suite product sent this notification : MN or IC. |
processedBy | string | x | Internal Field to be disregarded. |
broadcastContacts | object | See Broadcast Contacts . | |
notificationResult | object | See Notification Results . | |
message | object | See Notification Messages . | |
broadcastSettings | object | See Broadcast Settings Fields . | |
event | object | See Notification Events | |
publicMessages | object | CMAS/IPAWS | |
id | long | x | The notification ID. |
startDate | long | x | Unix epoch date/time when the notification was sent. |
endDate | long | x | Unix epoch date/time when the notification's duration expired or it was stopped. |
notificationEventId | long | The internal ID of the event this notification is tagged to. | |
batchNotificationId | long | Account level cross organization notification’s ID. | |
stoppedBy | long | Internal ID of the user that stopped the notification (if applicable). | |
createdDate | long | x | Unix epoch date/time when the notification was created. |
createdId | long | x | Internal ID of the user that created this notification. |
lastModifiedDate | long | x | Unix epoch date/time when the notification was last modified. |
lastModifiedId | long | x | Internal ID of the user that last modified this notification. |
accountId | long | x | The ID of the account that owns this resource. |
resourceBundleId | long | x | The ID of the Role which owns this resource. |
organizationId | long | x | The ID of the organization to which this notification belongs. |
transformed | x | Internal field that can be disregarded. | |
hasNotification | x | Internal field that can be disregarded. | |
oldAwareCAMPID | x | Internal field that can be disregarded. | |
status | string | x | The status of the object. All records returned by the API should have a status of 'A' indicating that the record is active and has not been deleted. Deleted records of any type are invisible to the API. |
Notification Data Model
{
"status": "A",
"createdId": 8800387989515,
"createdName": "Misher Yang",
"lastModifiedId": 8800387989515,
"lastModifiedName": "Misher Yang",
"createdDate": 1353223341025,
"lastModifiedDate": 1353223341025,
"organizationId": 8800387989534,
"id": 1464553783164960,
"priority": "NonPriority",
"enableLifeSafety": true,
"type": "Standard",
"message": {
"createdId": 0,
"lastModifiedId": 0,
"organizationId": 0,
"id": 0,
"contentType": "Text",
"title": "To test Launch Policies in API POST",
"textMessage": "To test Launch Policies in API with one-time scheduled notification",
"rtfContent": "<html><body><img src='/icon.gif'/><p style='color:red'>This is an emergency notification!</p>.....</body></html>",
"conferenceBridgeId": 0
},
"broadcastContacts": {
"contactIds": [
241896853078107
],
"contactSearchType": "AllAnd"
},
"broadcastSettings": {
"senderEmail": "[email protected]",
"senderCallerInfos": [
{
"createdId": 0,
"lastModifiedId": 0,
"organizationId": 0,
"id": 0,
"countryCode": "US",
"countryName": "United States",
"callerId": "6172725854",
"isDefault": true
}
],
"throttle": false,
"throttlDefaultAmount": 0,
"confirm": true,
"smsCallBack": false,
"contactCycles": 1,
"duration": 1,
"deliveryMethodInterval": 0,
"cycleInterval": 0,
"requirePinForMessage": false,
"voiceMailOption": "MESSAGE_ONLY",
"language": "en_US",
"bookConference": false,
"recipientApp": true,
"mobileSettings": {
"pushAlertEnabled": false,
"requestImage": true,
"requestLocation": true,
"allowShare": false,
"requireConfirm": true,
"requestComment": true
},
"deliveryPathOrder": "Custom",
"deliverPaths": [
{
"status": "A",
"createdId": 8800387989515,
"createdName": "Misher Yang",
"lastModifiedId": 8800387989515,
"lastModifiedName": "Misher Yang",
"createdDate": 1347679964473,
"lastModifiedDate": 1347679965648,
"organizationId": 8800387989534,
"id": 4402341481755,
"awarePathId": 1682262,
"pathId": 219910915489806,
"prompt": "Email1",
"seq": 2,
"isDefault": true,
"expose": false,
"mandatory": false,
"editable": false,
"extRequired": false,
"displayFlag": false,
"default": true
}
]
},
"source": "API",
"launchtype": "SendNow",
"startDate": 1353223341025,
"endDate": 1353226941025,
"notificationStatus": "Completed",
"oldAwareCAMPID": 4839782,
"notificationResult": {
"notificationId": 1464553783164960,
"totalCount": 1,
"confirmedCount": 0,
"notConfirmedCount": 1,
"unreachableCount": 0,
"confirmedLateCount": 0
},
"stoppedBy": 0
}
Optional Notification Data Model
NOTE: This is the same behavior for the launchPolicy and broadcastTemplate. The "broadcastSettings" object may only include the attributes that need to be updated in this Notification operation. Notification API will populate the values for unspecified "broadcastSettings" attributes automatically from organization settings.
Notification with “broadcastSettings” object that includes only “senderEmail” and “deliverPaths”
Notification_partial_broadcastSettings
{
"status": "A",
"createdId": 8800387989515,
"createdName": "Misher Yang",
"lastModifiedId": 8800387989515,
"lastModifiedName": "Misher Yang",
"createdDate": 1353223341025,
"lastModifiedDate": 1353223341025,
"organizationId": 8800387989534,
"id": 1464553783164960,
"priority": "NonPriority",
"enableLifeSafety": true,
"type": "Standard",
"message": {
"createdId": 0,
"lastModifiedId": 0,
"organizationId": 0,
"id": 0,
"contentType": "Text",
"title": "To test Launch Policies in API POST",
"textMessage": "To test Launch Policies in API with one-time scheduled notification",
"conferenceBridgeId": 0
},
"broadcastContacts": {
"contactIds": [
241896853078107
],
"contactSearchType": "AllAnd"
},
"broadcastSettings": {
"senderEmail": "[email protected]",
"deliverPaths": [
{
"status": "A",
"createdId": 8800387989515,
"createdName": "Misher Yang",
"lastModifiedId": 8800387989515,
"lastModifiedName": "Misher Yang",
"createdDate": 1347679964473,
"lastModifiedDate": 1347679965648,
"organizationId": 8800387989534,
"id": 4402341481755,
"awarePathId": 1682262,
"pathId": 219910915489806,
"prompt": "Email1",
"seq": 2,
"isDefault": true,
"expose": false,
"mandatory": false,
"editable": false,
"extRequired": false,
"displayFlag": false,
"default": true
}
]
},
"source": "Api",
"launchtype": "SendNow",
"startDate": 1353223341025,
"endDate": 1353226941025,
"notificationStatus": "Completed",
"oldAwareCAMPID": 4839782,
"notificationResult": {
"notificationId": 1464553783164960,
"totalCount": 1,
"confirmedCount": 0,
"notConfirmedCount": 1,
"unreachableCount": 0,
"confirmedLateCount": 0
},
"stoppedBy": 0
}
Notification without the “broadcastSettings” object
notification_without_broadcastSettings.js
{
"status": "A",
"createdId": 8800387989515,
"createdName": "Misher Yang",
"lastModifiedId": 8800387989515,
"lastModifiedName": "Misher Yang",
"createdDate": 1353223341025,
"lastModifiedDate": 1353223341025,
"organizationId": 8800387989534,
"id": 1464553783164960,
"priority": "NonPriority",
"enableLifeSafety": true,
"type": "Standard",
"message": {
"createdId": 0,
"lastModifiedId": 0,
"organizationId": 0,
"id": 0,
"contentType": "Text",
"title": "To test Launch Policies in API POST",
"textMessage": "To test Launch Policies in API with one-time scheduled notification",
"conferenceBridgeId": 0
},
"broadcastContacts": {
"contactIds": [
241896853078107
],
"contactSearchType": "AllAnd"
},
"source": "API",
"launchtype": "SendNow",
"startDate": 1353223341025,
"endDate": 1353226941025,
"notificationStatus": "Completed",
"oldAwareCAMPID": 4839782,
"notificationResult": {
"notificationId": 1464553783164960,
"totalCount": 1,
"confirmedCount": 0,
"notConfirmedCount": 1,
"unreachableCount": 0,
"confirmedLateCount": 0
},
"stoppedBy": 0
}
Notification&LaunchPolicy with the “notification mode” - support feature”
Since Version | 22.3.0 |
Add or Remove | Add |
JSON Field | notificationMode |
Value Type | String |
Parent JSON field | notification root object/launchPolicy notification field |
Required | No |
Description | “Live” - for live simulation “Simulation” - for simulated notification |
Notification and Notification Template with the “rcna feature” enabled for broadcastContacts
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | naResidentContacts |
Value Type | Object |
Parent JSON field | broadcastContacts |
Required | No |
Description | rcna info which is contains residentIds and businessIds and filterIds. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | residentIds |
Value Type | List |
Parent JSON field | naResidentContacts |
Required | No |
Description | A list of resident IDs to use when selecting contacts. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | businessds |
Value Type | List |
Parent JSON field | naResidentContacts |
Required | No |
Description | A list of business IDs to use when selecting contacts. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | filterIds |
Value Type | List |
Parent JSON field | naResidentContacts |
Required | No |
Description | A list of rcna rule IDs to use when selecting contacts. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | boundaryId |
Value Type | String |
Parent JSON field | searchShapes |
Required | No |
Description | The ID for uising a boundary to select contacts. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | residentContactTypes |
Value Type | List |
Parent JSON field | searchShapes |
Required | No |
Description | The rcna search types of the shape. Available values: RESIDENTIAL,BUSINESS. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | residentFilterRulesInMap |
Value Type | Object |
Parent JSON field | broadcastContacts |
Required | No |
Description | The resident Filter rules in the map. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | businessFilterRulesInMap |
Value Type | Object |
Parent JSON field | broadcastContacts |
Required | No |
Description | The business Filter rules in the map. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | residentContactType |
Value Type | List |
Parent JSON field | residentFilterRulesInMap |
Required | No |
Description | The rcna contact types of the filter rule. Available values : RESIDENTIAL,BUSINESS. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | childFilters |
Value Type | List |
Parent JSON field | residentFilterRulesInMap |
Required | No |
Description | The child filter rules list. The logic between each child rules is or. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | contactFilterRules |
Value Type | List |
Parent JSON field | childFilters |
Required | No |
Description | The contact filter rules.The logic between each child rules is and. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | pathFilterRules |
Value Type | List<List> |
Parent JSON field | childFilters |
Required | No |
Description | The deliver path filter rules.The logic between each child rules is and. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | fieldName |
Value Type | String |
Parent JSON field | contactFilterRules |
Required | No |
Description | Available values: firstName,lastName,middleName,address.streetAddress,address.suite,address.city, address.county,address.state,address.postalCode,address.country,businessName |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | fieldValue |
Value Type | String |
Parent JSON field | contactFilterRules |
Required | No |
Description | The contact field value for each rcna filter rule. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | filterOperator |
Value Type | FilterOperator |
Parent JSON field | contactFilterRules |
Required | No |
Description | Available values: IN,GT,GTE,LT,LTE,EQUAL,NOT_EQUAL,START_WITH,END_WITH, CONTAIN,DOES_NOT_CONTAIN |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | fieldName |
Value Type | String |
Parent JSON field | pathFilterRules |
Required | No |
Description | Available values: methodType,value |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | fieldValue |
Value Type | String |
Parent JSON field | pathFilterRules |
Required | No |
Description | Available values: Wireless,Landline,VOIP when fieldName is methodType. The delivery path field value for each rcna filter rule when fieldName is value. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | filterOperator |
Value Type | FilterOpterator |
Parent JSON field | pathFilterRules |
Required | No |
Description | Available values: IN,GT,GTE,LT,LTE,EQUAL,NOT_EQUAL,START_WITH,END_WITH, CONTAIN,DOES_NOT_CONTAIN. |
Since Version | 21.4.0 |
Add or Remove | Add |
JSON Field | fieldContext |
Value Type | String |
Parent JSON field | pathFilterRules |
Required | No |
Description | Available values: paths,empty string |
Sample JSON
{
"message": "OK",
"result": {
"startDate": 1674823609848,
"accountId": 1536846672691202,
"broadcastContacts": {
"contactIds": [
426680841666562
],
"contactSearchType": "AllOr",
"sequenceGroupEnabled": false,
"defaultSeqGroupQuota": 1,
"sequenceGroupInterval": 5,
"enableGroupCalendar": false,
"enableSendToSubscribers": false
},
"incidentPhase": {
"createdName": "Vishal Agrawal",
"incidentId": 591470146880507,
"accountId": 1536846672691202,
"status": "A",
"resourceBundleId": 1536984111644675,
"organizationId": 1536984111644674,
"id": 10011,
"notificationId": -1,
"phaseTemplate": {
"templateId": 1536984111644674,
"templateName": "Readme Testing",
"name": "New",
"messageFlag": 3,
"contactsFlag": 3,
"settingsFlag": 3,
"publishOptionsFlag": {
"desktopAlerts": 1,
"webWidget": 1,
"network": 1,
"alertUs": 1,
"webPosting": 1,
"socialMedia": 1,
"nixleChannel": 1,
"abb": 1,
"memberPortal": 1,
"ipawsCap": 1
},
"phaseDefinitions": [
{
"id": 1001,
"status": "A",
"isDefault": false,
"name": "New",
"seq": 0
}
],
"formTemplate": {
"subject": "Readme Testing",
"formVariableItems": [
{
"val": [
"Testing"
],
"variableName": "Status",
"isRequired": true,
"seq": 1,
"variableId": 591470146879515,
"prefixName": "1"
},
{
"val": [
"High"
],
"variableName": "Priority",
"isRequired": false,
"seq": 2,
"variableId": 591470146879516,
"prefixName": "1"
}
],
"sysVarTodayDateFormat": "mm-dd-yyyy",
"sysVarCurrentTimeFormat": "HH:mm:ss"
},
"broadcastTemplate": {
"accountId": 0,
"broadcastContacts": {
"contactIds": [
426680841666562
],
"contactSearchType": "AllOr",
"sequenceGroupEnabled": false,
"defaultSeqGroupQuota": 1,
"sequenceGroupInterval": 5,
"enableGroupCalendar": false,
"enableSendToSubscribers": false
},
"resourceBundleId": 0,
"organizationId": 0,
"publicMessages": {},
"type": "Standard",
"id": 0,
"message": {
"accountId": 1536846672691202,
"organizationId": 1536984111644674,
"contentType": "Text",
"id": 0,
"title": "Readme Testing",
"textMessage": "Status: Testing \r\nPriority: High ",
"conferenceBridgeId": 0,
"createdDate": 1674823609743,
"createdName": "Vishal Agrawal",
"status": "A",
"resourceBundleId": 1536984111644675,
"lastModifiedDate": 1674823609743,
"lastModifiedId": 1530249602924607,
"createdId": 1530249602924607,
"lastModifiedName": "Vishal Agrawal",
"useCustomEmail": false,
"useCustomSms": false
},
"broadcastSettings": {
"voiceMailOption": "MESSAGE_ONLY",
"throttlDefaultAmount": 0,
"throttle": false,
"mobileSettings": {
"requestComment": false,
"requestImage": false,
"requestLocation": false,
"allowShare": false,
"requireConfirm": false,
"pushAlertEnabled": false
},
"deliverPaths": [
{
"accountId": 1536846672691202,
"pathId": 241901148045316,
"organizationId": 1536984111644674,
"awarePathId": 0,
"id": 589820879437825,
"expose": false,
"isDefault": true,
"createdDate": 1674823177533,
"createdName": "Vishal Agrawal",
"status": "A",
"mandatory": false,
"resourceBundleId": 1536984111644675,
"editable": false,
"seq": 1,
"lastModifiedDate": 1674823192141,
"lastModifiedId": 1530249602924607,
"createdId": 1530249602924607,
"prompt": "Email",
"lastModifiedName": "Vishal Agrawal",
"extRequired": false,
"displayFlag": false,
"default": true
}
],
"requirePinForMessage": false,
"deliveryMethodInterval": 0,
"bookConference": false,
"cycleInterval": 0,
"duration": 1,
"senderCallerInfos": [
{
"countryName": "United States",
"accountId": 0,
"countryCode": "US",
"resourceBundleId": 0,
"organizationId": 0,
"id": 0,
"callerId": "7818646213",
"isDefault": true,
"createdId": 0,
"lastModifiedId": 0
}
],
"contactCycles": 1,
"language": "en_US",
"recipientApp": false,
"senderEmail": "SORCH Dev3",
"confirm": false,
"deliveryPathOrder": "Contact",
"enableSecureNotification": false,
"validateContacts": true,
"validateContactsByOrganization": false,
"enableRecord": false,
"enableSmartConferenceConfirmationText": true,
"enableBeep": true,
"quietTimeOverride": false
},
"priority": "NonPriority",
"lastModifiedId": 0,
"createdId": 0,
"useEscalation": false,
"enableLifeSafety": false
},
"ignoreVariable": false,
"evaluateAll": false,
"incidentNotificationPropertyBag": {
"enableExerciseMode": "false"
}
},
"name": "New",
"lastModifiedDate": 1674823609703,
"lastModifiedId": 1530249602924607,
"createdId": 1530249602924607,
"createdDate": 1674823609703,
"lastModifiedName": "Vishal Agrawal",
"phaseDefinition": {
"phaseNodeType": "Begin",
"id": 1001,
"incidentStatus": "Open",
"status": "A",
"isDefault": true,
"name": "New",
"seq": 100
}
},
"endDate": 1674827209848,
"transformed": true,
"organizationId": 1536984111644674,
"type": "Standard",
"id": 591470146880264,
"notificationStatus": "Completed",
"productSource": "Matrix",
"priority": "NonPriority",
"oldAwareCAMPID": 0,
"createdDate": 1674823609798,
"hasNotification": true,
"createdName": "Vishal Agrawal",
"status": "A",
"notificationResult": {
"notificationId": 0,
"unreachableCount": 0,
"confirmedCount": 0,
"totalCount": 1,
"confirmedLateCount": 0,
"notConfirmedCount": 1,
"allDetails": [
{
"id": 0,
"notificationId": 591470146880264,
"contactId": 426680841666562,
"result": "Sent",
"attemptTime": 1674823613439,
"firstAttemptTime": 1674823613439,
"fullName": "Vishal Agrawal",
"firstName": "Vishal",
"lastName": "Agrawal",
"attempt": 0,
"externalId": "[email protected]",
"createdId": 1530249602924607,
"callResultByPaths": [
{
"journalId": 0,
"attemptId": "63d3c7bb0139ad08c9997fed",
"attemptOrder": 1,
"attemptTime": 1674823613439,
"waitTime": 0,
"countryCode": "IN",
"cycleSeq": 1,
"path": "Email",
"pathText": "[email protected]",
"callResult": "Sent",
"firstName": "Vishal",
"lastName": "Agrawal",
"confirmed": false
}
],
"confirmed": false
}
]
},
"resourceBundleId": 1536984111644675,
"launchtype": "SendNow",
"publicMessages": {},
"message": {
"accountId": 1536846672691202,
"organizationId": 1536984111644674,
"contentType": "Text",
"id": 0,
"title": "Readme Testing",
"textMessage": "Status: Testing \r\nPriority: High ",
"conferenceBridgeId": 0,
"createdDate": 1674823609743,
"createdName": "Vishal Agrawal",
"status": "A",
"resourceBundleId": 1536984111644675,
"lastModifiedDate": 1674823609743,
"lastModifiedId": 1530249602924607,
"createdId": 1530249602924607,
"lastModifiedName": "Vishal Agrawal",
"useCustomEmail": false,
"useCustomSms": false
},
"broadcastSettings": {
"voiceMailOption": "MESSAGE_ONLY",
"throttlDefaultAmount": 0,
"throttle": false,
"mobileSettings": {
"requestComment": false,
"requestImage": false,
"requestLocation": false,
"allowShare": false,
"requireConfirm": false,
"pushAlertEnabled": false
},
"deliverPaths": [
{
"accountId": 1536846672691202,
"pathId": 241901148045316,
"organizationId": 1536984111644674,
"awarePathId": 0,
"id": 589820879437825,
"expose": false,
"isDefault": true,
"createdDate": 1674823177533,
"createdName": "Vishal Agrawal",
"status": "A",
"mandatory": false,
"resourceBundleId": 1536984111644675,
"editable": false,
"seq": 1,
"lastModifiedDate": 1674823192141,
"lastModifiedId": 1530249602924607,
"createdId": 1530249602924607,
"prompt": "Email",
"lastModifiedName": "Vishal Agrawal",
"extRequired": false,
"displayFlag": false,
"default": true
}
],
"requirePinForMessage": false,
"deliveryMethodInterval": 0,
"bookConference": false,
"cycleInterval": 0,
"duration": 1,
"senderCallerInfos": [
{
"countryName": "United States",
"accountId": 0,
"countryCode": "US",
"resourceBundleId": 0,
"organizationId": 0,
"id": 0,
"callerId": "7818646213",
"isDefault": true,
"createdId": 0,
"lastModifiedId": 0
}
],
"contactCycles": 1,
"language": "en_US",
"recipientApp": false,
"senderEmail": "SORCH Dev3",
"confirm": false,
"deliveryPathOrder": "Contact",
"enableSecureNotification": false,
"validateContacts": true,
"validateContactsByOrganization": false,
"enableRecord": false,
"enableSmartConferenceConfirmationText": true,
"enableBeep": true,
"quietTimeOverride": false
},
"sourceTemplateId": 0,
"source": "Web",
"notificationName": "Readme Testing",
"batchNotificationId": 0,
"stoppedBy": 0,
"lastModifiedDate": 1674827220088,
"lastModifiedId": 1530249602924607,
"createdId": 1530249602924607,
"processedBy": "schedule-task-dev3-green-i-026dbaf0eea0f3e89",
"lastModifiedName": "Vishal Agrawal",
"incident": {
"accountId": 1536846672691202,
"organizationId": 1536984111644674,
"id": 591470146880507,
"incidentStatus": "Open",
"name": "Readme Testing",
"createdDate": 1674823609695,
"hasJournal": false,
"createdName": "Vishal Agrawal",
"status": "A",
"resourceBundleId": 1536984111644675,
"duration": 0,
"createdId": 1530249602924607,
"lastModifiedId": 1530249602924607,
"lastModifiedDate": 1674823609695,
"phaseStatus": {
"phaseNodeType": "Begin",
"id": 1001,
"incidentStatus": "Open",
"status": "A",
"isDefault": true,
"name": "New",
"seq": 100
},
"incidentType": "Incident",
"lastModifiedName": "Vishal Agrawal",
"useTemplateVarValue": false,
"enableMessageTruncate": false,
"incidentMode": "Live"
},
"escalationConfirmedCount": 0,
"escalatedNotification": false,
"enableLifeSafety": false,
"enableMessageTruncate": false,
"notificationMode": "Live"
}
}
Notification and Notification Template with the “web widget message” enabled for publish message
Since Version | 21.0 |
Add or Remove | Add |
JSON Field | webWidgetMessage |
Value Type | Object |
Parent JSON field | publicMessage |
Required | No |
Description | This is the web widget message in the publish message. |
Since Version | 21.0 |
Add or Remove | Add |
JSON Field | useSameDurationAsNotification |
Value Type | Boolean |
Parent JSON field | webWidgetMessage |
Required | No |
Description | If useSameDurationAsNotification is true, this value should comes from the broadcastSettings duration. If useSameDurationAsNotification is false, this value should calculated by customDuration and customTimeUnit. |
Since Version | 21.0 |
Add or Remove | Add |
JSON Field | customDuration |
Value Type | int |
Parent JSON field | webWidgetMessage |
Required | No |
Description | The custom duration for web widget message. |
Since Version | 21.0 |
Add or Remove | Add |
JSON Field | customTimeUnit |
Value Type | String |
Parent JSON field | webWidgetMessage |
Required | No |
Description | The custom timeunit for web widget message. |
Sample JSON
"publicMessages": {
"webWidgetMessage": {
"useSameDurationAsNotification": false,
"customDuration": 1,
"customTimeUnit": "Days"
}
}
Notification and Notification Template with the “desktop alert message” enabled for publish message
Since Version | 21.0 |
Add or Remove | Add |
JSON Field | desktopAlertMessage |
Value Type | Object |
Parent JSON field | publicMessages |
Required | No |
Description | This is the desktop alert message in the publish message. |
Since Version | 21.0 |
Add or Remove | Add |
JSON Field | templateId |
Value Type | String |
Parent JSON field | desktopAlertMessage |
Required | No |
Description | The templateId for desktop alert message. |
Since Version | 21.0 |
Add or Remove | Add |
JSON Field | useSameDurationAsNotification |
Value Type | Boolean |
Parent JSON field | desktopAlertMessage |
Required | No |
Description | If useSameDurationAsNotification is true, this value should comes from the broadcastSettings duration. If useSameDurationAsNotification is false, this value should calculated by customDuration and customTimeUnit. |
Since Version | 21.0 |
Add or Remove | Add |
JSON Field | customDuration |
Value Type | int |
Parent JSON field | desktopAlertMessage |
Required | No |
Description | The custom duration for desktop alert message. |
Since Version | 21.0 |
Add or Remove | Add |
JSON Field | customTimeUnit |
Value Type | String |
Parent JSON field | desktopAlertMessage |
Required | No |
Description | The custom timeunit for desktop alert message. |
Sample JSON
"publicMessages": {
"desktopAlertMessage": {
"templateId": "1",
"useSameDurationAsNotification": false,
"customDuration": 15,
"customTimeUnit": "Minutes"
}
}
Notification, NotificationTemplate, and LaunchPolicy with the “separate sms field” enabled
Since Version | 20.2.0 |
Add or Remove | Add |
JSON Field | useCustomSms |
Value Type | Boolean |
Parent JSON field | message |
Required | No |
Description | When this option is true, it will create a separate message for SMS delivery methods. |
Since Version | 20.2.0 |
Add or Remove | Add |
JSON Field | useSmsWebLink |
Value Type | Boolean |
Parent JSON field | message |
Required | No |
Description | When this option is true, a link will be added to the end of your SMS to view your Web Page Message. |
Since Version | 20.2.0 |
Add or Remove | Add |
JSON Field | useSmsPrefix |
Value Type | Boolean |
Parent JSON field | message |
Required | No |
Description | When this option is true, a separate message will start with the SMS Message Prefix set in the org smsoptions settings. |
Since Version | 20.2.0 |
Add or Remove | Add |
JSON Field | textSmsMessage |
Value Type | String |
Parent JSON field | message |
Required | No |
Description | The content for separate message for SMS delivery methods. |
Since Version | 20.2.0 |
Add or Remove | Add |
JSON Field | textSmsWebPageMessage |
Value Type | String |
Parent JSON field | message |
Required | No |
Description | The content for the Web Page Message. |
Notification, NotificationTemplate, and
LaunchPolicy with the “residents” enabled.
Since Version | 9.3.0 |
Add or Remove | Add |
JSON Field | residents |
Value Type | Object "residents": { "searchBySearchShapes": true} |
Parent JSON field | broadcastContacts |
Description | Supports UMS residents query with polygons, so use ebsuite field "searchShapes" to transmit polygons data and add residents.searchBySearchShapes=true to represent UMS residents query to distinguish from normal polygons query. |
Since Version | 9.4.0 |
Add or Remove | Add |
JSON Field | umsPatterns |
Value Type | Object { "searchBySearchShapes": true, "umsPatterns": [ { "pattern": String, "values": [{}] } ] } |
Parent JSON field | residents |
Request Body | "umsPatterns":[{ "pattern": "riksnyckel", "values": [ { "unr": "2001" } ] } ] |
Patterns: street matrikkel fastighetsnyckel riksnyckel | Values: "kommune": required & numeric value "gateid": required & numeric value "husnr": optional & numeric value "bokstav": optional & a letter, just one character "apartmentid": optional & a combination of characters and numbers "kommune": required & numeric value "gnr": required & numeric value "bnr": required & numeric value "fnr": optional & numeric value "snr":required & numeric value "nr": optional & numeric value "suffix": optional & a letter, just one character "apartment": optional & a combination of characters and numbers "unr": required & numeric value |
When using: PUT /notificationTemplates/{organizationId}/{instanceId} PUT /launchPolicies/{organizationId}/{instanceId} these two APIs to update notificationTemplate and LaunchPolicies with umsPatterns in residents: 1. When no umsPatterns field or umsPatterns is null: no influence to old record. 2. When umsPatterns is []: will remove all old records 3. Else will update the related record. |
Request Body
{
"broadcastContacts":{
"searchShapes":[
{
"shape":{
"points":[
{
"y":39.94399565901895,
"x":116.36194962262458
},
{
"y":39.94414988701187,
"x":116.36216151713502
}
]
},
"include":true
}
}
],
"residents":{
"searchBySearchShapes":true
}
}
Notification, NotificationTemplate, and LaunchPolicy with the “residents” enabled
Since Version | 9.3.0 |
Add or Remove | Add |
JSON Field | residents |
Value Type | Object "residents": { "searchBySearchShapes": true} |
Parent JSON field | broadcastContacts |
Description | This version needs to support UMS residents query with polygons, so use ebsuite field "searchShapes" to transmit polygons data, and add residents.searchBySearchShapes=true to represent UMS residents query to distinguish with normal polygons query. |
Request Body
Resident Request
{
......
"broadcastContacts": {
.....
"searchShapes": [
{
"shape": {
"points": [
{
"y": 39.944172507088574,
"x": 116.36190402507502
},
{
"y": 39.94399565901895,
"x": 116.36194962262458
},
{
"y": 39.94414988701187,
"x": 116.36216151713502
},
{
"y": 39.94420540900411,
"x": 116.36217492818272
},
{
"y": 39.94420746537373,
"x": 116.36217492818272
},
{
"y": 39.944172507088574,
"x": 116.36190402507502
}
]
},
"include": true
}
],
//added this version
"residents": {
"searchBySearchShapes": true
}
......
}
.......
}
Since Version | 9.4.0 |
Add or Remove | Add |
JSON Field | umsPatterns |
Value Type | Object { "searchBySearchShapes": true, "umsPatterns": [ { "pattern": String, "values": [{}] } ] } |
Parent JSON field | residents |
Description | pattern has 4 values: street; matrikkel; fastighetsnyckel; riksnyckel Each type has related values (has diffrent fields and validation). See the table of values in Request Description . ◊ PUT /notificationTemplates/{organizationId}/{instanceId} ◊ PUT /launchPolicies/{organizationId}/{instanceId} Use these two APIs to update notificationTemplate and LaunchPolicies with umsPatterns in residents. When there is no umsPatterns field or the umsPatterns is null: no influence to old record. When umsPatterns is []: will remove all old records, else it will update the related record. |
Request Body
Resident Request
{
...........
"broadcastContacts": {
..........
"residents": {
"searchBySearchShapes": true,
"umsPatterns": [
{
"pattern": "riksnyckel",
"values": [
{
"unr": "2001"
}
]
}
]
}
.........
}
..........
}
Since Version | 20.3.0 |
Add or Remove | Add |
JSON Field | properties |
Value Type | { "properties":[ { "field":String, "values":[] }] } |
Parent JSON field | residents |
Description | The properties could include more additional fields. 1 entryType : Filter capability needs to be provided by address-service. 2 owner_type (only supported in the Norway region): Value Description R RESIDENT B OWNER B as in the Norwegian "Boligeier". Property owners of residential homes. F VACATION F as in the Norwegian "Fritidsbolig" . Owners of holiday houses (cabins etc.) supported by propertyFilter 3 Vulnerable: Not supported in current address service. It is only supported in company resident. |
Request Body
Properties in Residents
{
......
{
......
"residents": {
......
"properties": [{
"field": "Vulnerable",
"values": [false,true]
},{
"field": "owner_type",
"values":["F"]
},{
"field": "entryType",
"values": ["company","person"]
}]
......
}
......
}
......
}
Notification with the “escalation” enabled
Since Version | Add or Remove | JSON Field | Value Type | Parent JSON Field | Description |
---|---|---|---|---|---|
6.5.0 | Add | escalatedNotification | Boolean | Root of Notification | false: this notification is primary notification. true: this notification is triggered by escalation condition. |
6.5.0 | Add | escalationConfirmedCount | Number | Root of Notification | In incident and primary notification (while escalatedNotification=false), this field indicates all the confirmed number. In escalation level notification (while escalatedNotification=true), this field's value is always 0. |
6.5.0 | Add | escalationStatus | String | Root of Notification | Stopped, Inprogress, Completed. |
6.5.0 | Add | escalationEndDate | Number | Root of Notification | Notification End Date + escalationCondition'sWaitTime |
6.5.0 | Add | primaryNotificationId | Number | Root of Notification | While escalatedNotification=false, it is the same as the notification id. While escalatedNotification=true, it is the primary notification to which the escalation level belongs. |
The following sample JSON includes the escalation data from response.
{
"status": "A",
"createdId": 8800387989515,
"createdName": "Misher Yang",
"lastModifiedId": 8800387989515,
"lastModifiedName": "Misher Yang",
"createdDate": 1353223341025,
"lastModifiedDate": 1353223341025,
"organizationId": 8800387989534,
"id": 1464553783164960,
"priority": "NonPriority",
"escalatio
nEndDate": 1473754590063,
"escalationStatus": "Completed",
"escalationConfirmedCount": 0,
"primaryNotificationId": 470595271662850,
"escalatedNotification": false, // false means this is a primary level
notification and the triggeredEscalations includes
"triggeredEscalations": [
{
"index": 1,
"escalationName": "E K 1",
"escalationCondition": {
"waitTime": 1,
"timeUnit": "MINUTES"
},
"broadcastContacts": {
"groupIds": [
884054593372187
],
"contactSearchType": "AllOr",
"sequenceGroupEnabled": true,
"defaultSeqGroupQuota": 1,
"sequenceGroupInterval": 1
},
"notificationId": 457401132122160
}
]
"type": "Standard",
"message": {
"createdId": 0,
"lastModifiedId": 0,
"organizationId": 0,
"id": 0,
"contentType": "Text",
"title": "To test Launch Policies in API POST",
"textMessage": "To test Launch Policies in API with one-time scheduled
notification",
"conferenceBridgeId": 0
},
... ... ... ...
}
Notifications with the “publicMessages” enabled
{
"id": 0,
"priority": "NonPriority",
"broadcastContacts": {},
"message": {
"title": "title",
"textMessage": "Notification from API"
},
"type": "Standard",
"launchtype": "SendNow",
"broadcastSettings": {
"senderEmail": "limei.li",
"mobileSettings": {
"requestLocation": false,
"requestImage": false,
"requestComment": false,
"allowShare": false
},
"throttlDefaultAmount": 3,
"throttle": false,
"duration": 1,
"contactCycles": 1,
"cycleInterval": 0,
"deliveryMethodInterval": 0,
"confirm": true,
"language": "en_US",
"voiceMailOption": "MESSAGE_WITH_CONFIRMATION",
"senderCallerInfos": [
{
"countryName": "United States",
"countryCode": "US",
"isDefault": true,
"callerId": "7812345431"
}
],
"deliverPaths": [
{
"id": 444206992605413,
"pathId": 241901148045324
}
]
},
"publicMessages": {
"nixleAlertMessage": {
"event": "Mountain Rescue",
"urgency": "Expected",
"severity": "Moderate",
"certainty": "Unknown",
"category": "Rescue",
"expire": "8",
"smsMessage": "Mandatory Security Training",
"instructions": "There is a security training that we have to go through and security team needs proof that people take it. It’s a FedRAMP requirement.",
"action": "create",
"type": 2,
"applyZipCodeToEventGroups": false,
"community": {
"contactName": "Ellie Pei",
"contactEmail": "[email protected]",
"contactDivision": "Development",
"contactPhone": "123",
"regionIds": [
61289,
61291
],
"jurisdictionType": "some"
},
"eventGroups": [
25000881
]
},
"ipawsMessage": {
"comments": "put all used ipawsmessage fields in array fields except fileattachments. the detail of all fields(values,optional or required) in link: https://path.everbridge.com/display/DOC/Cap+Rss+Api+solution",
"fields": [
{
"field": "status",
"values": [
"Actual"
]
},
{
"field": "msgType",
"values": [
"Alert"
]
},
{
"field": "source",
"values": [
"000"
]
},
{
"field": "scope",
"values": [
"Private"
]
},
{
"field": "restriction",
"values": [
"000"
]
},
{
"field": "addresses",
"values": [
"00000"
]
},
{
"field": "category",
"values": [
"Geo"
]
},
{
"field": "urgency",
"values": [
"Immediate"
]
},
{
"field": "severity",
"values": [
"Extreme"
]
},
{
"field": "certainty",
"values": [
"Observed"
]
},
{
"field": "eventCode",
"values": [
"AVA"
]
},
{
"field": "event",
"values": [
"Avalanche Watch"
]
},
{
"field": "expires",
"values": [
"12"
]
},
{
"field": "senderName",
"values": [
""
]
},
{
"field": "headline",
"values": [
"8"
]
},
{
"field": "description",
"values": [
"000"
]
},
{
"field": "instruction",
"values": [
"0000"
]
},
{
"field": "web",
"values": [
"https://manager-qa1.everbridge.net/bcTemplates/new"
]
},
{
"field": "timezone",
"values": [
"AST"
]
},
{
"field": "areaDesc",
"values": [
"edede"
]
},
{
"field": "geocode",
"values": [
""
]
}
],
"fileAttachments": {
"fileId": "5a38dbbe221aeb604a88f5d9"
}
}
}
}
Broadcast Contacts
The Broadcast Contacts section
determines which contacts to be included in the broadcase and which to not include.
Broadcast Contacts Fields
Field | Data Type | Notes |
---|---|---|
contactIds | long | An array of internal contact IDs. |
excludedContactIds | long | An array of internal contact IDs to exclude. |
externalIds | string | An array of contact external IDs. |
filterIds | long | An array of rule/filter IDs. |
groupIds | long | An array of group IDs. |
Broadcast Contacts Example Body
Broadcast Settings
Whenever possible, it it
recommended that you do not specify custom broadcastSettings and use the organization defaults.
The reason for this is if you need to specify custom delivery paths for a
notification, not only do you need to include the pathId constant but also the internal ID of the delivery
path.
The internal ID is not visible anywhere other than through the /contactPaths
method.
Broadcast Settings Fields
Field | Data Type (Length) | Notes |
---|---|---|
bookConference | boolean | Internal Field to be disregarded. |
confirm | boolean | If true, the notification will ask for confirmation. |
contactCycles | int | The number of contact cycles to attempt. How long, in minutes, should the system wait before starting the next cycle. Specify 0, 1, 2, 5, then increments of 5 minutes up to a maximum of 60 minutes. |
cycleInterval | int | How long, in minutes, should the system wait before starting the next cycle. Specify 0, 1, 2, 5, then increments of 5 minutes up to a maximum of 60 minutes. |
deliverPaths | object[] | ◊ pathId: a valid delivery pathId ◊ id: the internal ID of the delivery path { "pathId": {pathId}, "id": {internalId} } |
deliveryMethodInterval | int | How long, in minutes, should the system wait before attempting to contact the next device. Specify 0, 1, 2, 3, 5, 10 or 15 minutes. |
deliveryPathOrder | string | One of: ◊ Contact - use the contact's preferred device order ◊ Organization - use the organization default device order ◊ Custom - one time custom device order |
duration | int | The duration the notification will be active. Specify the number of hours, 1-24. |
language | string | The language of the notification. One of: ◊ ar_SA ◊ da_DK ◊ de_DE ◊ en_GB ◊ en_US ◊ es_ES ◊ es_US ◊ fr_FR ◊ it_IT ◊ ja_JP ◊ no_NO ◊ pl_PL ◊ pt_PT ◊ ru_RU ◊ sv_SE ◊ zh_CN |
mobileSettings | object | ◊ requestComment: if true, Mobile Members are allowed to respond with text as a solicited message ◊ requestImage: if true, Mobile Members are allowed to send in a photo ◊ requestLocation: if true, Mobile Members may geotag themselves, if they've allowed GPS access on their device ◊ allowShare: if true, Mobile Members can share messages (e.g. email, Twitter, SMS) only if this option has been enabled at the organization level "mobileSettings": { "requestComment": true, "requestImage": true, "requestLocation": true, "allowShare": false } |
senderCallerInfos | object[] | An array of one or more caller ID objects. ◊ countryCode: must be a valid two character ISO country code ◊ callerId: a valid phone number to show as the caller ID { "countryCode": "US", "callerId": "8182309569" } |
senderEmail | string (80) | The display name on any emails that are sent. |
throttle | boolean | Whether the notification enabled the call throttling feature or not. |
throttleDefaultAmount | int | Call throttling default limit. |
Broadcast Settings Example Body
Launch Policies
The Launch Policies API is
used to create, query, and manage Scheduled and Recurring
notifications.
Launch Policy Fields
Field | Possible Values | Notes | Type Applies to |
---|---|---|---|
type | Recurring Schedule | The name of the Resource (constant). | All |
startDate | Unix epoch date/time | See tools for date/time conversion functions. | Schedule, Recurring |
endDate | Unix epoch date/time | See tools for date/time conversion functions | Recurring |
repeatType | YEARLY MONTHLY WEEKLY DAILY | The type of repeat function to send the notification. | Recurring |
repeatNumber | Integer greater than 0 | Repeat every N days, weeks, etc. | All recurring |
hour | 0-23 | Hour of th eday to send the notification. | All recurring |
minute | 0-59 | Minute of the hour to send the notification. | All recurring |
month | 1-12 | Month of the year to send the notification. | Recurring-YEARLY |
day | 1-31 | Day of the month of repeat on. | Recurring-YEARLY |
timezoneId | Any valid IANA Time Zone Database time zone identifier | e.g. America/Los Angeles | All |
weekDays | SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY | weekDays must be passed as an array of strings. e.g. "weekDays": [ "SUNDAY", "SATURDAY" ] | Recurring-WEEKLY |
Minimum Requirements for Launch Policies POST or PUT
Examples for each of the options include:
◊ Daily Recurring
ex. Daily reminder to clock out at the end of your shift sent at 4PM each day
and sent to all hourly employees.
◊ Weekly Recurring
ex. Weekly team meeting reminder sent the day before the meeting.
◊ Monthly Recurring
ex. Reminder for monthly all staff meeting.
◊ Yearly Recurring
ex. Announcement to Employees to verify with their benefits plan to be up to
date with accurate information.
◊ Scheduled
ex. Fire Drill is planned a few weeks prior to the event, the notification is
scheduled in advance to go out and alert the employees when the alarm will be going off for the day of the
event.
Daily Recurring Notification
{
"type": "Recurring",
"notification": {
"broadcastContacts": {
"groupIds": [
884015938670971
]
},
"type": "Standard",
"priority": "NonPriority",
"launchtype": "Recurring",
"message": {
"contentType": "Text",
"title": "Clock out from shift",
"textMessage": "Please clock out at the end of your shift today. Thank you."
}
},
"launchSetting": {
"startDate": 1409893200000,
"endDate": 1410065999000,
"repeatType": "DAILY",
"repeatNumber": 1,
"hour": 16,
"minute": 0,
"timeZoneId": "America/Chicago"
}
}
Weekly Recurring Notification
{
"type": "Recurring",
"notification": {
"broadcastContacts": {
"groupIds": [
884015938670971
]
},
"type": "Standard",
"priority": "NonPriority",
"launchtype": "Recurring",
"message": {
"contentType": "Text",
"title": "Project Management Team meeting",
"textMessage": "Product team meeting tomorrow at 11AM in the conference room."
}
},
"launchSetting": {
"startDate": 1409893200000,
"endDate": 1410584399000,
"repeatType": "WEEKLY",
"repeatNumber": 1,
"hour": 14,
"minute": 0,
"weekDays": [
"TUESDAY"
],
"timeZoneId": "America/Chicago"
}
}
Monthly Recurring Notification
{
"type": "Recurring",
"notification": {
"broadcastContacts": {
"groupIds": [
884015938670971
]
},
"type": "Standard",
"priority": "NonPriority",
"launchtype": "Recurring",
"message": {
"contentType": "Text",
"title": "All Hands meeting today",
"textMessage": "This is a reminder for the All Hands Meeting today at 2PM in
the Training Room."
}
},
"launchSetting": {
"startDate": 1409893200000,
"endDate": 1412139599000,
"repeatType": "MONTHLY",
"repeatNumber": 1,
"hour": 9,
"minute": 0,
"day": 5,
"timeZoneId": "America/Chicago"
}
}
Yearly Recurring Notification
{
"type": "Recurring",
"notification": {
"broadcastContacts": {
"groupIds": [
884015938670971
]
},
"type": "Standard",
"priority": "NonPriority",
"launchtype": "Recurring",
"message": {
"contentType": "Text",
"title": "VERIFY BENEFITS PLAN",
"textMessage": "It is that time of year - please verify your benefits plan. New plans start on January 1."
}
},
"launchSetting": {
"startDate": 1409893200000,
"endDate": 1412139599000,
"repeatType": "YEARLY",
"repeatNumber": 1,
"hour": 08,
"minute": 0,
"month": 12,
"day": 18,
"timeZoneId": "America/Chicago"
}
}
Scheduled Notification
{
"type": "Schedule",
"notification": {
"broadcastContacts": {
"externalIds": [
"100666"
]
},
"type": "Standard",
"priority": "NonPriority",
"launchtype": "Schedule",
"message": {
"contentType": "Text",
"title": "Test send later API",
"textMessage": "Fire alarm today at 3pm, please use main stairwell to exit the building when alarm sounds."
}
},
"launchSetting": {
"startDate": 1410036400000,
"endDate": 1410036400000,
"timeZoneId": "America/Chicago"
}
}
Standard Notifications
Base Object
Field | Data Type | Notes |
---|---|---|
type | string | Standard |
priority | string | One of: ◊ NonPriority ◊ Priority |
launchtype | string | One of: ◊ SendNow ◊ Recurring ◊ Schedule |
broadcastContacts | object | See broadcastContacts |
message | object | See message |
broadcastSettings | object | See broadcastSettings |
Message
Field | Data Type (Length) | Required? | Notes |
---|---|---|---|
contentType | string | y | One of: ◊ Text ◊ VoiceText |
title | string (80) | y | The title of the message. |
textMessage | string | y | The body of the message. |
rtfContent | string | n | Rich-text (HTML) content for the body of the message. Escape quotes in the HTML content using a backslash (). <h1 style="color:#ff5050">Header 1 text |
attachmentFiles | object[] | n | { "fileId": "The fileId returned from an attachment POST" } For details, see Attachments . |
audioKey | string | n | The audio key returned from an audio file POST. For details, see Audio . |
Standard Notification using Default Settings
{
"broadcastContacts": {
"contactIds": [
5743857366033992
],
"externalIds": [],
"groupIds": [],
"filterIds": []
},
"type": "Standard",
"priority": "NonPriority",
"launchtype": "SendNow",
"message": {
"contentType": "Text",
"title": "Test with all default settings",
"textMessage": "This notification uses all the default settings."
}
}
Standard Notification with All Options Specified
{
"broadcastContacts": {
"contactIds": [
5743857366033992
]
},
"type": "Standard",
"priority": "NonPriority",
"launchtype": "SendNow",
"message": {
"contentType": "Text",
"title": "Test with all options specified",
"textMessage": "This JSON has all options specified, one delivery path."
},
"broadcastSettings": {
"voiceMailOption": "MESSAGE_ONLY",
"throttlDefaultAmount": 0,
"throttle": false,
"mobileSettings": {
"requestComment": false,
"requestImage": false,
"requestLocation": false,
"allowShare": false,
"requireConfirm": false,
"pushAlertEnabled": false
},
"deliverPaths": [
{
"pathId": 241901148045316,
"id": 884011643702424
}
],
"deliveryMethodInterval": 0,
"bookConference": false,
"cycleInterval": 1,
"duration": 1,
"senderCallerInfos": [
{
"countryCode": "US",
"callerId": "8182309569"
}
],
"contactCycles": 1,
"language": "en_US",
"recipientApp": false,
"senderEmail": "[email protected]",
"confirm": true,
"deliveryPathOrder": "Contact"
}
}
Polling/Quota Notification
Base Object
Field | Data Type (Length) | Notes |
---|---|---|
type | string | One of: ◊ Polling ◊ Quota |
priority | string | One of: ◊ NonPriority ◊ Priority |
launchtype | string | One of: ◊ SendNow ◊ Recurring ◊ Schedule |
broadcastContacts | object | See broadcastContacts |
message | object | See message |
broadcastSettings | object | See broadcastSettings |
Message
The attachmentFiles, audioKey and rtfContent fields are optional.
Field | Data Type (Length) | Notes |
---|---|---|
contentType | string | One of: ◊ Text ◊ VoiceText |
title | string (80) | The title of the message. |
textMessage | string | The body of the message. |
rtfContent | string | Rich-text (HTML) content for the body of the message. Escape quotes in the HTML content using a backslash (). <h1 style="color:#ff5050">Header 1 text |
questionaire | object[] | Yes, the field name "questionaire" is actually misspelled. There's an open case for this bug. For a polling message, an array of possible answers to the polling question. The maximum number of elements in the array is nine (9). "answers": [ { "name": "Yes" }, { "name": "No" } ] For a polling with quota message, an array of possible answers to the polling question. The maximum number of elements in the array is nine (9). Note the extra field in the answers array to specify the quota number for each answer. "answers": [ { "quotaNum": 2, "name": "Yes" }, { "quotaNum": 0, "name": "No" } ] |
attachmentFiles | object[] | { "fileId": "The fileId returned from an attachment POST" } |
audioKey | string | The audio key returned from an audio file POST. See Audio . |
Polling Notification with Default Settings
{
"broadcastContacts": {
"contactIds": [
5743857366033992
],
"externalIds": [],
"groupIds": [],
"filterIds": []
},
"type": "Polling",
"priority": "NonPriority",
"launchtype": "SendNow",
"message": {
"contentType": "Text",
"title": "Polling message from the API",
"textMessage": "This is a simple yes/no polling message from the API.",
"questionaire": {
"answers": [
{
"name": "Yes"
},
{
"name": "No"
}
]
}
}
}
Quota Notification using Default Settings
{
"broadcastContacts": {
"contactIds": [
5743857366033992
],
"externalIds": [],
"groupIds": [],
"filterIds": []
},
"type": "Quota",
"priority": "NonPriority",
"launchtype": "SendNow",
"message": {
"contentType": "Text",
"title": "Polling with quota message from the API",
"textMessage": "This is a simple yes/no polling message with a quota from the
API.",
"questionaire": {
"answers": [
{
"quotaNum": 2,
"name": "Yes"
},
{
"quotaNum": 0,
"name": "No"
}
]
}
}
}
Conference Notification
Base Object
Field | Data Type (Length) | Notes |
---|---|---|
type | string | Conference |
priority | string | One of: ◊ NonPriority ◊ Priority |
message | object | See message |
launchtype | string | One of: ◊ SendNow ◊ Recurring ◊ Schedule |
broadcastSettings | object | See broadcastSettings |
broadcastContacts | object | See broadcastContacts |
Message
The attachmentFiles, audioKey and rtfContent fields are optional.
Field | Data Type (Length) | Notes |
---|---|---|
contentType | string | One of: ◊ Text ◊ VoiceText |
title | string (80) | The title of the message. |
textMessage | string | The body of the message. |
rtfContent | string | Rich-text (HTML) content for the body of the message. Escape quotes in the HTML content using a backslash (). <h1 style="color:#ff5050">Header 1 text |
conferenceBridgeId | long | The internal ID of the conference bridge you wish to use. |
attachmentFiles | object[] | { "fileId": "The fileId returned from an attachment POST" } |
audioKey | string | The audio key returned from an audio file POST. Field Data Type (Length) Notes |
Conference Notification using Default Settings
{
"broadcastContacts": {
"contactIds": [
5743857366033992
],
"externalIds": [],
"groupIds": [],
"filterIds": []
},
"type": "Conference",
"priority": "NonPriority",
"launchtype": "SendNow",
"message": {
"contentType": "Text",
"title": "Conference message from the API",
"textMessage": "This is a simple conference message from the API.",
"conferenceBridgeId": 892807736723189
}
}
Notification Results
For notification results, you can opt for basic summary information (verbose==false) or detailed delivery results (verbose==true).
Verbose == false
Field | Data Type (Length) | Notes |
---|---|---|
notificationId | long | The notification ID. |
unreachableCount | int | The number of contacts that with no valid contact information. |
confirmedCount | int | The number of contacts that confirmed the message. |
totalCount | int | The total number of contacts on the notification. |
confirmedLateCount | int | The number of contacts that confirmed after the notification's duration had elapsed. |
notConfirmedCount | int | The number of contacts that did not confirm. |
allDetails | object[] | This field has all the delivery result detail in it. This is an array where each element contains all the delivery results for an individual contact. |
id | long | This is the internal ID for a contact. |
contactId | long | The ID of the contact. |
externalId | string | This is the user defined unique identifier for a contact and must be unique. Typically an employee ID number is used. |
result | string | The result of the last attempt for this contact. |
attemptTime | long | Unix epoch date/time when the notification was attempted. |
firstAttemptTime | long | Unix epoch date/time when the notification was first attempted. |
fullName | string | The contact’s first and last name. |
firstName | string | The contact’s first name. |
lastName | string | The contact’s last name. |
confirmedPathId | long | The confirmation delivery path Id. |
confirmedPath | string | The type of device that recieved the confirmation. |
confirmedPathValue | string | The value of the confirmed device: e.g. email address, phone number, etc. |
confirmedDate | long | Unix epoch date/time when the contact confirmed. |
attempt | long | The number of attempt messages sent to the contact. |
responseTextMessage | string | The contact’s polling response. *Only for Polling/Quota notifications. |
confirmed | boolean | If true, the contact has confirmed. |
createdId | long | The internal ID of the user that created the notification. |
callResultsByPath | object[] | This is an array where each element describes the delivery results for an individual contact path. |
Notification Results where Verbose == true
{
"message": "OK",
"result": {
"startDate": 1674823609848,
"accountId": 1536846672691202,
"broadcastContacts": {
"contactIds": [
426680841666562
],
"contactSearchType": "AllOr",
"sequenceGroupEnabled": false,
"defaultSeqGroupQuota": 1,
"sequenceGroupInterval": 5,
"enableGroupCalendar": false,
"enableSendToSubscribers": false
},
"incidentPhase": {
"createdName": "Vishal Agrawal",
"incidentId": 591470146880507,
"accountId": 1536846672691202,
"status": "A",
"resourceBundleId": 1536984111644675,
"organizationId": 1536984111644674,
"id": 10011,
"notificationId": -1,
"phaseTemplate": {
"templateId": 1536984111644674,
"templateName": "Readme Testing",
"name": "New",
"messageFlag": 3,
"contactsFlag": 3,
"settingsFlag": 3,
"publishOptionsFlag": {
"desktopAlerts": 1,
"webWidget": 1,
"network": 1,
"alertUs": 1,
"webPosting": 1,
"socialMedia": 1,
"nixleChannel": 1,
"abb": 1,
"memberPortal": 1,
"ipawsCap": 1
},
"phaseDefinitions": [
{
"id": 1001,
"status": "A",
"isDefault": false,
"name": "New",
"seq": 0
}
],
"formTemplate": {
"subject": "Readme Testing",
"formVariableItems": [
{
"val": [
"Testing"
],
"variableName": "Status",
"isRequired": true,
"seq": 1,
"variableId": 591470146879515,
"prefixName": "1"
},
{
"val": [
"High"
],
"variableName": "Priority",
"isRequired": false,
"seq": 2,
"variableId": 591470146879516,
"prefixName": "1"
}
],
"sysVarTodayDateFormat": "mm-dd-yyyy",
"sysVarCurrentTimeFormat": "HH:mm:ss"
},
"broadcastTemplate": {
"accountId": 0,
"broadcastContacts": {
"contactIds": [
426680841666562
],
"contactSearchType": "AllOr",
"sequenceGroupEnabled": false,
"defaultSeqGroupQuota": 1,
"sequenceGroupInterval": 5,
"enableGroupCalendar": false,
"enableSendToSubscribers": false
},
"resourceBundleId": 0,
"organizationId": 0,
"publicMessages": {},
"type": "Standard",
"id": 0,
"message": {
"accountId": 1536846672691202,
"organizationId": 1536984111644674,
"contentType": "Text",
"id": 0,
"title": "Readme Testing",
"textMessage": "Status: Testing \r\nPriority: High ",
"conferenceBridgeId": 0,
"createdDate": 1674823609743,
"createdName": "Vishal Agrawal",
"status": "A",
"resourceBundleId": 1536984111644675,
"lastModifiedDate": 1674823609743,
"lastModifiedId": 1530249602924607,
"createdId": 1530249602924607,
"lastModifiedName": "Vishal Agrawal",
"useCustomEmail": false,
"useCustomSms": false
},
"broadcastSettings": {
"voiceMailOption": "MESSAGE_ONLY",
"throttlDefaultAmount": 0,
"throttle": false,
"mobileSettings": {
"requestComment": false,
"requestImage": false,
"requestLocation": false,
"allowShare": false,
"requireConfirm": false,
"pushAlertEnabled": false
},
"deliverPaths": [
{
"accountId": 1536846672691202,
"pathId": 241901148045316,
"organizationId": 1536984111644674,
"awarePathId": 0,
"id": 589820879437825,
"expose": false,
"isDefault": true,
"createdDate": 1674823177533,
"createdName": "Vishal Agrawal",
"status": "A",
"mandatory": false,
"resourceBundleId": 1536984111644675,
"editable": false,
"seq": 1,
"lastModifiedDate": 1674823192141,
"lastModifiedId": 1530249602924607,
"createdId": 1530249602924607,
"prompt": "Email",
"lastModifiedName": "Vishal Agrawal",
"extRequired": false,
"displayFlag": false,
"default": true
}
],
"requirePinForMessage": false,
"deliveryMethodInterval": 0,
"bookConference": false,
"cycleInterval": 0,
"duration": 1,
"senderCallerInfos": [
{
"countryName": "United States",
"accountId": 0,
"countryCode": "US",
"resourceBundleId": 0,
"organizationId": 0,
"id": 0,
"callerId": "7818646213",
"isDefault": true,
"createdId": 0,
"lastModifiedId": 0
}
],
"contactCycles": 1,
"language": "en_US",
"recipientApp": false,
"senderEmail": "SORCH Dev3",
"confirm": false,
"deliveryPathOrder": "Contact",
"enableSecureNotification": false,
"validateContacts": true,
"validateContactsByOrganization": false,
"enableRecord": false,
"enableSmartConferenceConfirmationText": true,
"enableBeep": true,
"quietTimeOverride": false
},
"priority": "NonPriority",
"lastModifiedId": 0,
"createdId": 0,
"useEscalation": false,
"enableLifeSafety": false
},
"ignoreVariable": false,
"evaluateAll": false,
"incidentNotificationPropertyBag": {
"enableExerciseMode": "false"
}
},
"name": "New",
"lastModifiedDate": 1674823609703,
"lastModifiedId": 1530249602924607,
"createdId": 1530249602924607,
"createdDate": 1674823609703,
"lastModifiedName": "Vishal Agrawal",
"phaseDefinition": {
"phaseNodeType": "Begin",
"id": 1001,
"incidentStatus": "Open",
"status": "A",
"isDefault": true,
"name": "New",
"seq": 100
}
},
"endDate": 1674827209848,
"transformed": true,
"organizationId": 1536984111644674,
"type": "Standard",
"id": 591470146880264,
"notificationStatus": "Completed",
"productSource": "Matrix",
"priority": "NonPriority",
"oldAwareCAMPID": 0,
"createdDate": 1674823609798,
"hasNotification": true,
"createdName": "Vishal Agrawal",
"status": "A",
"notificationResult": {
"notificationId": 0,
"unreachableCount": 0,
"confirmedCount": 0,
"totalCount": 1,
"confirmedLateCount": 0,
"notConfirmedCount": 1,
"allDetails": [
{
"id": 0,
"notificationId": 591470146880264,
"contactId": 426680841666562,
"result": "Sent",
"attemptTime": 1674823613439,
"firstAttemptTime": 1674823613439,
"fullName": "Vishal Agrawal",
"firstName": "Vishal",
"lastName": "Agrawal",
"attempt": 0,
"externalId": "[email protected]",
"createdId": 1530249602924607,
"callResultByPaths": [
{
"journalId": 0,
"attemptId": "63d3c7bb0139ad08c9997fed",
"attemptOrder": 1,
"attemptTime": 1674823613439,
"waitTime": 0,
"countryCode": "IN",
"cycleSeq": 1,
"path": "Email",
"pathText": "[email protected]",
"callResult": "Sent",
"firstName": "Vishal",
"lastName": "Agrawal",
"confirmed": false
}
],
"confirmed": false
}
]
},
"resourceBundleId": 1536984111644675,
"launchtype": "SendNow",
"publicMessages": {},
"message": {
"accountId": 1536846672691202,
"organizationId": 1536984111644674,
"contentType": "Text",
"id": 0,
"title": "Readme Testing",
"textMessage": "Status: Testing \r\nPriority: High ",
"conferenceBridgeId": 0,
"createdDate": 1674823609743,
"createdName": "Vishal Agrawal",
"status": "A",
"resourceBundleId": 1536984111644675,
"lastModifiedDate": 1674823609743,
"lastModifiedId": 1530249602924607,
"createdId": 1530249602924607,
"lastModifiedName": "Vishal Agrawal",
"useCustomEmail": false,
"useCustomSms": false
},
"broadcastSettings": {
"voiceMailOption": "MESSAGE_ONLY",
"throttlDefaultAmount": 0,
"throttle": false,
"mobileSettings": {
"requestComment": false,
"requestImage": false,
"requestLocation": false,
"allowShare": false,
"requireConfirm": false,
"pushAlertEnabled": false
},
"deliverPaths": [
{
"accountId": 1536846672691202,
"pathId": 241901148045316,
"organizationId": 1536984111644674,
"awarePathId": 0,
"id": 589820879437825,
"expose": false,
"isDefault": true,
"createdDate": 1674823177533,
"createdName": "Vishal Agrawal",
"status": "A",
"mandatory": false,
"resourceBundleId": 1536984111644675,
"editable": false,
"seq": 1,
"lastModifiedDate": 1674823192141,
"lastModifiedId": 1530249602924607,
"createdId": 1530249602924607,
"prompt": "Email",
"lastModifiedName": "Vishal Agrawal",
"extRequired": false,
"displayFlag": false,
"default": true
}
],
"requirePinForMessage": false,
"deliveryMethodInterval": 0,
"bookConference": false,
"cycleInterval": 0,
"duration": 1,
"senderCallerInfos": [
{
"countryName": "United States",
"accountId": 0,
"countryCode": "US",
"resourceBundleId": 0,
"organizationId": 0,
"id": 0,
"callerId": "7818646213",
"isDefault": true,
"createdId": 0,
"lastModifiedId": 0
}
],
"contactCycles": 1,
"language": "en_US",
"recipientApp": false,
"senderEmail": "SORCH Dev3",
"confirm": false,
"deliveryPathOrder": "Contact",
"enableSecureNotification": false,
"validateContacts": true,
"validateContactsByOrganization": false,
"enableRecord": false,
"enableSmartConferenceConfirmationText": true,
"enableBeep": true,
"quietTimeOverride": false
},
"sourceTemplateId": 0,
"source": "Web",
"notificationName": "Readme Testing",
"batchNotificationId": 0,
"stoppedBy": 0,
"lastModifiedDate": 1674827220088,
"lastModifiedId": 1530249602924607,
"createdId": 1530249602924607,
"processedBy": "schedule-task-dev3-green-i-026dbaf0eea0f3e89",
"lastModifiedName": "Vishal Agrawal",
"incident": {
"accountId": 1536846672691202,
"organizationId": 1536984111644674,
"id": 591470146880507,
"incidentStatus": "Open",
"name": "Readme Testing",
"createdDate": 1674823609695,
"hasJournal": false,
"createdName": "Vishal Agrawal",
"status": "A",
"resourceBundleId": 1536984111644675,
"duration": 0,
"createdId": 1530249602924607,
"lastModifiedId": 1530249602924607,
"lastModifiedDate": 1674823609695,
"phaseStatus": {
"phaseNodeType": "Begin",
"id": 1001,
"incidentStatus": "Open",
"status": "A",
"isDefault": true,
"name": "New",
"seq": 100
},
"incidentType": "Incident",
"lastModifiedName": "Vishal Agrawal",
"useTemplateVarValue": false,
"enableMessageTruncate": false,
"incidentMode": "Live"
},
"escalationConfirmedCount": 0,
"escalatedNotification": false,
"enableLifeSafety": false,
"enableMessageTruncate": false,
"notificationMode": "Live"
}
}