汽车在线OPEN API文档

简 介

汽车在线API是汽车在线平台推出的服务开放接口,经过审核的第三方应用或网站都可以有偿使用开放API为用户提供实时优质的服务。
所有的API都是基于REST基础的接口规范,可兼容多种编程语言。

一 OpenAPI使用场景

1.经销商自己有一套系统,想在这个基础上扩充相关GPS功能。
2.经销商的客户的账号由经销商自己的系统管理,用于登录经销商的系统。 经销商系统的账号和汽车在线平台的账号对应关系,经销商自己管理,经销商使用汽车在线平台的账号来获取相应设备数据。
设备IMEI由经销商自己的系统管理,经销商可根据imei获取设备数据。
3.经销商的应用服务器调用API接口。

二 使用方法

经销商提供他的汽车在线平台登陆账号和密码来获取调用api接口访问令牌(access_token)。
经销商在应用服务器端使用该access_token访问OPEN API接口获取所需的数据。

数据交互流程图如下:
数据交互流程图

三 API相关

1 通用参数

参数名 参数类型 是否必需 描述
access_token string 访问令牌,表明其是一个合法第三方,调用汽车在线的任何Restful Open API。获取方法请参考4.1。请勿在服务端代码以外的地方使用该access_token
account string 您申请appkey时所用的汽车在线的登录账号
format string 默认json(暂时只支持JSON)
time number UNIX时间戳,10位,精确到秒。一般是发请求时的时间。
callback string 第三方通过JS调用Open API时可以通过指定callback参数来要求平台端返回JSONP代码,以解决跨域问题。callback参数值只能是 字母 数字 下划线。

2 参数编码

所有的请求和响应数据编码皆为utf-8格式,url里的所有参数值请做URIEncode编码;
各个参数请进行URL 编码(UTF-8),编码时请遵守 RFC 1738

3 HTTP MIME类型

JSON
Content-type: text/html; charset=utf-8
JSONP
Content-type: text/javascript; charset=utf-8

4 接口说明

4.1【获取accesstoken】

接口说明:
获取一个访问。

URL:
http://api.gpsoo.net/1/auth/access_token?

HTTP请求方式:
GET/POST

输入参数说明:

参数名 参数类型 是否必需 默认值 描述
account string 经销商的账号
time number UNIX时间戳,10位,精确到秒
signature string 加密的签名,算法为:md5(md5(经销商账号的密码) + time),md5值使用32位小写字符串

请求示例:
http://api.gpsoo.net/1/auth/access_token?account=testacc&time=1366786321&signature=e9b39daacc811af7109ef1e11a6583bd

返回参数说明:

参数名 参数类型 描述
ret uint 返回码:
0: 正确返回
其它: 失败。错误码说明
msg string 如果ret不为0,会有相应的错误信息提示
access_token string 后续接口访问的访问令牌
expires_in number access token的有效期,以秒为单位

正确返回示例:

	{
	"ret":0,
	"msg":"",
	"access_token":" 13667863217ac80dbbaaf3c74cec21f6d6867bff43",
	"expires_in":7200
	}
	

错误返回示例:

	{"ret":20001,"msg":"账号或密码错误"}
	

特别说明:
(1) access_token 2小时内有效, 不要频繁调用;
(2) 请勿在服务端代码以外的地方使用该access_token;
(3) 调用接口的时候返回10006 (access_token已过期) 错误,就需要重新请求access_token。

4.2【监控】monitor

接口说明:
获取一个账户名下所有设备最新位置信息

URL:
http://api.gpsoo.net/1/account/monitor

HTTP请求方式:
GET/POST

输入参数说明:
(1)通用参数
参见:通用参数
(2)私有参数

参数名 参数类型 是否必需 默认值 描述
target string 要监控的账户(获取token时使用的经销商账户或者其子账户)
map_type string 如果要显示在百度地图上,map_type=BAIDU此时返回的经纬度将经过baidu校准方式校准
如果要显示在google地图上,map_type=GOOGLE,此时返回的经纬度将经过google校准方式校准
map_type如果不填,则返回原始经纬度

请求示例:
http://api.gpsoo.net/1/account/monitor?access_token=0011045701369822736adb020814946df1ded1c8681d026d5c5&map_type=BAIDU&target=mycar&account=testacc&time= 1366786321

返回参数说明:

参数名 参数类型 描述
ret uint 返回码
0: 正确返回
其它: 失败。错误码说明
msg string 如果ret不为0,会有相应的错误信息提示
imei string 设备IMEI
device_info uint 0:正常数据 1:设备未上线 2:设备已过期 3:设备离线
device_info_new uint 0:正常数据 1:设备未上线 2:设备已过期 3:设备离线 4:设备静止
gps_time number 设备定位时间,由设备在定位数据中上报。UTC秒数(如果设备过期,值为0)
sys_ime number 平台收到设备上报位置数据时的系统时间。 UTC秒数(如果设备过期,值为0)
heart_time number 设备与平台的最后通信时间。UTC秒数(如果设备过期,值为0)
server_time number 当前服务器时间。UTC秒数(如果设备过期,值为0)
lng number 经度 (如果设备过期,值为0)
lat number 纬度 (如果设备过期,值为0)
course number 航向(正北方向为0度,顺时针方向增大。最大值360度)
(如果设备过期,值为0)
speed number 速度 (单位:km/h)
(如果设备过期,值为-1)
status string 设备平台状态信息,包括GPS定位状态、设备电池电量、外接电压等级、外接电池电量等信息。(如果设备过期,值为空字符串)
acc unit -1,表示这个设备不支持ACC功能;否则为ACC的状态值(0=关闭,1=开启)
acc_seconds string 该设备切换为当前状态已经过的时长(单位:秒)

正确返回示例:

	{ 
	"ret":0,
	"msg":"",
	"data": [{
		"imei": "353419031939627",
		"device_info":0,
		"gps_time": 1318409927,
		"sys_time": 1318409919,
		"heart_time": 1318409919,
		"server_time": 1318428292,
		"lng": 113.91919,
		"lat": 22.54546,
		"course": 100,
		"speed": 80,
		"acc": "1",
		"acc_secconds" : 3600
	},
		{ 
		"imei": "353419032982170",
		"device_info":0,
		"gps_time": 1318409927,
		"sys_time": 1318409919,
		"heart_time": 1318409919,
		"server_time": 1318428292,
		"lng": 113.91919,
		"lat": 22.54546,
		"course": 100,
		"speed": 80,
		"acc": "1",
		"acc_secconds" : 3600	
	}]
	}
	

错误返回示例:

	{"ret":20005,"msg":"无权查看该账号信息(mycar)"}
	

特别说明:
(1) 若已知设备号, 请用下面的tracking接口, 一次性获取多台设备的位置信息。 父帐号对子帐号的设备是有权限查看的, 不必为每个子帐号去调用monitor接口。

4.3【跟踪】tracking

接口说明:
获取单个/批量设备最新位置信息

URL:
http://api.gpsoo.net/1/devices/tracking

HTTP请求方式:
GET/POST

输入参数说明:
(1)通用参数
参见:通用参数
(2)私有参数

参数名 参数类型 是否必需 默认值 描述
imeis string 设备imei号,多个中间用英文逗号隔开; 如果设备过多,建议采用POST方式(一次最多100个IMEI)
map_type string 如果要显示在百度地图上,map_type=BAIDU此时返回的经纬度将经过baidu校准方式校准
如果要显示在google地图上,map_type=GOOGLE,此时返回的经纬度将经过google校准方式校准
map_type如果不填,则返回原始经纬度

请求示例:
http://api.gpsoo.net/1/devices/tracking?access_token=0011045701369822736adb020814946df1ded1c8681d026d5c5&map_type=BAIDU &account=testacc&imeis=353419031939627,353419032982170&time=1366786321

返回参数说明:

参数名 参数类型 描述
ret uint 返回码
0: 正确返回
其它: 失败。错误码说明
msg string 如果ret不为0,会有相应的错误信息提示
imei string 设备imei
device_info uint 0:正常数据 1:设备未上线 2:设备已过期 3:设备离线
gps_time number 设备定位时间,由设备在定位数据中上报。UTC秒数(如果设备过期,值为0)
sys_time number 平台收到设备上报位置数据时的系统时间。 UTC秒数(如果设备过期,值为0)
heart_time number 设备与平台的最后通信时间。UTC秒数(如果设备过期,值为0)
server_time number 当前服务器时间。UTC秒数(如果设备过期,值为0)
lng number 经度 (如果设备过期,值为0)
lat number 纬度 (如果设备过期,值为0)
course number 航向(正北方向为0度,顺时针方向增大。最大值360度)
(如果设备过期,值为0)
speed number 速度 (单位:km/h)
(如果设备过期,值为-1,如果设备还未上线值为-9)
status string ACC等信息 (如果设备过期,值为空字符串)
acc unit -1,表示这个设备不支持ACC功能;否则为ACC的状态值(0=关闭,1=开启)
acc_seconds string 该设备切换为当前状态已经过的时长(单位:秒)

正确返回示例:

	{ 
	"ret":0,
	"msg":"",
	"data": [{
		"imei": "353419031939627",
		"device_info":0,
		"gps_time": 1318409927,
		"sys_time": 1318409919,
		"heart_time": 1318409919,
		"server_time": 1318428292,
		"lng": 113.91919,
		"lat": 22.54546,
		"course": 100,
		"speed": 80",
		"acc": "1",
		"acc_secconds" : 3600
	},
		{  
		"imei": "353419032982170",
		"device_info":0,
		"gps_time": 1318409927,
		"gps_time": 1318409919,
		"heart_time": 1318409919,
		"server_time": 1318428292,
		"lng": 113.91919,
		"lat": 22.54546,
		"course": 100,
		"speed": 80,
		"acc": "1",
		"acc_secconds" : 3600
	}]
	}
	

错误返回示例:

	{"ret":20007,"msg":"IMEI不存在(353419031939627)"}
	

4.4【历史轨迹】history

接口说明:
获取设备历史轨迹位置信息

URL:
http://api.gpsoo.net/1/devices/history

HTTP请求方式:
GET

输入参数说明:
(1)通用参数
参见:通用参数
(2)私有参数

参数名 参数类型 是否必需 默认值 描述
imei string 设备imei(一次只能一个IMEI)
map_type string 如果要显示在百度地图上,map_type=BAIDU此时返回的经纬度将经过baidu校准方式校准
如果要显示在google地图上,map_type=GOOGLE,此时返回的经纬度将经过google校准方式校准
map_type如果不填/其他值,则返回原始经纬度
begin_time number 开始时间(UTC) 秒数
end_time number 结束时间(UTC) 秒数。end_time不应大于当前时间。
limit number 1000 每次请求数据数量(一次最大1000条)

请求示例:
http://api.gpsoo.net/1/devices/history?access_token=0011045701369822736adb020814946df1ded1c8681d026d5c5&map_type=BAIDU &account=testacc&imei=353419031939627&time=1366786321&begin_time=1452754256&end_time=1452954256

返回参数说明:

参数名 参数类型 描述
ret uint 返回码
0: 正确返回
其它: 失败。错误码说明
msg string 如果ret不为0,会有相应的错误信息提示
gps_time number gps定位时间 UTC秒数
lng number 经度
lat number 纬度
course number 航向(正北方向为0度,顺时针方向增大。最大值360度)
speed number 速度 (单位: km/h)

正确返回示例:

	{
	"ret":0,
	"msg":"",
	"data":[{
		"gps_time": 1318409927,
		"lng": 113.91919,
		"lat": 22.54546,
		"course": 200,
		"speed": 80
		},{
		"gps_time": 1318410927,
		"lng": 113.91919,
		"lat": 22.54546,
		"course": 180,
		"speed": 80}]
	}
	

错误返回示例:

	{"ret":20007,"msg":"IMEI不存在{353419031939627}"}
	{"ret":20010,"msg":"该设备已过期{353419031939627}"}
	

特别说明:
每次获取数据最多只能获取1000条,如果想回放很长一段时间的历史轨迹,需要不断的获取数据,每次获取1000条,然后以最后一条数据的定位时间作为起始时间再次请求获取数据,如果获取的数据少于1000条,表示这段时间内的gps数据已经全部获取完毕,不需要再发请求。

4.5【逆地理位置解析】

接口说明:
根据经纬度得到中文地址

URL:
http://api.gpsoo.net/1/tool/address/

HTTP请求方式:
GET

输入参数说明:
(1)通用参数
参见:通用参数
(2)私有参数

参数名 参数类型 是否必需 默认值 描述
lng number 经度
lat number 纬度
lang string 语言
简体中文=zh-cn
默认简体中文,目前仅支持简体中文
map_type string 用户根据上传的GPS经纬度校准,选用不同的map_type
map_type=BAIDU经纬度参数经过百度校准过
map_type =GOOGLE经纬度参数经过google校准过
非BAIDU ,GOOGLE表示原始经纬度,未经任何校准

请求示例: http://api.gpsoo.net/1/tool/address?lng=114.342155&lat=30.682749&access_token=0011045701369822736adb020814946df1ded1c8681d026d5c5 &account=testacc&time=1366786321
表示请求经度为114.342155,纬度为30.682749的地址 (经纬度是原始值)
http://api.gpsoo.net/1/tool/address?lng=114.343088&lat=30.682888&access_token=0011045701369822736adb020814946df1ded1c8681d026d5c5 &account=testacc&map_type=BAIDU&time= 1366786321
表示请求经度为114.343088,纬度为30.682888的地址 (经纬度不是原始值,该经纬度是经过了百度校准过的经纬度)
http://api.gpsoo.net/1/tool/address?lng=114.343231&lat=30.682345&access_token=0011045701369822736adb020814946df1ded1c8681d026d5c5 &account=testacc&map_type=BAIDU&time= 1366786321
表示请求经度为114.343231,纬度为30.682345的地址 (经纬度不是原始值,该经纬度是经过了GOOGLE校准过的经纬度)

返回参数说明:

参数名 参数类型 描述
ret uint 返回码
0: 正确返回
其它: 失败。错误码说明
msg string 如果ret不为0,会有相应的错误信息提示
address string 返回的地址信息

正确返回示例:

	{
	"ret":0,
	"msg":"",
	"address":"湖北省武汉市堤边路.离新队约78米. "
	}
	

错误返回示例:

	{"ret":20002,"msg":"缺失必选参数(lng) ,请参考API文档"}
	

4.6【获取设备信息】

接口说明:
查询账号下所有设备的相关信息,(注意:返回结果最多为2000,设备数超过2000时按设备号顺序返回前2000条数据)

URL:
http://api.gpsoo.net/1/account/devinfo

HTTP请求方式:
GET/POST

输入参数说明:
(1)通用参数
参见:通用参数
(2)私有参数

参数名 参数类型 是否必需 默认值 描述
target string 要监控的账户(获取token时使用的经销商账户或者其子账户)

请求示例: http://api.gpsoo.net/1/account/devinfo?target=test&account=test&access_token=200071015892101425870161325c151729a416478ac71fe7588b70609800010010014010 &time=1386655342

返回参数说明:

参数名 参数类型 描述
ret uint 返回码
0: 正确返回
其它: 失败。错误码说明
msg string 如果ret不为0,会有相应的错误信息提示
imei string imei号
name string 设备名称
number string 车牌号
phone string 设备电话号码
group_id uint 分组id
group_name string 分组名称
dev_type string 设备类型
in_time uint 开通时间
out_time uint 到期时间
sudu string 为-9表示未启用
efence_support boolean 是否支持电子围栏
children array 子客户数组,最多返回1000条记录,超过1000条记录按ID返回前1000条
id string 子客户ID标识
name string 子客户登录名,可用于target传参,调用现有接口获取子客户相关信息
showname string 子客户名称
owner string 联系人
msisdn string 设备使用的物联卡号码
tel string 联系人电话
deviceremark string 设备备注

正确返回示例:

	{
		"data": [
		{
				"imei": "684611121300041", 
				"name": "goome-00041", 
				"number": "", 
				"phone": "", 
				"group_id": 0, 
				"group_name": "", 
				"dev_type": "X9", 
				"in_time": 1323705600, 
				"out_time": 1862928000, 
				"sudu": "0", 
				"efence_support": true,
			}
		], 
		"children":
		[
					{
						"id"   : “456789”,
						"name" : “wangtao888”,
						"showname" : “wangtao888”,
						"owner" : 联系人,
						"msisdn" : 设备使用的物联卡号码,
						"tel" : 联系人电话,
						"deviceremark" : 设备备注,
					},
					{
						"id"   : “子客户ID”,
						"name" : “子客户登录名”,
						"showname" : “子客户名称”,
						"owner" : 联系人,
						"msisdn" : 设备使用的物联卡号码,
						"tel" : 联系人电话,
						"deviceremark" : 设备备注,
					}
		],
		"ret": 0, 
		"msg": ""
	}
	

错误返回示例:

	{"ret":20002,"msg":"缺失必选参数(target) ,请参考API文档"}
	

4.7【黑名单判断】

接口说明:
查询是否为黑名单

URL:
http://api.gpsoo.net/1/tool/blacklist

HTTP请求方式:
GET/POST

输入参数说明:
(1)通用参数
参见:通用参数
(2)私有参数

参数名 参数类型 是否必需 默认值 描述
cardno string 身份证号查询
drive_cardno string 驾照号

请求示例: http://api.gpsoo.net/1/tool/blacklist?target=test&account=test&access_token=200071015892101425870161325c151729a416478ac71fe7588b70609800010010014010 &time=1386655342&cardno=42027377373788

返回参数说明:

参数名 参数类型 描述
ret uint 返回码
0: 正确返回
其它: 失败。错误码说明
data bool true为黑名单者,false不是

正确返回示例:

	{
		"data": true, 
		"ret": 0, 
		"msg": "" 
	}
	当access_type=inner,返回格式:
	{
		"data": true, 
		"success": true,
		"errcode": 0,
		"msg": "" 
	}
	

错误返回示例:

	{"ret":20002, "msg":"缺失必选参数,请参考API文档"}
	当access_type=inner,返回格式:
	{"success":false, "errcode":20002, "msg":"缺失必选参数,请参考API文档"}
	

4.8 【告警】获取报警总数

接口说明:
获取指定时间段内产生的告警总数。

URL:
http://api.gpsoo.net/1/tool/get_alarminfo?method=getAlarmOverviewCount

HTTP请求方式:
GET/POST

输入参数说明:
(1)通用参数
参见:通用参数
(2)私有参数

参数名 参数类型 是否必需 默认值 描述
method string getAlarmOverviewCount
login_type string

user:查询account参数指定的账号下设备产生的告警

dev:查询imei参数指定的设备产生的告警

account string login_type为user时必填 登陆账号
imei string login_type为dev时必填 login_type为dev时必须不为空
timestamp string 报警数据最早时间戳,如果值小于7天前当前时间点的时间戳,则区7天前的时间戳进行查询

请求示例:
http://api.gpsoo.net/1/tool/get_alarminfo?method=getAlarmOverviewCount&
access_token=20007346330810153675108132688253b509b2aa04768b3a4782286b5f0000010014010&
account=fangtonghe&imei=&login_type=user&timestamp=0

返回参数说明:

参数名 参数类型 描述
count int 报警总数

正确返回示例:

	{
		"ret":0,
		"msg":"",
		"data":{"count":29}
	}
						

错误返回示例:

	{
		"ret":10001,
		"msg":"系统错误(1303)",
		"data":{}
	}
						

4.9【告警】获取报警详情

接口说明:
获取指定时间段内某一种告警类型或者多种告警类型的详细告警信息。

URL:
http://api.gpsoo.net/1/tool/get_alarminfo?method=getAlarmDetail

HTTP请求方式:
GET/POST

输入参数说明:
(1)通用参数
参见:通用参数
(2)私有参数

参数名 参数类型 是否必需 默认值 描述
method string getAlarmDetail
login_type string

user:查询account参数指定的账号下设备产生的告警

dev:查询imei参数指定的设备产生的告警

account string login_type为user时必填 登陆账号,表示查询该账号下设备产生的告警
imei string login_type为dev时必填 login_type为dev时必须不为空,表示查询该设备产生的告警
timestamp string 报警数据最早时间戳,如果值小于7天前当前时间点的时间戳,则取7天前的时间戳进行查询
alarm_type string 需要查询的报警类型,可同时拉取多个类型告警,各类型用逗号隔开。如果为default,拉取所有告警类型告警。
page_dir string
next:向后查询  
									previous:从指定的时间向前查询 
									
查询方向
pagesize string 单次查询告警个数

请求示例:
http://api.gpsoo.net/1/tool/get_alarminfo?method=getAlarmDetail&
access_token=20007346330810153675108132688253b509b2aa04768b3a4782286b5f0000010014010&account=fangtonghe&
alarm_type=1&imei=&login_type=user&page_dir=next&pagesize=10&timestamp=0

返回参数说明:

参数名 参数类型 描述
id string 报警ID
alarm_type_id string 报警类型ID
alarm_type string 报警类型名称
alarm_time string 报警产生时间
gps_time string GPS上报时间
dev_name string 产生报警设备名称
dev_type string 产生报警设备类型
speed string 报警产生时设备速度
imei string 产生报警设备IMEI
gps_status string 报警产生时GPS状态
dir string 报警产生时方向
address string 报警产生位置
lng string 报警产生时设备经度
lat string 报警产生时设备纬度

正确返回示例:

	{
		"ret":0,
		"msg":"",
		"data":
			[{
				"id":"4702725901",
				"alarm_type_id":"1",
				"alarm_type":"Vibrationalarm",
				"alarm_time":1536803851,
				"gps_time":1536803849,
				"dev_name":"goome-64463",
				"dev_type":"GT03C",
				"speed":"0",
				"imei":"868120193064463",
				"gps_status":"01000000000000000000000000000000",
				"dir":"144",
				"address":"广东省东莞市东莞市市辖区青塘路.离凤岗福斌卫生所约19米",
				"lng":"114.176",
				"lat":"22.721124444"
			},
			{
				"id":"3441575131",
				"alarm_type_id":"1",
				"alarm_type":"Vibration alarm",
				"alarm_time":1536803541,
				"gps_time":1536803531,
				"dev_name":"宝马61433",
				"dev_type":"GT03C",
				"speed":"65",
				"imei":"868120200261433",
				"gps_status":"01000000000000000000000000000000",
				"dir":"14",
				"address":"湖南省长沙市浏阳市008县道.离韩家湾(东北)约280米",
				"lng":"113.70779556",
				"lat":"27.965113333"
			}]
	}

						

错误返回示例:

			{
				"ret":10001,
				"msg":"系统错误(1303)",
				"data":{}
			}
								

告警类型定义如下:
alarm_type_id 告警类型
1 震动报警
2 断电报警
3 低电报警
4 SOS求救
5 超速报警
6 离线报警
7 栅栏报警
8 出围栏报警
9 位移报警
20 GPS天线短路报警
21 GPS天线开路报警
22 进入盲区报警
23 离开盲区报警
24 进围栏报警
27 外电低电报警
28 外电低电保护报警
29 启动报警
31 出省市报警
32 拆机报警
33 光感报警
34 磁感报警
35 防拆报警
36 蓝牙报警
37 信号屏蔽报警
38 伪基站报警
40 进二押点报警
41 出二押点报警
42 二押点久留报警

4.10 【里程】获取设备里程统计

接口说明:
获取指定时间段内单个或者多个设备的里程统计信息。

URL:
http://api.gpsoo.net/1/tool/runstatus?method=milestat

HTTP请求方式:
GET/POST

输入参数说明:
(1)通用参数
参见:通用参数
(2)私有参数

参数名 参数类型 是否必需 默认值 描述
method string milestat
imei string 设备imei号
beginTime string 查询开始时间(本地时间戳)
endTime string 查询结束时间(本地时间戳)结束时间和开始时间跨度不能大于31天。结束时间最大不能大于当前时间
timezone Int 用户所在时区(-12,+12)

请求示例:
http://api.gpsoo.net/1/tool/runstatus?method=milestat&
imei=358899052202812&beginTime=1538262000&endTime=1538999476&timezone=1
&_=1480304604876&access_token=20007348292810153900038532704fc002284862a258533dd63062f3790000010014010

返回参数说明:

参数名 参数类型 描述
summary Object 里程统计数据,包含查询设备指定时间段内总里程、总超速次数、总停留次数信息
keys Object Data数组中个字段和索引对应关系 imei:设备IMEI号 datetime:日期 milestat:里程 outspeed:超速次数 stop:停留次数
data Array 里程信息

正确返回示例:

			{
				"ret":0,
				"msg":"OK",
				"summary": {
					"totalmilestat":2330,
					"totaloutspeed":344,
					"totalstop":75
				},
				"keys":{
					"imei":0,
					"datetime":1,
					"milestat":2,
					"outspeed":3,
					"outspeedlimit":4,
					"stop":5
				},
				"data":[
					["358899052202812","2018-09-30","281","11","110","8"],
					["358899052202812","2018-10-01","442.5","103","110","15"],
					["358899052202812","2018-10-02","417.9","84","110","10"],
					["358899052202812","2018-10-03","432","43","110","10"],
					["358899052202812","2018-10-04","418.4","73","110","19"],
					["358899052202812","2018-10-05","338.3","30","110","13"],
					["358899052202812","2018-10-06","0","0","110","0"],
					["358899052202812","2018-10-07","0","0","110","0"],
					["358899052202812","2018-10-08","0","0","110","0"]
				]
			}

								

错误返回示例:

					{
						"ret":10001,
						"msg":"系统错误(1303)",
						"data":{}
					}
										

4.11 【设备】车牌号查询设备信息

接口说明:
获取指定账户下车牌号对应的设备信息。

URL:
http://api.gpsoo.net/1/devices/search?method=plateSearch

HTTP请求方式:
GET/POST

输入参数说明:
(1)通用参数
参见:通用参数
(2)私有参数

参数名 参数类型 是否必需 默认值 描述
method string plateSearch
target string 用户登录的账户 要查询的设备所在的账户,可以是设备所在账户的上级账户
plate string 查询车牌号

请求示例:
http://api.gpsoo.net/1/devices/search?method=plateSearch&account=seeworld&target=白色宾智&plate=粤MRV856&access_token=2000710019521015427620483291bedd1446045efcbcbeb54479398f0b0000010014010

返回参数说明:

参数名 参数类型 描述
data Array 车牌对应的设备信息
user_id int 设备id
school_id int 设备所属的账户id
imei string 设备IMEI号
user_name string 设备名称
phone_num string 设备电话卡号码
use_time string 设备销售时间
car_num string 设备对应的车牌号
user_type string 设备类型
remarks string 设备备注信息

正确返回示例:

{
	"ret":0,
	"msg":"OK",
	"data":[
		{"user_id":2138006,
		"school_id":2702043,
		"imei":"868120118654471",
		"user_name":"粤M.RV856",
		"phone_num":"14701421186",
		"use_time":"2015-03-16",
		"car_num":"粤MRV856",
		"user_type":"GT06N",
		"remarks":""}
	]

}

错误返回示例:

{"ret":10001,"msg":"系统错误(1303)","data":{}}

4.12 【指令】对设备下发指令

接口说明:
对指定的设备下发指令。

URL:
http://api.gpsoo.net/1/tool/order?method=sendDirectOrder

HTTP请求方式:
GET/POST

输入参数说明:
(1)通用参数
参见:通用参数
(2)私有参数

参数名 参数类型 是否必需 默认值 描述
imei string 设备imei号
order_content string 指令的所有内容,包括参数,如果指令内容最后以“#”号结束,需对#进行url编码为“%23”然后下发

请求示例:
http://api.gpsoo.net/1/devices/search?method=sendDirectOrder&imei=358899052202812&order_content=PARAM%23&
access_token=2000710019521015427620483291bedd1446045efcbcbeb54479398f0b0000010014010

返回参数说明:

返回值 返回值类型 描述
id int 下发指令成功后返回的指令记录Id

正确返回示例:

{
	"ret":0,
	"msg":"OK",
	"data":[
	{"id":2138006}
	]
}
						

错误返回示例:

{"ret":10001,"msg":"系统错误(1303)","data":{}}
	

4.13 【指令】获取对设备下发指令的结果

接口说明:
获取对设备下发指令的结果。

URL:
http://api.gpsoo.net/1/tool/order?method=get_response

HTTP请求方式:
GET/POST

输入参数说明:
(1)通用参数
参见:通用参数
(2)私有参数

参数名 参数类型 是否必需 默认值 描述
imei string 设备imei号
id string 下发指令成功后返回的指令记录Id

请求示例:
http://api.gpsoo.net/1/devices/search?method=get_response&imei=358899052202812&id=123545
&access_token=2000710019521015427620483291bedd1446045efcbcbeb54479398f0b00000100

返回参数说明:

返回值 返回值类型 描述
response string 下发指令的内容,包括参数

正确返回示例:

{
	"ret":0,
	"msg":"OK",
	"data":[
	{"response":”xxxxxxxxxx”}
	]
}
						

错误返回示例:

{"ret":10001,"msg":"系统错误(1303)","data":{}}
	

4.14 【告警】用户订阅告警推送接口

接口说明:
用户调用告警推送订阅接口订阅告警通知,告警推送数据按照T809约定的告警推送协议推送给订阅方,因此要求订阅方实现T809的服务端接收告警推送数据,并在调用订阅接口时,携带接收告警推送数据的地址、鉴权信息、要订阅设备所属用户id、告警推送订阅时长等信息。

URL:
http://api.gpsoo.net/1/tool/get_alarminfo?method=subscribeAlarmPush

HTTP请求方式:
GET/POST

输入参数说明:
(1)通用参数
参见:通用参数
(2)私有参数

参数名 参数类型 是否必需 默认值 描述
plat_host string 接收告警消息平台地址
plat_port int 接收告警消息平台端口
userid string 接收告警消息平台登录id
passwd string 接收告警消息平台登录密码
target string 要推送告警设备所属账号
expires_in int 订阅时长,单位是秒

请求示例:
http://api.gpsoo.net/1/tool/get_alarminfo?method=subscribeAlarmPush&plat_host=221.224.36.194&plat_port=4999&userid=2159402&passwd=szth&target=apptest&expires_in=300&access_token=20007424906510167160612532ffc69814317d3791b1bc30ce72b4fe340000010018010&access_type=outer

返回参数说明:

返回值 返回值类型 描述

正确返回示例:
{"ret":0,"msg":"","data":{}}

错误返回示例:
{"ret":10001,"msg":"系统错误(1303)","data":{}}

告警推送协议:
告警推送采用T809的告警推送协议(参考T809 4.5.5),需要接收方实现T809的服务端,并在调用告警推送接口时将服务端相关信息以参数的方式告知。
告警推送业务数据类型:UP_WARN_MSG
子业务数据类型:UP_WARN_MSG_ADPT_INFO

告警推送数据格式定义:
typedef struct

{
	uint8_t warn_src;    //报警信息来源 0x01 车载终端 0x02 企业监控平台
	uint16_t warn_type;  //报警类型 
	uint64_t warn_time;  //报警时间 UTC时间格式
	uint32_t info_id;    //信息ID
	uint32_t info_length;//信息数据长度
	std::string info_content; //信息数据内容
}__attribute__((packed)) T809_UP_WARN_MSG_ADPT_INFO;
						

其中info_content是json序列化后的平台告警数据,字段格式参考示例:

{
	"dev_id":3710,
	"imei":"868120193064463",
	"dev_name":"goome-64463",
	"dev_type":"GT03C",
	"alarm_type_id":"1",
	"alarm_type":"Vibrationalarm",
	"alarm_time":1536803851,
	"gps_time":1536803849,
	"speed":"0",
	"dir":"144",
	"lng":"114.176",
	"lat":"22.721124444"
}
						

5 错误码说明

系统级错误代码:

错误码 含义说明
10001 系统错误
10002 请求的接口不存在
10003 请求频率超过上限
10004 access_token不存在
10005 access_token错误
10006 access_token已过期,请重新获取

服务级错误代码:

错误码 含义说明
20001 账号或密码错误
20002 缺失必选参数(%s),请参考API文档
20003 参数(%s)值非法,%s,请参考API文档
20004 监控账号不存在
20005 无权查看该账号(%s)信息
20006 %s账号名下设备数量超过上限
20007 IMEI不存在(%s)
20008 无权查看该设备(%s)信息
20009 请求的设备数量超过上限
20010 该设备已过期(%s)
20011 地图类型错误,请参考API文档
20012 非法经纬度

6 访问限制说明

6.1 访问频率

一个服务器的访问频率不能超过 600次/分钟,如果需要更高的访问频率授权,请联系我们。

6.2 access_token的有效期

目前默认access_token 的有效期是2小时。

7.名词解释

7.1位置数据的几个时间

1. 定位时间(datetime): 终端设备上来的gps定位时间,是卫星时间
2. 系统时间(systime): 终端设备上来定位数据的时候,服务器的时间,即这条数据上来的时候的服务器时间
3. 心跳时间(heartTime):心跳时间,即终端设备上来心跳数据包的时间(是服务器时间)
4. 服务器时间(servertime):服务器向页面或终端回复数据时的当前服务器时间
补充:andriod等客户端请求设备的位置的数据的时候,会带下去一个serverTime的时间,这个是android客户端请求位置数据时,服务器的时间。即这次请求的时候服务器的时间。给android用来判断设备的运动状态用的

7.2终端设备的状态

终端设备有 未上线,静止,运动,离线 4种状态
服务器时间:servertime,定位时间:datetime,心跳时间:heart_time,系统时间:sys_time
a:服务器时间-定位时间 b:服务器时间-心跳时间 c:服务器时间-系统时间
未上线: 速度为-9,且b 大于1500秒,判断为未上线。
离线: 如果b和c中的最小值大于1500秒(即重新搜网25分钟没有收到心跳),就判断该设备处于离线状态。
静止: 如果a大于35秒(即连续俩个信号周期没有定位)就判断设备处于静止状态, 或者是速度小于某个指定值,以gt02为例,如果速度不大于10(静态漂移)则为静止。
运动: a <=35秒,判定为运动,行驶中。