Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt
DescriptionWhen carrying out device registration via an Android device, you need to initially install an Android Agent on the device, before being able to register the device with WSO2 EMM. Instead, you can use this REST API to register an Android device with WSO2 EMM, without having to install an Android Agent on the respective device.
Resource Path 
URL/mdm-android-agent/enrollment
HTTP MethodPOST
Request/Response Formatapplication/json
cURL command
Code Block
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer <EMM_API_TOKEN>" -k -d @'<JSON_PAYLOAD>' -v https://<EMM_HOST>:<EMM_HTTPS_PORT>/mdm-android-agent/enrollment
  • 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: Register an Android device where the device identifier is 867115026844132.

Code Block
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer e5c2ce5670b6f95e1514f4f9e722a722" -k -d @'enroll.json' -v https://localhost:9443/mdm-android-agent/enrollment
 Sample output
Code Block
> POST /mdm-android-agent/enrollment HTTP/1.1
> User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8| zlib/1.2.5
> Host: localhost:9443
> Accept: */*
> Content-Type: application/json
> Authorization: Bearer e5c2ce5670b6f95e1514f4f9e722a722
> Content-Length: 1504
> Expect: 100-continue
> 
< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
< Date: Tue, 22 Mar 2016 01:20:00 GMT
< Content-Type: application/json
< Content-Length: 75
< Server: WSO2 Carbon Server
< 
{"responseCode":"Created","responseMessage":"Device enrollment succeeded."}
Anchor
sample
sample
Sample JSON Definition 
Code Block
{  
   "description":"hwRIO-L01",
   "deviceIdentifier":"867115026844132",
   "enrolmentInfo":{  
      "ownership":"BYOD",
      "owner":"admin"
   },
   "name":"hwRIO-L01",
   "properties":[  
      {  
         "name":"IMEI",
         "value":"867115026844132"
      },
      {  
         "name":"IMSI",
         "value":"413027001101134"
      },
      {  
         "name":"DEVICE_MODEL",
         "value":"HUAWEI RIO-L01"
      },
      {  
         "name":"VENDOR",
         "value":"HUAWEI"
      },
      {  
         "name":"OS_VERSION",
         "value":"5.1"
      },
      {  
         "name":"DEVICE_NAME",
         "value":"hwRIO-L01"
      },
      {  
         "name":"BATTERY_LEVEL",
         "value":"77"
      },
      {  
         "name":"LATITUDE",
         "value":"6.9302368"
      },
      {  
         "name":"LONGITUDE",
         "value":"79.8617277"
      },
      {  
         "name":"INTERNAL_TOTAL_MEMORY",
         "value":"24.74"
      },
      {  
         "name":"INTERNAL_AVAILABLE_MEMORY",
         "value":"18.4"
      },
      {  
         "name":"EXTERNAL_TOTAL_MEMORY",
         "value":"0.0"
      },
      {  
         "name":"EXTERNAL_AVAILABLE_MEMORY",
         "value":"0.0"
      },
      {  
         "name":"OPERATOR",
         "value":"Dialog"
      },
      {  
         "name":"DEVICE_INFO",
         "value":"[{\"name\":\"IMEI\",\"value\":\"867115026844132\"},{\"name\":\"IMSI\",\"value\":\"413027001101134\"},{\"name\":\"DEVICE_MODEL\",\"value\":\"HUAWEI RIO-L01\"},{\"name\":\"VENDOR\",\"value\":\"HUAWEI\"},{\"name\":\"OS_VERSION\",\"value\":\"5.1\"},{\"name\":\"DEVICE_NAME\",\"value\":\"hwRIO-L01\"},{\"name\":\"BATTERY_LEVEL\",\"value\":\"77\"},{\"name\":\"LATITUDE\",\"value\":\"6.9302368\"},{\"name\":\"LONGITUDE\",\"value\":\"79.8617277\"},{\"name\":\"INTERNAL_TOTAL_MEMORY\",\"value\":\"24.74\"},{\"name\":\"INTERNAL_AVAILABLE_MEMORY\",\"value\":\"18.4\"},{\"name\":\"EXTERNAL_TOTAL_MEMORY\",\"value\":\"0.0\"},{\"name\":\"EXTERNAL_AVAILABLE_MEMORY\",\"value\":\"0.0\"},{\"name\":\"OPERATOR\",\"value\":\"Dialog\"}]"
      }
   ]
}
PropertyDescriptionData Type
description
Additional information on the device.String
deviceIdentifier

This is a 64-bit number (as a hex string) that is randomly generated when the user first sets up the device and should remain constant for the lifetime of the user's device. The value may change if a factory reset is performed on the device.

Note

When a device has multiple users (available on certain devices running Android 4.2 or higher), each user appears as a completely separate device; therefore, the deviceIdentifier value is unique to each user.

String
enrolmentInfo
This defines the device registration related information. It is mandatory to define this information. 
ownerThe device owner's name.String
ownership

Defines the ownership details. The ownership type can be any of the following values.

  • BYOD - Bring your own device (BYOD).
  • COPE - Corporate owned personally enabled (COPE).
String
nameThe device name that can be set on the device by the device user.String
properties

Defines details that correspond to the device. Defining properties are optional.

  • IMEI - The International Mobile Station Equipment Identity (IMEI) is a number, usually unique, which is used to identify a device.
  • IMSI - The International Mobile Subscriber Identity (IMSI) is used to identify the user of a cellular network and is a unique identification associated with all cellular networks.
  • DEVICE_MODEL - The model of the Android device.
  • VENDOR - The name of the Android device vendor.
  • OS_VERSION - The version of the Android device operating system.
  • DEVICE_NAME - The name defined for the device.
  • BATTERY_LEVEL - The current level of the Android device battery.
  • LATITUDE - The latitude of the Android device.
  • LONGITUDE - The longitude of the Android device.
  • INTERNAL_TOTAL_MEMORY - The total capacity of the internal memory available in the Android device.
  • INTERNAL_AVAILABLE_MEMORY - The remaining capacity of the internal memory available in the Android device.
  • EXTERNAL_TOTAL_MEMORY - The total capacity of the external memory available in the Android device.
  • EXTERNAL_AVAILABLE_MEMORY - The remaining capacity of the external memory available in the Android device.
  • OPERATOR - The name of the cellular network operator used with the Android device.
  • DEVICE_INFO - General information with regard to the device.
  • GCM_TOKEN - The Android Platform is configured to communicate via Local Polling. However, the Google Cloud Messaging service (GCM) token needs to be passed when the push notification service is used with the Android platform.
 
Info

For more information on enrolling Android devices, see End-user Registering an Android Device.