General Overview
Explanation of Android Enterprise
Requirements and Installation
Requirements
General Settings
Account Overview
Account Information
Global Configuration
Privacy
Role Based Access
Apple Configuration
Android Configuration
Windows Configuration
ContentBox
LDAP Configuration
App Management
In-House App DB
App Settings
App Store Settings
Remote Control
Sim Card Management
Subscription Management
General Audit Log
Mobile Management
iOS Configuration
General
Device Log (only on device level)
Asset Management (only on device level)
Asset Management (only on device level)
Security Management
Anti Theft (only on device level)
Security Configuration
End of Life (only on device level)
Restriction Settings
BYOD
Connection Management
Web Management
App Management
Android Enterprise – Fully Managed Device Configuration
General
Device Log (only on device level)
Device Settings
Asset Management (only on device level)
Security Management
Anti Theft (only on device level)
Security Configuration
End of Life (only on device level)
Restriction Settings
Connection Management
PIM Management
App Management
Enterprise App Manager
Restrictions & Settings
Enterprise App Store
Enterprise Play Store
Kiosk Mode & Launcher
Remote Control
Content Management
Additional API
Samsung KNOX
Android Enterprise - Fully Managed Device with-Work Profile (COPE)
Android Enterprise – Container Configuration
General
Asset Management (only on device level)
Security Management
Anti Theft (only on device level)
Security Configuration
End of Life (only on device level)
Restriction Settings
Connection Management
PIM Management
App Management
Enterprise App Manager
Restrictions & Settings
Enterprise App Store
Enterprise Play Store
Content Management
Android Configuration
General
Device Log (only on device level)
Device Settings
Asset Management (only on device level)
Security Management
Anti Theft (only on device level)
Security Configuration
End of Life (only on device level)
Restriction Settings
BYOD Container
Connection Management
PIM Management
App Management
Enterprise App Manager
Restrictions & Settings
Kiosk Mode & Launcher
Remote Control
Content Management
Configuration Windows 10 PC
General
Device Log (only on device level)
Asset Management (only on device level)
Security Management
Anti Theft (only on device level)
Security Configuration
Restriction Settings
BitLocker
Certificate Management
Connection Management
PIM Management
App Management
Enterprise App Manager
MacOS Configuration
General
Asset Management (only on device level)
Update Management (only on device level)
Security Management
Anti Theft
Security Configuration
Restriction Settings
Connection Management
PIM Management
Dashboard & Reporting
Multitenant Management
Additional views
Example Code in Python3
! /usr/bin/python
import base64
from Crypto.Hash import SHA512
from Crypto.Signature import PKCS1_v1_5
from Crypto.PublicKey import RSA
import os
import time
import json
import urllib.request
import urllib.parse
import urllib.error
import http.client
applianceDomain = "YOURAPPLIANCE.COM"
apiURL = "https://"+applianceDomain+"/public/external/api"
privateKeyPath = "/path/to/PrivateKey-XXXXXXXXXXX.pem"
apptecAPIAuthToken = "7eXXXXXXXXXXXXXXXXXXXXXXXXXXXX20"
currentTimestamp = int(time.time())
# Get Devices
#requestData = {"api": "v2/device/listdevices", "time": currentTimestamp}
# Get Positions
#requestData = {"api": "v2/device/listposition", "time": currentTimestamp,
"params":{"ids":[26]}}
# Get AssetData
requestData = {"api": "v2/device/getassetdata", "time": currentTimestamp,
"params":{"ids":[26], "assetkeys": ["imei"]}}
# encode the request data to json
print(json.dumps(requestData, indent=1))
jsonEncodedRequestData = json.dumps(requestData)
# Sign the request data json with the API private key
message = jsonEncodedRequestData.encode('utf-8')
print("Body:", message)
digest = SHA512.new()
digest.update(message)
# Read private key from file
with open(privateKeyPath, "r") as myKeyFile:
private_key = RSA.importKey(myKeyFile.read())
# Load private key and sign message
signer = PKCS1_v1_5.new(private_key)
signatureOfRequestData = signer.sign(digest)
Base64EncodedSignature = base64.b64encode(
signatureOfRequestData).decode("utf-8")
headers = {"Content-type": "application/json",
"auth": apptecAPIAuthToken, "signature": Base64EncodedSignature}
print("Headers:", headers, "\n")
# Send request to Server
httpsClient = http.client.HTTPSConnection(applianceDomain, 443, timeout=10)
httpsClient.request("POST", apiURL, jsonEncodedRequestData, headers)
# Get answer
response = httpsClient.getresponse()
status = response.status
data = response.read()
if data == False:
print("Invalid answer from the server")
else:
print("Answer:")
print(json.dumps(json.loads(data), indent=1))
if status != 200:
print("http error: lastReceivedHttpCode")
print(status)