1.经销商自己有一套系统,想在这个基础上扩充相关GPS功能。
2.经销商的客户的账号由经销商自己的系统管理,用于登录经销商的系统。
经销商系统的账号和汽车在线平台的账号对应关系,经销商自己管理,经销商使用汽车在线平台的账号来获取相应设备数据。
设备IMEI由经销商自己的系统管理,经销商可根据imei获取设备数据。
3.经销商的应用服务器调用API接口。
经销商提供他的汽车在线平台登陆账号和密码来获取调用api接口访问令牌(access_token)。
经销商在应用服务器端使用该access_token访问OPEN API接口获取所需的数据。
数据交互流程图如下:
参数名 | 参数类型 | 是否必需 | 描述 |
---|---|---|---|
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参数值只能是 字母 数字 下划线。 |
所有的请求和响应数据编码皆为utf-8格式,url里的所有参数值请做URIEncode编码;
各个参数请进行URL 编码(UTF-8),编码时请遵守 RFC 1738。
JSON
Content-type: text/html; charset=utf-8
JSONP
Content-type: text/javascript; charset=utf-8
接口说明:
获取一个访问。
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。
接口说明:
获取一个账户名下所有设备最新位置信息
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接口。
接口说明:
获取单个/批量设备最新位置信息
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)"}
接口说明:
获取设备历史轨迹位置信息
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数据已经全部获取完毕,不需要再发请求。
接口说明:
根据经纬度得到中文地址
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文档"}
接口说明:
查询账号下所有设备的相关信息,(注意:返回结果最多为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文档"}
接口说明:
查询是否为黑名单
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文档"}
接口说明:
获取指定时间段内产生的告警总数。
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×tamp=0
返回参数说明:
参数名 | 参数类型 | 描述 |
---|---|---|
count | int | 报警总数 |
正确返回示例:
{ "ret":0, "msg":"", "data":{"count":29} }
错误返回示例:
{ "ret":10001, "msg":"系统错误(1303)", "data":{} }
接口说明:
获取指定时间段内某一种告警类型或者多种告警类型的详细告警信息。
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×tamp=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 | 二押点久留报警 |
接口说明:
获取指定时间段内单个或者多个设备的里程统计信息。
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":{} }
接口说明:
获取指定账户下车牌号对应的设备信息。
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":{}}
接口说明:
对指定的设备下发指令。
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":{}}
接口说明:
获取对设备下发指令的结果。
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":{}}
接口说明:
用户调用告警推送订阅接口订阅告警通知,告警推送数据按照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" }
系统级错误代码:
错误码 | 含义说明 |
---|---|
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 | 非法经纬度 |
一个服务器的访问频率不能超过 600次/分钟,如果需要更高的访问频率授权,请联系我们。
目前默认access_token 的有效期是2小时。
1. 定位时间(datetime): 终端设备上来的gps定位时间,是卫星时间
2. 系统时间(systime): 终端设备上来定位数据的时候,服务器的时间,即这条数据上来的时候的服务器时间
3. 心跳时间(heartTime):心跳时间,即终端设备上来心跳数据包的时间(是服务器时间)
4. 服务器时间(servertime):服务器向页面或终端回复数据时的当前服务器时间
补充:andriod等客户端请求设备的位置的数据的时候,会带下去一个serverTime的时间,这个是android客户端请求位置数据时,服务器的时间。即这次请求的时候服务器的时间。给android用来判断设备的运动状态用的
终端设备有 未上线,静止,运动,离线 4种状态
服务器时间:servertime,定位时间:datetime,心跳时间:heart_time,系统时间:sys_time
a:服务器时间-定位时间 b:服务器时间-心跳时间 c:服务器时间-系统时间
未上线: 速度为-9,且b 大于1500秒,判断为未上线。
离线: 如果b和c中的最小值大于1500秒(即重新搜网25分钟没有收到心跳),就判断该设备处于离线状态。
静止: 如果a大于35秒(即连续俩个信号周期没有定位)就判断设备处于静止状态, 或者是速度小于某个指定值,以gt02为例,如果速度不大于10(静态漂移)则为静止。
运动: a <=35秒,判定为运动,行驶中。