com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_link3' is unknown.

Managing Device Notifications via the Console

There will be situations where you want certain operations to be carried out on a device but that device will not be able to support the operation. The failure to carry out such operations will be notified to the EMM administrator and the device owner. There will also be instances where the user will need to be notified of additional information such as the new lock reset pin. This section provides the details of the REST APIs used to manage device notifications.

Sending a device notification

DescriptionNotify users on device operation failures and other information using this REST API. For more information, see how the notifications function via the console.
Resource Path/
URL/mdm-admin/notifications
HTTP MethodPOST
Request/Response Formatapplication/json
cURL command
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer <EMM_API_TOKEN>" -d @'<JSON_PAYLOAD>' -k -v https://<EMM_HOST>:<EMM_HTTPS_PORT>/mdm-admin/notifications
  • For more information on how to generate the <EMM_API_TOKEN>, see Generating the EMM API Token.
  • Define the path to the JSON file, which includes the required properties to send a notification to a device as the <JSON_PAYLOAD> value. For more information, see the Sample JSON Definition.
  • By default, <EMM_HOST> is localhost. However, if you are using a public IP, the respective IP address or domain needs to be specified.
  • By default, <EMM_HTTPS_PORT> has been set to 9443. However, if the port offset has been incremented by n, the default port value needs to be incremented by n.

Example:

curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer 33392fb365b3ac693b405b565ddc8a3a" -d @'notification.json' -k -v https://localhost:9443/mdm-admin/notifications
 Sample output
> POST /mdm-admin/notifications/ HTTP/1.1
> Host: localhost:9443
> User-Agent: curl/7.43.0
> Accept: */*
> Content-Type: application/json
> Authorization: Bearer 8e6ecc18eeec1c4f161e442aa2033146
> Content-Length: 203
< HTTP/1.1 201 Created
< Date: Fri, 11 Mar 2016 10:19:15 GMT
< Content-Type: application/json
< Content-Length: 77
< Server: WSO2 Carbon Server
{"statusCode":201,"messageFromServer":"Notification has added successfully."}
Sample JSON Definition 
{
  "notificationId": 4,
  "deviceIdentifier": {
    "id": "359298055243973",
    "type": "android"
  },
  "description": "Alarm operation failed.",
  "operationId": 5,
  "status": "NEW"
}
PropertyDefinitionType
notificationIDDefine the notification ID.Integer
deviceIdentifierDefine the device identification properties.String
idDefine the device ID.String
typeDefine the device type, such as android, ios or windows.String
descriptionProvide the message you want to send to the user.String
operationIDProvide the operationID.Integer
status

Provide the status of the message. The following values can be assigned for the status.

  • NEW: Will keep the message in the unread state.
  • CHECKED: Will keep the message in the read state.
String

 

Updating the device notification status

DescriptionWhen a user has read the the device notification the device notification status must change from NEW to CHECKED. Update the device notification status using this REST API.
Resource Path/{id}/{status}
URL/mdm-admin/notifications/{id}/{status}
HTTP MethodPUT
Request/Response Formatapplication/json
cURL command
curl -X PUT -H "Content-Type: application/json" -H "Authorization: Bearer <EMM_API_TOKEN>" -d @'<JSON_PAYLOAD>' -k -v https://<EMM_HOST>:<EMM_HTTPS_PORT>/mdm-admin/notifications/{id}/{status}
  • For more information on how to generate the <EMM_API_TOKEN>, see Generating the EMM API Token.
  • Define the path to the JSON file, which includes the required properties to update the device notification as the <JSON_PAYLOAD> value. For more information, see the Sample JSON Definition.
  • By default, <EMM_HOST> is localhost. However, if you are using a public IP, the respective IP address or domain needs to be specified.
  • By default, <EMM_HTTPS_PORT> has been set to 9443. However, if the port offset has been incremented by n, the default port value needs to be incremented by n.
  • Provide the ID of the notification you wish you update as the value for {id}.
  • Provide the notification status as the value for {status}.

    You can provide NEW or CHECKED as the value for status.

Example: Updating the notification having the notification ID 3 from the unread to the read status.

curl -X PUT -H "Content-Type: application/json" -H "Authorization: Bearer 33392fb365b3ac693b405b565ddc8a3a" -k -v https://localhost:9443/mdm-admin/notifications/3/CHECKED
 Sample output
> PUT /mdm-admin/notifications/3/CHECKED HTTP/1.1
> Host: localhost:9443
> User-Agent: curl/7.43.0
> Accept: */*
> Content-Type: application/json
> Authorization: Bearer c5e2952bd8da8c7d73c68aa92573f3ea
> 
< HTTP/1.1 200 OK
< Cache-Control: private
< Expires: Thu, 01 Jan 1970 05:30:00 IST
< Date: Fri, 11 Mar 2016 11:23:15 GMT
< Content-Type: application/json
< Content-Length: 82
< Server: WSO2 Carbon Server
{"statusCode":200,"messageFromServer":"Notification status updated successfully."} 

 

Getting all device notification details

DescriptionGet the details of all notifications that were pushed to the device in WSO2 EMM using this REST API.
Resource Path/
URL/mdm-admin/notifications
HTTP MethodGET
Request/Response Formatapplication/json
cURL command
curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer <EMM_API_TOKEN>" -k -v https://<EMM_HOST>:<EMM_HTTPS_PORT>/mdm-admin/notifications
  • For more information on how to generate the <EMM_API_TOKEN>, see Generating the EMM API Token.
  • By default, <EMM_HOST> is localhost. However, if you are using a public IP, the respective IP address or domain needs to be specified.
  • By default, <EMM_HTTPS_PORT> has been set to 9443. However, if the port offset has been incremented by n, the default port value needs to be incremented by n.

Example:

curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer 33392fb365b3ac693b405b565ddc8a3a" -k -v https://localhost:9443/mdm-admin/notifications
 Sample output
> GET /mdm-admin/notifications/ HTTP/1.1
> Host: localhost:9443
> User-Agent: curl/7.43.0
> Accept: */*
> Content-Type: application/json
> Authorization: Bearer 8e6ecc18eeec1c4f161e442aa2033146
> 
< HTTP/1.1 200 OK
< Cache-Control: private
< Expires: Thu, 01 Jan 1970 05:30:00 IST
< Date: Fri, 11 Mar 2016 10:22:38 GMT
< Content-Type: application/json
< Content-Length: 288
< Server: WSO2 Carbon Server
[{"notificationId":3,"deviceIdentifier":{"id":"359298055243973","type":"android"},"description":"Please update your user password","operationId":4,"status":"NEW"},{"notificationId":4,"deviceIdentifier":{"id":"359298055243973","type":"android"},"description":"Alarm operation failed.","operationId":5,"status":"NEW"}]
Sample JSON output Definition 
{  
   "notificationId":4,
   "deviceIdentifier":{  
      "id":"359298055243973",
      "type":"android"
   },
   "description":"Alarm operation failed.",
   "operationId":5,
   "status":"NEW"
}
PropertyDefinitionType
notificationIDDefines the notification ID.Integer
deviceIdentifierDefines the device identification properties.String
idDefines the device ID.String
typeDefines the device type, such as android, ios or windows.String
descriptionProvides the message you want to send to the user.String
operationIDProvides the operationID.Integer
status

Provides the status of the message. The following values can be assigned for the status.

  • NEW: The message is in the unread state.
  • CHECKED: The message is in the read state.
String

 

Getting device notifications filtered by the status

DescriptionGet the details of all the unread notifications or the details of all the read notifications using this REST API.
Resource Path/{status}
URL/mdm-admin/notifications/{status}
HTTP MethodPOST
Request/Response Formatapplication/json
cURL command
curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer <EMM_API_TOKEN>" -k -v https://<EMM_HOST>:<EMM_HTTPS_PORT>/mdm-admin/notifications/{status}
  • For more information on how to generate the <EMM_API_TOKEN>, see Generating the EMM API Token.
  • By default, <EMM_HOST> is localhost. However, if you are using a public IP, the respective IP address or domain needs to be specified.
  • By default, <EMM_HTTPS_PORT> has been set to 9443. However, if the port offset has been incremented by n, the default port value needs to be incremented by n.
  • Provide the notification status as the value for {status}.

    You can provide NEW or CHECKED as the value for status.

Example:

curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer 33392fb365b3ac693b405b565ddc8a3a" -k -v https://localhost:9443/mdm-admin/notifications/CHECKED
 Sample output
> GET /mdm-admin/notifications/CHECKED HTTP/1.1
> Host: localhost:9443
> User-Agent: curl/7.43.0
> Accept: */*
> Content-Type: application/json
> Authorization: Bearer c5e2952bd8da8c7d73c68aa92573f3ea
> 
< HTTP/1.1 200 OK
< Cache-Control: private
< Expires: Thu, 01 Jan 1970 05:30:00 IST
< Date: Fri, 11 Mar 2016 11:44:24 GMT
< Content-Type: application/json
< Content-Length: 296
< Server: WSO2 Carbon Server
[{"notificationId":3,"deviceIdentifier":{"id":"359298055243973","type":"android"},"description":"Update the user password","operationId":4,"status":"CHECKED"},{"notificationId":6,"deviceIdentifier":{"id":"359298055243973","type":"android"},"description":"Alarm operation failed.","operationId":5,"status":"CHECKED"}]
Sample JSON output Definition 
{  
   "notificationId":4,
   "deviceIdentifier":{  
      "id":"359298055243973",
      "type":"android"
   },
   "description":"Alarm operation failed.",
   "operationId":5,
   "status":"CHECKED"
}
PropertyDefinitionType
notificationIDDefines the notification ID.Integer
deviceIdentifierDefines the device identification properties.String
idDefines the device ID.String
typeDefines the device type, such as android, ios or windows.String
descriptionProvides the message you want to send to the user.String
operationIDProvides the operationID.Integer
status

Provides the status of the message. The following values can be assigned for the status.

  • NEW: The message is in the unread state.
  • CHECKED: The message is in the read state.
String

 

com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.