Messaging API
This API is for ISE to send messages through MDM to end user mobile devices (assuming MDM has messaging system to communicate with mobile devices).
NOTE: Implantation of this API is optional at this point, vendor implementation of this API will also need to add flag “messaging_support” in response of API#1 to signify that the messaging API is implemented.
HTTP Method | Url |
---|---|
PUT | /sendmessage |
Request:
HTTP Headers
Authorization: username:password
XML schema
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="ise_api" type="ISEApiMessage"/> <xs:complexType name="ISEApiMessage">
<xs:sequence>
<xs:element name="identifier" type="MsgIdentifierType"/> <xs:element name="Message" type="MessageType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MsgIdentifierType">
<xs:element name="macaddress" type="xs:string" minOccurs="0" maxOccurs="unbounded” />
<xs:element name="username" type="xs:string" minOccurs="0" maxOccurs="unbounded” /> </xs:complexType>
<xs:complexType name="MessageType">
<xs:element name="message_type" type=”MessageTypeEnum”/> <xs:element name="message_header" type="xs:string" /> <xs:element name="message_body" type="xs:string" />
</xs:complexType>
<xs:simpleType name=”MessageTypeEnum”>
<xs:restriction base=”xs:string” > <xs:enumeration value='None' /> <xs:enumeration value='Note' /> <xs:enumeration value='Caution' /> <xs:enumeration value='Alert' />
</xs:restriction> </xs:simpleType>
</xs:schema>
Response
HTTP Headers
HTTP/1.1 200 OK
XML schema
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="ise_api" type="ISEApiMessage"/> <xs:complexType name=" ISEApiMessage ">
<xs:sequence>
<xs:element name="name" type="NameType"/>
HTTP Method
Url
PUT
/sendmessage
<xs:element name="api_version" type="xs:string"/>
<xs:element name="deviceList" type="DeviceListType"/> </xs:sequence>
</xs:complexType>
<xs:complexType name=" DeviceListType">
<xs:sequence>
<xs:element name="device" type="DeviceType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name=" DeviceType ">
<xs:sequence>
<xs:element name="macaddress" type="xs:string"/> <xs:element name="result" type="ResultType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name=" ResultType ">
<xs:sequence>
<xs:element name="message_status" type="xs:boolean" />
<xs:element name="failure_reason" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name='NameType' >
<xs:restriction base='xs:string' > <xs:enumeration value='sendmessage' />
</xs:restriction> </xs:simpleType>
Example:
Url: https://mdm-server/ise/mdm/api/sendmessage
Request payload:
<?xml version="1.0" encoding="UTF-8"?> <ise_api>
<identifier>
<macaddress> 000000000000</macaddress> <macaddress> 111111111111</macaddress>
</identifier > <message>
<message_type>Alert</message_type>
<message_header>Need your action in the next 10 minutes</message_header>
<message_body>Your device is not compliant for the following reason, please take action in the next 10 minutes, otherwise you network access will be revoked</message_body> </message>
</ise_api>
Response payload:
<?xml version="1.0" encoding="UTF-8"?> <ise_api >
<name>sendmessage</name> <api_version>2</api_version> <deviceList>
<device> <macaddress>000000000000</macaddress> <result>
< message_status>false</register_status>
<failure_reason>something happened, message is not sent</failure_reason>
</result> </device> <device>
<macaddress>111111111111</macaddress>
<result>
< message_status>true</register_status>
<failure_reason> </failure_reason> </result>
</device> <deviceList>
</ise_api>