平台开发接口,可供其他平台或android,ios二次开发  GPS定位平台
1.登陆

方法名:Login
参数一: name 类型:string(用户名或(IMEI号/车牌号))
参数二: pass  类型:string (用户名密码或设备密码)
参数三: loginType  类型:int (值为0: 用户名登陆,1:IMEI号或车牌号登陆)
成功返回:
如果为用户名登陆:
{"state":"0","userInfo":{"userID":"1","userName":"superadmin","loginName":"superadmin","timeZone":"China Standard Time"}}
userID:用户ID
username:用户名
loginName:登陆名
timeZone:时区

如果为IMEI号/车牌号登陆:
{"state":"0","deviceInfo":{"deviceID":"97","deviceName":"BW08aA-70535","timeZone":"China Standard Time"}}
deviceID:设备ID
deviceName:设备名称
timeZone:时区
如果用户名/IMEI号/车牌号密码错误
{"state":"2001"}

2.获取用户设备分组(如果是IMEI号或车牌号登陆则不需要获取分组,就一个默认组)

(每一个用户都有一个固定默认组,此接口返回数据不会返回”默认组”,获取设备列表时,设备如果不属于别的分组,则就属于默认组)
方法名: GetGroupByUserID
参数一: UserID 类型:int,用户ID
成功返回:
{"state":"0","arr":[{"id":”155”,"name":"audi2"},{"id":”154”,"name":"分装"}]}
无结果,返回
{"state":"2002"}

 

3.获取用户下设备列表(也可通过DeviceID获取单个设备)

方法名: GetDeviceList
参数一: ID 类型int,根据TypeID不同而表示不同.(TypeID=0: 0:是UserID,1:是DeviceID)
参数二: PageNo 类型int,查询页.
参数三: PageCount 类型int,每页显示数
参数四:TypeID 类型int,TypeID=0,表示ID是UserID,1表示ID是DeviceID
参数五: IsAll 类型boolean =True,则返回详细数组数据,=False,则返回的数组中指包含设备ID和设备状态.
IsAll=True时,成功返回:
根据UserID分页查询成功返回
{"state":"0","nowPage":"1","resSize":"1","arr":[{"id":"1185","name":"BW08a-65818","groupID":"-1","car":"TEST666111","status":"2","icon":"27"}]}
IsAll=False时,成功返回
{"state":"0","nowPage":"1","resSize":"17","arr":[{"id":"306","status":"0"},{"id":"307","status":"0"},{"id":"324","status":"0"},{"id":"331","status":"0"},{"id":"360","status":"0"}]}
nowPage:当前页
resSize:总数据数
arr:数组
id:deviceID
name:设备名
groupID:分组ID,对应接口2获取设备分组中,返回数组中的id
car:车牌号
status:当前设备状态.0:未启用,1:运动,2:静止,3:离线,4:欠费
icon:图片名,不包含后缀

根据DeviceID查询IsAll=true成功返回
{"state":"0","nowPage":"1","resSize":"1","arr":[{"id":"72","name":"ERIC","groupID":"-1","car":"122","status":"3","icon":"21"}]}
IsAll=False成功返回
{"state":"0","nowPage":"1","resSize":"1","arr":[{"id":"504","status":"0"}]}
返回内容跟用UserID查询返回一样,只是结果只有一条.groupID固定为-1,则应用显示默认组
如果TypeID=1,通过DeviceID查询这个方法, 参数PageNo和参数PageCount无实际意义,可随便传个数字.

 

 

4.实时跟踪

方法名: GetTracking
参数一: DeviceID:设备ID 类型int
参数二: TimeZone:时区 类型string
参数三: MapType:地图类型,类型string 值:Google或Baidu(用于返回适用于此地图的纠偏经纬度)
成功返回:
{"state":"0","deviceUtcDate":"2012-07-10 22:00:36","speed":"0.00","course":"179","isStop":"1","icon":"2","distance":"7376.2186"}
deviceUtcDate:设备定位时间
latitude:纬度
longitude:经度
speed:速度
course:角度
isStop:是否停止
distance:行驶里程
icon:图片名
无结果,返回
{"state":"2002"}

5.历史轨迹

方法名: GetDevicesHistory
参数一: DeviceID:设备ID 类型int
参数二: StartTime:查询开始时间:类型string yyyy-MM-dd HH:mm
参数三:EndTime:查询结束时间:类型string yyyy-MM-dd HH:mm
参数四:TimeZone:时区 类型string
参数五: ShowLBS,是否需要LBS数据,0不需要,1需要 类型int
参数六: MapType:地图类型,类型string 值:Google或Baidu(用于返回适用于此地图的纠偏经纬度)
参数七: SelectCount,查询数据数量,类型int
成功返回:
{"state":"0","devices":[{"date":"2013-01-15 12:00:10","s":"0.00","c":"0","stop":"1","stm":"3","i":"22_0","id":"16819"},{"date":"2013-01-15 12:03:40","s":"12.78","c":"212","stop":"0","stm":"0","i":"22_225","id":"16820"},{"date":"2013-01-15 12:05:10","s":"0.00","c":"0","stop":"1","stm":"3","i":"22_0","id":"16821"}],"lastLocationID":"16821","lastDeviceUtcDate":"2013-01-15 12:05:10"}
Devices:数组
Date:设备定位时间
Lat:纬度
Lng:经度
S:速度
C:角度
Stop:是否停止,1停止,0运动
Stm:停止分钟
i:icon图标文件名
id:每条记录唯一标示ID

lastLocationID:最后一条记录唯一ID
lastDeviceUtcDate:最后一条记录设备时间
(后面2个参数,用于分段查询,如查询8月3号到8月6号的数据,实际有2000条,第一次我返回200条,第二次查询时,开始时间:你传入上一次最后一条记录设备时间即可,我返回的数据如果为空,或者只有一条记录,而这一条记录=上一次查询所保存的lastLocationID,则说明查询完毕)

6.获取地址信息

方法名: GetAddressByLatlng
参数一:Lat 类型string,纬度
参数二:Lng 类型string,经度
参数三: MapType 类型string 地图类型
参数四: Language 类型string 语言 国际标准,如中文:zh-cn 英文:en-us,跟IE浏览器中语言选择相同.
返回:
广东省佛山市南海区竹基南路/离海璟宾馆(东南)138米/离雄豪宾馆(东南)226米

7.获取未处理的报警列表

方法名: GetWarnList
参数一: ID 类型int,根据TypeID不同而表示不同.(TypeID=0: 0:是UserID,1:是DeviceID)
参数二: PageNo 类型int,查询页.
参数三: PageCount 类型int,每页显示数
参数四:TypeID 类型int,TypeID=0,表示ID是UserID,1表示ID是DeviceID
参数五: TimeZones 类型string 时区
成功返回:
{"state":"0","nowPage":"1","resSize":"1325","arr":[{"id":"2130727","name":"ERI ","model":"BW08a","notificationType":"7","geoName":"","deviceDate":"2013/01/25 10:42","createDate":"2013/01/25 11:16"}]}
(如果设备报警不在下面15种之中,则notificationType=0,平台直接将报警类型写在参数: geoName:”偷油报警”中,应用判断,如果为0,直接取geoName显示出来)
nowPage:当前页
resSize:总数据数
arr:数组
name:设备名
model:型号
notificationType:报警类型 ,值int
id:报警ID
1:进电子栅栏
2:出电子栅栏
3:低电报警
4:超速报警
5:SOS报警
6:断电报警
7:震动报警
8:位移报警
9:离线报警
10:疲劳驾驶
11:车辆VSS故障
12:车辆油量异常
13:路线偏离报警
14:非法点火
15:设备故障
geoName:电子栅栏名称,用于电子栅栏报警,显示电子栅栏名
deviceDate:设备定位时间
createDate:报警时间

8.获取单个设备详细信息

方法名: GetDeviceDetail
参数一: DeviceID,类型int,设备ID
参数二: TimeZones,类型string,时区
返回:
{"state":"0","id":"1185","name":"BW08a-65818","sn":"868120103465818","type":"BW08a","model":"12","speedLimit":"0.00","phone":"","carNum":"TEST666111","userName":"","cellPhone":"","hireExpireTime":"2024-07-06","createTime":"2013-07-09"}
id:设备ID
name:设备名称
sn:设备IMEI号
type:设备型号
model:设备型号ID
phone:设备手机卡号
carNum:车牌号
username:设备联系人
cellphone:设备联系人电话
hireExpireTime:设备到期时间
CreateTime:设备创建时间

9.获取版本号

方法名: GetVersion
参数一: type 类型string 是android,还是iphone,
参数二: mapType 类型string,区分是国内版还是国外版
返回:
1.0

 

10.获取报警经纬度

方法名: GetWarnLatLng
参数一: ExceptionID 类型int,报警ID,
参数二: mapType 类型string,地图,Google或Baidu
返回:
23.1232,113.1231

 

11.下发命令

方法名: SendCommandByAPP
参数一: SN 类型string 设备IMEI号
参数二: DeviceID 类型int 设备ID
参数三: CommandType 类型string 下发命令类型
参数四: Model 类型int 设备型号ID(在接口8 GetDeviceDetail中返回的有model)
参数五: Paramter 类型string 命令的一些参数,没有则为空 .多个参数的分隔符为:-
返回:int
返回值说明:大于10,已经下发成功,1:设备不存在,2:设备当前没有跟服务器保持连接,-1:命令无效,3:下发不成功

 

state值对应说明

0

成功

1001

参数不对

1002

程序报错,异常.可能参数错误等

2001

登录名或密码错误

2002

没有查询到任何结果