Iseetrack Platform API specification
Catalog
2.3 Command types and parameter descriptions
3.3 Get Device Group Information of Login Account
3.9 Get device ID information by IMEI
1 Introduction
1.1 Writing purpose
This document is used to describe API specification, the developer for the background development and debugging, testing personnel according to the document test equipment communication data is correct
1.2 Interface Introduction
This interface is used to provide datas for developers who develop programs based on the data of Iseetrack platform.
2 Interface description
2.1 Interface information
Interface URL: | http://oapi.iseetrack.com/OpenAPIV2_ZK.asmx |
2.2 Encryption instructions
Developers use MD5 to encrypt data spliced with the specified KeyStr and parameters,and then pass in the encrypted result as a checkout parameter to the server.
Please contact the supplier for the specified KeyStr and CheckID.
Example of Login(C#)
KeyStr=EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
Spliced data:Name + Pass + DateTime.Now.ToString(“yyyyMMddHH”) + KeyStr (Spliced datas are different for each interface)
Login Name(Name)=test688
Password(Pass)=123456
Current time is 2014072711
Checkout of login:
string mdtstr = “test688” + “123456” + “2014072711” + “EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE”;
Checkout=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(mdtstr, “MD5”).ToUpper();
If encrypting is in trouble, developers can use the encryption method interface,and Get the encrypted key Interface for details.
2.3 Command types and parameter descriptions
Command code | Command description | Content description |
BP030 | Cut off power command | The command code is needed,and empty string to command value. |
BP040 | Restore power command | The command code is needed,and empty string to command value. |
3 Interface specifications
3.1 Login
Interface name:Login
Spliced data:Name + Pass + DateTime.Now.ToString(“yyyyMMddHH”) + KeyStr(KeyStr is from the supplier) |
|||
Parameter | Type | Description | |
Name | string | Login name | |
Pass | string | Password | |
LoginType | int | Login type:0- Account login 1- IMEI login | |
Checkout | string | Authenticated encrypted string | |
CheckID | Int | From the supplier | |
Interface returns:
{“state”:”0″,”userInfo”:{“userID”:”1255″,”userName”:”体验账号”,”loginName”:”test688″,”timeZone”:”China Standard Time”}} |
|||
Parameter Description: | |||
Parameter | Description | Remark | |
userInfo | User Information Object | ||
userID | User ID | ||
userName | User Name | ||
loginName | LoginName | ||
timeZone | User’s time zone | User can set this time zone in the platform | |
Return status description: | |||
State | 0 | Indicates that data was obtained | |
State | 2001 | User or device information is incorrect. Pay more attention to LoginType. | |
State | 1001 | login type is incorrect | |
State | 1002 | Interface program error | |
state | 9999 | Authentication verification failed, usually Checkout value is incorrect |
3.2 GetDeviceList
Interface name:GetDeviceList
Spliced data:ID + DateTime.Now.ToString(“yyyyMMddHH”) + KeyStr(KeyStr is from the supplier) |
||||
Parameter | Type | Description | ||
ID | int | UserID or deviceID,ID type is controlled by TypeID | ||
PageNo | int | current page number | ||
PageCount | int | Number of devices per page | ||
TypeID | int | ID type, 0 – user ID,1 – device ID | ||
IsAll | bool | get all datas of the device
true – Get all datas of device, such as device ID, device name, device model, device positioning information, etc. false – Get device ID and positioning information. Generally,getting all datas of device for the first time,and getting status and positioning information at updating in real time. Getting all datas every time if necessary |
||
MapType | string | Map type:Baidu or Google | ||
Checkout | string | Authenticated encrypted string | ||
CheckID | int | From the supplier | ||
Interface returns:
{“state”:”0″,”nowPage”:”1″,”resSize”:”5″,”arr”:[{“id”:”474922″,”phone”:””,”name”:”VT66A-35588″,”groupID”:”-1″,”car”:”335588″,”status”:”0″,”icon”:”22″,”latitude”:”0.00000″,”longitude”:”0.00000″,”acc”:”0″,”isGT08″:”0″,”isShowAcc”:”0″,”type”:”VT66A”},{“id”:”367730″,”phone”:””,”name”:”2044″,”groupID”:”-1″,”car”:”沪DG8743″,”status”:”2″,”icon”:”22″,”latitude”:”27.83226″,”longitude”:”113.17689″,”acc”:”0″,”isGT08″:”0″,”isShowAcc”:”0″,”type”:”VT33B”},{“id”:”221527″,”phone”:””,”name”:”VT66-24786″,”groupID”:”-1″,”car”:””,”status”:”4″,”icon”:”22″,”latitude”:”23.82722″,”longitude”:”113.19362″,”acc”:”0″,”isGT08″:”0″,”isShowAcc”:”0″,”type”:”VT66″},{“id”:”201182″,”phone”:”设备电话”,”name”:”VT66-50152″,”groupID”:”-1″,”car”:””,”status”:”3″,”icon”:”24″,”latitude”:”39.35810″,”longitude”:”117.85389″,”acc”:”0″,”isGT08″:”0″,”isShowAcc”:”0″,”type”:”VT66″},{“id”:”312016″,”phone”:””,”name”:”VT88-52111″,”groupID”:”-1″,”car”:””,”status”:”3″,”icon”:”22″,”latitude”:”22.57349″,”longitude”:”113.86920″,”acc”:”0″,”isGT08″:”0″,”isShowAcc”:”0″,”type”:”VT88″}]}
|
||||
Parameter Description: | ||||
Parameter | Description | Remark | ||
state | Status of data returned | 0 indicates getting data successfully | ||
nowPage | Current page number | |||
resSize | Number of array elements | |||
arr | Array | |||
id | Device ID | |||
phone | Sim card number inside the device | |||
name | Device name | |||
groupID | Device group ID | |||
car | License plate | |||
status | Device status | 0 indicates not activated
1 indicates moving 2 indicates static 3 indicates offline 4 indicates expired |
||
icon | Device icon | |||
latitude | Corrected Latitude | |||
longitude | Corrected longitude | |||
acc | ACC status | |||
isGT08 | This parameter is temporarily undefined | |||
isShowAcc | This parameter is temporarily undefined | |||
type | Device model | |||
Return status description: | ||||
state | 0 | 0 indicates getting data successfully | ||
state | 2002 | No device list was obtained | ||
state | 1001 | Parameter exception | ||
state | 1002 | Interface program error | ||
state | 9999 | Authentication verification failed, usually Checkout value is incorrect |
3.3 Get Device Group Information of Login Account
Interface name:GetGroupByUserID
Spliced data:UserID + DateTime.Now.ToString(“yyyyMMddHH”) + KeyStr(KeyStr is from the supplier) |
||
Parameter | Type | Description |
UserID | int | Get user ID from Login interface |
Checkout | String | Authenticated encrypted string |
CheckID | int | From the supplier |
Interface returns:
{“state”:”0″,”arr”:[{“id”:”4645″,”name”:”11″}]} |
||
Parameter Description: | ||
Parameter | Description | Remark |
state | Status of data returned | 0 indicates getting data successfully |
arr | Array | |
id | Group ID | |
name | Group name | |
Return status description: | ||
state | 0 | 0 indicates getting data successfully |
state | 2002 | No device group was obtained |
state | 1002 | Interface program error |
state | 9999 | Authentication verification failed, usually Checkout value is incorrect |
3.4 Real-time tracking
Interface name:GetTracking
Spliced data:DeviceID + DateTime.Now.ToString(“yyyyMMddHH”) + KeyStr(KeyStr is from the supplier) |
||||
Parameter | Type | Description | ||
DeviceID | int | Device ID,is from GetDeviceList Interface | ||
TimeZone | string | Time zone ,China Standard Time as default | ||
MapType | string | Map type:Baidu or Google | ||
Checkout | string | Authenticated encrypted string | ||
CheckID | int | From the supplier | ||
Interface returns:
{“state”:”0″,”deviceUtcDate”:”2016-01-22 06:02:58″,”latitude”:”39.35810″,”longitude”:”117.85389″,”olatitude”:”39.35077″,”olongitude”:”117.84135″,”speed”:”0.00″,”status”:”3″,”course”:”0″,”isStop”:”1″,”icon”:”24_0″,”distance”:”942.2323″,”acc”:”1″,”dormancy”:”999″} |
||||
Parameter Description: | ||||
Parameter | Description | Remark | ||
state | Status of data returned | 0 indicates getting data successfully | ||
deviceUtcDate | Positioning time | |||
latitude | Corrected Latitude | |||
longitude | Corrected longitude | |||
olatitude | Original latitude | Uncorrected latitude | ||
olongitude | Original longitude | Uncorrected longitude | ||
speed | speed | Unit: km / h | ||
status | Device status | 0 indicates not activated
1 indicates moving 2 indicates static 3 indicates offline 4 indicates expired |
||
course | Direction angle | 0 degrees is north. 999 indicates LBS positioning |
||
isStop | Static or moving | 1 indicates static
0 indicates moving |
||
icon | icon | ignorable | ||
distance | milage | Accumulated miles Unit: m |
||
acc | ACC status | 1 indicates ACC on 2 indicates ACC off |
||
dormancy | Sleep | 0 indicates power off 1 indicates connecting 2 indicates Sleepping 999 indicates stateless |
||
Return status description: | ||||
state | 0 | 0 indicates getting data successfully | ||
state | 2002 | Device has not been located | ||
state | 1002 | Interface program error | ||
state | 9999 | Authentication verification failed, usually Checkout value is incorrect |
3.5 History tracking
Interface name:GetDevicesHistory
Spliced data:DeviceID + DateTime.Now.ToString(“yyyyMMddHH”) + KeyStr(KeyStr is from the supplier) |
||||
Parameter | Type | Description | ||
DeviceID | int | Device ID is from GetDeviceList Interface | ||
StartTime | String | Tracking start time,format:yyyy-MM-dd HH:mm:ss | ||
EndTime | String | Tracking end tim format:yyyy-MM-dd HH:mm:ss | ||
TimeZone | string | Time zone ,China Standard Time as default | ||
ShowLBS | int | obtain LBS tracking points 1 indicates obtaining GPS+LBS 0 indicates obtaining GPS |
||
MapType | int | Map type:Baidu or Google | ||
SelectCount | string | Number of tracking points | ||
Checkout | string | Authenticated encrypted string | ||
CheckID | int | From the supplier | ||
Interface returns:
{“state”:”0″,”devices”:[{“date”:”2017-03-13 15:19:22″,”lat”:”27.83226″,”lng”:”113.17689″,”s”:”0.00″,”c”:”999″,”stop”:”0″,”stm”:”0″,”i”:”27_0″,”id”:”20171704″,”distance”:”0″},{“date”:”2017-03-13 15:24:08″,”lat”:”27.83162″,”lng”:”113.17728″,”s”:”10.50″,”c”:”302″,”stop”:”0″,”stm”:”0″,”i”:”27_315″,”id”:”20171705″,”distance”:”81″},{“date”:”2017-03-13 15:24:17″,”lat”:”27.83194″,”lng”:”113.17715″,”s”:”20.00″,”c”:”345″,”stop”:”0″,”stm”:”0″,”i”:”27_0″,”id”:”20171706″,”distance”:”38″},{“date”:”2017-03-13 15:24:24″,”lat”:”27.83222″,”lng”:”113.17701″,”s”:”15.50″,”c”:”337″,”stop”:”0″,”stm”:”0″,”i”:”27_315″,”id”:”20171707″,”distance”:”34″},{“date”:”2017-03-13 15:24:38″,”lat”:”27.83259″,”lng”:”113.17694″,”s”:”11.70″,”c”:”266″,”stop”:”0″,”stm”:”0″,”i”:”27_270″,”id”:”20171708″,”distance”:”42″},{“date”:”2017-03-13 15:24:48″,”lat”:”27.83249″,”lng”:”113.17649″,”s”:”19.40″,”c”:”240″,”stop”:”0″,”stm”:”0″,”i”:”27_225″,”id”:”20171709″,”distance”:”46″},{“date”:”2017-03-13 15:24:58″,”lat”:”27.83239″,”lng”:”113.17605″,”s”:”10.90″,”c”:”246″,”stop”:”0″,”stm”:”0″,”i”:”27_225″,”id”:”20171710″,”distance”:”45″}],”lastLocationID”:”20171710″,”lastDeviceUtcDate”:”2017-03-13 15:24:58″} |
||||
Parameter Description: | ||||
Parameter | Description | Remark | ||
state | Status of data returned | 0 indicates getting data successfully | ||
devices | A single-element array | |||
date | Positioning time | |||
lat | Corrected Latitude | |||
lng | Corrected longitude | |||
s | speed | |||
c | Direction angle | 0 degrees is north. 999 indicates LBS positioning |
||
stop | Static or moving | 1 indicates static
0 indicates moving |
||
stm | Stop time | |||
i | Marker picture on map | |||
id | Unique identification of every tracking points | |||
distance | Distance from the last point | Unit: m | ||
lastLocationID | ID of the last point of the returned datas | Developers obtain the next tracking datas based on this ID or time | ||
lastDeviceUtcDate | Positioning time of the last point of the returned datas |
3.6 Get Alarm List
Interface name:GetWarnList
Spliced data:ID + DateTime.Now.ToString(“yyyyMMddHH”) + KeyStr(KeyStr is from the supplier) |
||||
Parameter | Type | Description | ||
ID | int | ID is user ID,if TypeID=0 ID is device ID,if TypeID=1 |
||
PageNo | int | Current page number | ||
PageCount | int | Number of every page 20 as default |
||
TypeID | int | If TypeID=0, ID is user ID
If TypeID=1, ID is device ID |
||
TimeZones | string | Time zone ,China Standard Time as default | ||
Checkout | string | Authenticated encrypted string | ||
CheckID | Int | From the supplier | ||
Interface returns:
{“state”:”0″,”nowPage”:”1″,”resSize”:”2″,”arr”:[{“id”:”88731647″,”name”:”雪弗兰”,”model”:”AW01 “,”notificationname”:”震动报警”,”notificationType”:”7″,”geoName”:””,”deviceDate”:”2017/01/14 17:59″,”createDate”:”2017/01/14 17:59″},{“id”:”88720893″,”name”:”雪弗兰”,”model”:”AW01 “,”notificationname”:”震动报警”,”notificationType”:”7″,”geoName”:””,”deviceDate”:”2017/01/14 13:49″,”createDate”:”2017/01/14 13:49″}]} |
||||
Parameter Description: | ||||
Parameter | Description | Remark | ||
state | Status of data returned | 0 indicates getting data successfully | ||
nowPage | The page which datas is on | |||
resSize | The number of elements in the array collection | |||
arr | A single-element array | |||
id | ID of the alarm message | |||
name | Device name | |||
model | Device model | |||
notificationname | Contents of the alarm | |||
notificationType | Alarm type | 2: get out of the Geo-Fence
3: Low battery alarm; 4:speed alarm 5:SOS alarm 6:power off alarm 7:vibration alarm 9:off line alarm 21:shedding alarm 22: Remove power alarm 26:Acc on alarm 27:Acc off alarm 33:Low voltage of external power alarm 36:Device sleepping alarm |
||
geoName | Geo-Fence name | The interface will return this name if Geo-Fence alarm is triggered,but null value if not | ||
deviceDate | Alarm time | |||
createDate | Time of alarm created | |||
Return status description: | ||||
state | 0 | 0 indicates getting data successfully | ||
state | 2002 | Device is invalid | ||
state | 1002 | Interface program error | ||
state | 9999 | Authentication verification failed, usually Checkout value is incorrect |
3.7 Get device details
Interface name:GetDeviceDetail
Spliced data:DeviceID + DateTime.Now.ToString(“yyyyMMddHH”) + KeyStr(KeyStr is from the supplier) |
|||
Parameter | Type | Description | |
DeviceID | int | Device ID is from GetDeviceList | |
TimeZones | string | Time zone ,China Standard Time as default | |
Checkout | string | Authenticated encrypted string | |
CheckID | int | From the supplier | |
Interface returns:
{“state”:”0″,”id”:”201182″,”name”:”VT66-50152″,”sn”:”868211512050152″,”type”:”VT66″,”speedLimit”:”0.00″,”phone”:””,”carNum”:””,”userName”:””,”cellPhone”:””,”hireExpireTime”:”2027-01-02″,”createTime”:”2015-12-31″,”address”:”天津市天津市丰南区G205/离加油站(西北)约178米/离第189加油站(西北)约205米”} |
|||
Parameter Description: | |||
Parameter | Description | Remark | |
state | Status of data returned | 0 indicates getting data successfully | |
id | Device ID | ||
name | Device name | ||
sn | Device IMEI(15-digit unique identification) | ||
type | Device type | ||
speedLimit | Speed of speeding alarm | ||
phone | SIM card phone number in the device | ||
carNum | License plate | ||
userName | Contact person | ||
cellPhone | Contact phone | ||
hireExpireTime | Expiration time of device | ||
createTime | Created time of device | ||
address | Address to latest location | ||
Return status description: | |||
state | 0 | 0 indicates getting data successfully | |
state | 2002 | Device is invalid | |
state | 1002 | Interface program error | |
state | 9999 | Authentication verification failed, usually Checkout value is incorrect |
3.8 Get the encrypted key
Interface name:ProductMD5Key | ||||
Parameter | Type | Description | ||
mdtstr | string | Spliced data Spliced data is different form each interface when requested,and more details about format of spliced data in every interface specification |
||
Interface returns:
{“state”:”0″,”MD5Key”:”285B5A1379193F063EE8628B69599E8B”} |
||||
Parameter Description: | ||||
Parameter | Description | Remark | ||
state | Status of data returned | 0 indicates getting data successfully | ||
MD5Key | Encrypted string | |||
Return status description: | ||||
state | 0 | 0 indicates encrypting successfully | ||
state | 3003 | 3003 indicates mdtstr is null |
3.9 Get device ID information by IMEI
Interface name:GetDeviceInfoByIMEI
Spliced data:IMEI+ “GetDeviceInfoByIMEI” + KeyStr(KeyStr is from the supplier) |
|||
Parameter | Type | Description | |
IMEI | String | Device IMEI(15-digit unique identification) | |
Checkout | string | Authenticated encrypted string | |
CheckID | int | From the supplier | |
Interface returns:
{“state”:”0″,”DeviceID”:”0″} |
|||
Parameter Description: | |||
Parameter | Description | Remark | |
state | Status of data returned | 0 indicates encrypting successfully
2002 indicates device is invalid 9998 indicates Authentication verification is not active,and you should contact your supplier 9999 indicates authentication verification failed, usually Checkout value is incorrect 1002 indicates interface program error |
|
DeviceID | Unique ID in the server | Int |