English概述
使用场景
经销商自己有一套系统,想在这个基础上扩充相关GPS功能。 经销商的客户的账号由经销商自己的系统管理,用于登录经销商的系统。 经销商系统的账号和汽车在线平台的账号对应关系,经销商自己管理,经销商使用汽车在线平台的账号来获取相应设备数据。 设备IMEI一般都会在出货前导入平台,导入到经销商账号后由经销商自己的系统管理,经销商可根据imei获取设备数据。 经销商的应用服务器调用API接口获取相应数据后自行处理。
使用方法
经销商提供他的几米平台登录账号、密码、邮箱和营业执照照片给业务申请appKey,appSecret 通过appkey、appSecret调用api接口获取访问令牌(access_token)。 经销商在应用服务器端使用该接口获取所需的数据。
协议格式
公共约定
约定
请求:Context-Type:application/x-www-form-urlencoded 时间统一采用UTC时间,国内是北京时间,格式 国外环境,时间是零时区UTC时间,格式
返回数据公共属性
参数 | 类型 | 类型 | 描述 |
---|---|---|---|
code | Int | 是 | 结果码 |
message | String | 否 | Code描述 |
Code解释
code | 值 | 描述 |
---|---|---|
-1 | -1 | 系统繁忙 |
0 | 0 | 成功 |
1xxx | 1001 | 参数错误(缺少必选参数或格式错误),具体查看接口描述 |
1002 | 非法用户/非法设备(查询的账号或设备不是自己的或下级的) | |
1003 | 重复提交操作 | |
1004 | 非法访问,token异常!(token失效或不存在) | |
1005 | 非法访问,ip访问超过限定次数! | |
1006 | 非法访问,请求频率过高! | |
1007 | 非法访问,请求方法错误! | |
1008 | 非法访问,来路异常! | |
12001 | 创建平台账号操作失败 | |
12002 | 转移设备操作失败 | |
12003 | 创建电子围栏操作失败 | |
12004 | 删除电子围栏操作失败 | |
12005 | 发送指令失败 | |
12006 | 更新设备信息失败 | |
12007 | 当前围栏名称已存在 | |
12008 | 围栏超过创建个数 | |
12009 | 围栏名称存在特殊字符 | |
12010 | 保存围栏告警失败 | |
12011 | 非法用户,删除围栏失败 | |
12012 | 删除围栏失败 | |
12013 | 没有查到围栏 | |
12014 | 围栏最多关联设备数量300个 |
业务错误码
业务 | 错误码 | 描述 |
---|---|---|
创建账号 | 213 | 账号已存在 |
214 | 操作账号不存在 | |
215 | 用户类型错误,可能原因:1,新建用户类型为空;2,新建用户类型不存在;3,当前登录用户无权限新加该类型用户 | |
100001 | 没有创建平台账号的权限 | |
转移设备 | 217 | 目标用户不存在 |
218 | 操作用户只能往下级用户转移/销售设备 | |
219 | imei列表不合法 | |
220 | imei数量超出限制 | |
修改设备 | 223 | 车辆图标无效 |
电子围栏 | 41001 | 超过机型支持围栏数 |
41002 | 围栏名已存在 | |
41003 | 设备不在线 | |
41004 | 电子围栏操作失败 | |
41005 | 电子围栏不存在 | |
41006 | 不支持创建电子围栏 | |
指令 | 225 | 超时 |
226 | 参数错误 | |
227 | 指令未正确执行 | |
228 | 设备不在线 | |
229 | 网络错误,连接断开等 | |
238 | 设备中断 | |
240 | 数据错误 | |
243 | 设备不支持 | |
252 | 设备忙 | |
255 | 设备成功 |
通信流程
API数据流程

API列表
接口类别 | method参数名称 | 描述 |
---|---|---|
认证API | jimi.oauth.token.get | 获取access_token |
jimi.oauth.token.refresh | 刷新access_token | |
用户API | jimi.user.child.createPlatformUsers | 为指定账号创建子账号 |
jimi.user.child.list | 查询账号下的所有子账户信息 | |
jimi.user.device.list | 查询账户下所有设备信息 | |
jimi.user.device.location.list | 查询账户下所有设备最新位置信息 | |
设备API | jimi.device.location.get | 根据IMEI获取最新定位数据 |
jimi.device.location.getByImei | 根据IMEI查询数据 | |
jimi.open.device.getDetails | 根据IMEI获取设备详细信息 | |
jimi.open.device.getObdVehicleCondition | 根据IMEI获取设备ODB车况,故障信息 | |
jimi.open.device.getClock | 获取打卡统计 | |
jimi.device.track.list | 根据IMEI获取轨迹数据 | |
指令API | jimi.open.instruction.list | 获取设备支持的指令列表 |
jimi.open.instruction.send | 指定设备发送指令 | |
jimi.open.instruction.result | 获取设备指令结果 | |
围栏API | jimi.open.device.fence.create | 为设备imei创建电子围栏 |
jimi.open.device.fence.delete | 为设备imei删除电子围栏 | |
jimi.open.device.fence.get | 获取设备电子围栏信息 | |
jimi.open.plat.fence.create | 创建平台围栏 | |
jimi.open.plat.fence.delete | 删除平台围栏 | |
jimi.open.plat.fence.query | 查询平台围栏 | |
LBS-API | jimi.lbs.address.get | wifi、基站定位解析 |
消息服务 | jimi.push.device.alarm | 推送设备告警信息 |
接口调用限制/频次说明
接口 | 说明 |
---|---|
认证API | |
其他接口 | |
消息服务 |
协议详情
调用入口
调用 API的服务URL地址,文档中所有接口都使用该url访问
调用环境 | 服务地址(HTTP) |
---|---|
国内正式环境 | http://open.aichezaixian.com/route/rest |
认证
由几米服务平台给出API连接地址、有效的appkey和appSecret,用户通过
获取。
调用API时传入,并对请求参数进行签名,几米服务器端会验证
请求参数是否合法。
通用参数
参数名称 | 参数类型 | 是否必填 | 参数说明 | 取值说明 | 默认值 |
---|---|---|---|---|---|
method | String | 是 | API接口名称 | ||
timestamp | String | 是 | 时间戳,格式为yyyy-MM-dd HH:mm:ss允许与系统时间误差正负10分钟,例如:2012-03-25 20:00:00 | ||
app_key | String | 是 | 几米分给客户的APP_KEY | ||
sign | String | 是 | API输入参数签名结果 | ||
sign_method | String | 是 | 可选,指定签名方式。系统默认md5,支持方式有:md5 | md5 | md5 |
v | String | 是 | 可选,指定API版本。系统默认1.0,支持版本有:0.9、1.0 | 0.9:不进行签名校验1.0:会进行签名校验 | |
format | String | 是 | 可选,指定响应格式。系统默认json | json |
API签名
为了防止API调用过程中被黑客恶意篡改,调用任何一个API都需要携带签名,TOP服务端会根据请求参数,对签名进行验证,签名不合法的请求将会被拒绝。TOP目前支持的签名算法有: MD5(本接口通用参数里面sign_method的值为md5),签名大体过程如下:
对所有API请求参数(包括公共参数和业务参数,但除去sign参数和byte[]类型的参数),根据参数名称的ASCII码表的顺序排序。如: foo=1, bar=2, foo_bar=3, foobar=4排序后的顺序是bar=2, foo=1, foo_bar=3, foobar=4。
将排序好的参数名和参数值拼装在一起,根据上面的示例得到的结果为:bar2foo1foo_bar3foobar4
把拼装好的字符串采用utf-8编码,使用签名算法对编码后的字节流进行摘要。如果使用MD5算法,则需要在拼装的字符串前后加上app的secret后,再进行摘要,如:md5(secret+bar2foo1foo_bar3foobar4+secret)
将摘要得到的字节流结果使用十六进制表示,如: hex(“helloworld”.getBytes(“utf-8”)) = “68656C6C6F776F726C64”
说明:MD5是128位长度的摘要算法,用16进制表示,一个十六进制的字符能表示4个位,所以签名后的字符串长度固定为32个十六进制字符。
算法
JAVA代码示例:
public static String signTopRequest(Mapparams, String secret, String signMethod) throws IOException { // 第一步:检查参数是否已经排序 String[] keys = params.keySet().toArray(new String[0]); Arrays.sort(keys); // 第二步:把所有参数名和参数值串在一起 StringBuilder query = new StringBuilder(); if ("md5".equals(signMethod)) { query.append(secret); } for (String key : keys) { String value = params.get(key); if (StringUtils.areNotEmpty(key, value)) { query.append(key).append(value); } } // 第三步:使用MD5/HMAC加密 byte[] bytes; if ("hmac".equals(signMethod)) { bytes = encryptHMAC(query.toString(), secret); } else { query.append(secret); bytes = encryptMD5(query.toString()); } // 第四步:把二进制转化为大写的十六进制 return byte2hex(bytes); } public static byte[] encryptHMAC(String data, String secret) throws IOException { byte[] bytes = null; try { SecretKey secretKey = new SecretKeySpec(secret.getBytes("UTF-8"), "HmacMD5"); Mac mac = Mac.getInstance(secretKey.getAlgorithm()); mac.init(secretKey); bytes = mac.doFinal(data.getBytes("UTF-8")); } catch (GeneralSecurityException gse) { throw new IOException(gse.toString()); } return bytes; } public static byte[] encryptMD5(String data) throws IOException { return encryptMD5(data.getBytes("UTF-8")); } private static byte[] encryptMD5(byte[] bytes) throws IOException { MessageDigest md = null; try { md = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { throw new IOException(e.toString()); } return md.digest(bytes); } public static String byte2hex(byte[] bytes) { StringBuilder sign = new StringBuilder(); for (int i = 0; i < bytes.length; i++) { String hex = Integer.toHexString(bytes[i] & 0xFF); if (hex.length() == 1) { sign.append("0"); } sign.append(hex.toUpperCase()); } return sign.toString(); }
IOS代码示例:
#import "JAVAToOC.h" #import <CommonCrypto/CommonDigest.h> @implementation JAVAToOC + (NSString *)signToRequest:(NSDictionary *)params secret:(NSString *)secret signMethod:(NSString *)signMethod { //第一步:参数按ASCII码表排序 NSArray *keys = params.allKeys; NSStringCompareOptions comparisonOptions =NSCaseInsensitiveSearch|NSNumericSearch| NSWidthInsensitiveSearch|NSForcedOrderingSearch; NSComparator sort = ^(NSString *obj1,NSString *obj2){ NSRange range =NSMakeRange(0,obj1.length); return [obj1 compare:obj2 options:comparisonOptions range:range]; }; NSArray *keysSort = [keys sortedArrayUsingComparator:sort]; //第二步:把所有参数名和参数串在一起 NSMutableString *appendStr = [[NSMutableString alloc] init]; if ([@"md5" isEqualToString:signMethod]) { [appendStr appendString:secret]; } for (NSString *key in keysSort) { NSString *value = params[key]; if (value) { [appendStr appendString:[NSString stringWithFormat:@"%@%@",key,value]]; } } // 第三步:使用MD5加密 [appendStr appendString:secret]; NSString *md5Result = [self md5HexDigest:appendStr]; return md5Result; } //MARK - md5加密 + (NSString *) md5HexDigest:(NSString *)str { const char *original_str = [str UTF8String]; unsigned char result[CC_MD5_DIGEST_LENGTH]; CC_MD5(original_str, strlen(original_str), result); NSMutableString *hash = [NSMutableString string]; for (int i = 0; i < 16; i++) [hash appendFormat:@"%02X", result[i]]; return [hash uppercaseString]; } @end
API调用示例
Java示例下载:java-demo
获取accesstoken
接口说明
获取后续访问接口的令牌,1分钟内只能访请求1次,在有效期内访问token不变。
请求URL
本接口通用参数里面method的值为jimi.oauth.token.get
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名称 | 参数类型 | 是否必填 | 参数说明 | 取值说明 | 默认值 |
---|---|---|---|---|---|
user_id | String | 是 | 平台账号 | ||
user_pwd_md5 | String | 是 | 平台账号对应密码的MD5值 | 使用commons-codec.jar DigestUtils.md5Hex(pwd.getBety()); | MD5结果是小写的 |
expires_in | String | 是 | access token的有效期,以秒为单位 | 60-7200 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 结果 |
result参数列表:
参数 | 类型 | 描述 |
---|---|---|
accessToken | String | 后续接口访问的访问令牌,对应到公司下的帐号 |
expiresIn | String | 有效期 |
account | String | 请求的账号 |
appKey | String | 几米分给给客户的APP_KEY |
refreshToken | String | 刷新令牌,用于更新accessToken |
time | String | 令牌生成的时间 |
正确返回示例:
{ "code": 0, "message": "success", "result": { "appKey": "8FB345B8693CCD003CC2DAB123456789", "account": "jimitest", "accessToken": "7da3330ec28e3996b6ef4a7123456789", "expiresIn": 60, "refreshToken": "7da3330ec28e3996b6ef4a7123456789", "time": "2017-06-15 10:00:00" } }
错误返回示例:
{"code":xxx,"message":"账号或密码错误"}
刷新accesstoken
接口说明
该接口用于在accessToken即将失效时,通过该接口强制更新令牌,1分钟内只能访请求1次。
请求URL
本接口通用参数里面method的值为jimi.oauth.token.refresh
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名称 | 参数类型 | 是否必填 | 参数说明 | 取值说明 | 默认值 |
---|---|---|---|---|---|
access_token | String | 是 | 授权的令牌 | ||
refresh_token | String | 是 | 授权的刷新令牌 | ||
expires_in | String | 是 | access token的有效期,以秒为单位 | 60-7200 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 结果 |
result参数列表:
参数 | 类型 | 描述 |
---|---|---|
accessToken | String | 后续接口访问的访问令牌,对应到公司下的帐号 |
expiresIn | String | 有效期 |
account | String | 请求的账号 |
appKey | String | 几米分给给客户的APP_KEY |
refreshToken | String | 刷新令牌,用于更新accessToken |
time | String | 令牌生成的时间 |
正确返回示例:
{ "code": 0, "message": "success", "result": { "appKey": "8FB345B8693CCD003CC2DAB123456789", "account": "jimitest", "accessToken": "7da3330ec28e3996b6ef4a7123456789", "expiresIn": 60, "refreshToken": "7da3330ec28e3996b6ef4a7123456789", "time": "2017-06-15 10:00:00" } }
错误返回示例:
{"code":xxx,"message":"非法请求,token无效"}
创建平台账号
接口说明
为指定账号创建子账号。
请求URL
本接口通用参数里面method的值为jimi.user.child.createPlatformUsers
HTTP请求方式
POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名称 | 参数类型 | 是否必填 | 参数说明 | 取值说明 | 默认值 |
---|---|---|---|---|---|
access_token | String | 是 | 授权的令牌 | ||
top_account | String | 是 | 上级账号 | 取值范围3-30字符 | |
nick_name | String | 是 | 客户名称 | 取值范围3-50字符 | |
account_type | String | 是 | 新增账号类型 | (8:代理商,9:机构)说明:代理商可建用户:代理商,机构;机构可建用户:机构 | |
account | String | 是 | 登录账号 | 取值范围3-30字符 | |
password | String | 是 | 密码,采用md5加密后的值,小写 | 一个32位固定值使用commons-codec.jar DigestUtils.md5Hex(pwd.getBety()); | |
phone | String | 否 | 手机号 | 取值范围0-20字符 | |
String | 否 | 邮箱 | 取值范围0-50字符 | ||
contact | String | 否 | 联系人 | 取值范围0-50字符 | |
company_name | String | 否 | 公司名 | 取值范围0-50字符 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 结果 |
正确返回示例:
{ "code": 0, "message": "添加成功", "result": null }
错误返回示例:
{"code":12001,"message":"创建用户失败,结果码:213"}
根据账户,获取该账户下的所有子账户信息
接口说明
查询账号下的所有子账户信息。
请求URL
本接口通用参数里面 method的值为jimi.user.child.list
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 无 | 访问令牌,表明其是一个合法第三方 |
target | String | 是 | 无 | 要查询的用户账号(获取token时使用的账户或者其子账户) |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的参数 |
result参数列表:
参数 | 类型 | 描述 |
---|---|---|
account | String | 登录帐号 |
name | String | 显示名称 |
type | Int | 帐号类型 3:终端用户 8:一级代理商 9:普通用户 10:普通代理商 11:销售 |
displayFlag | Int | 是否启用(1:启用,0:不启用) |
address | String | 所在地 |
birth | String | 生日 |
companyName | String | 公司名 |
String | 邮箱 | |
phone | String | 联系电话 |
language | String | 语言(zh,en) |
sex | Int | 性别0男,1女 |
enabledFlag | Int | 标志:1可用,0不可用 |
remark | String | 备注 |
正确返回示例:
{ "code": 0, "message": "success", "result": [ { "account": "123123", "name": "测试", "type": 8, "displayFlag": 1, "address": null, "birth": "2017-04-22 00:00:00", "companyName": "", "email": "", "phone": "", "language": "zh", "sex": 0, "enabledFlag": 1, "remark": null } ] }
错误返回示例:
{"code":xxx,"message":"查询的账号不存在"}
根据账户,获取该账户下的所有IMEI信息
接口说明
查询账户下所有设备信息。
请求URL
本接口通用参数里面method的值为jimi.user.device.list
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
target | String | 是 | 无 | 要查询的用户账号(获取token时使用的账户或者其子账户) |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
result参数列表:
参数 | 类型 | 描述 |
---|---|---|
imei | String | 设备IMEI |
deviceName | String | 设备名称 |
mcType | String | 设备型号 |
mcTypeUseScope | String | 机型使用范围(aotomobile:汽车 electromobile:电动车 personal:个人 pet:宠物 plane:飞机 others:其他) |
equipType | String | 设备类型(WIRED:有线 WIRELESS:无线) |
sim | String | Sim卡号 |
expiration | String | 到期时间,格式yyyy-MM-dd HH:mm:ss |
activationTime | String | 激活时间,格式yyyy-MM-dd HH:mm:ss |
reMark | String | 备注 |
vehicleName | String | 车辆名称 |
vehicleIcon | String | 车辆图标 |
vehicleNumber | String | 车牌号 |
vehicleModels | String | 车辆品牌 |
carFrame | String | 车架号 |
driverName | String | 司机名称 |
driverPhone | String | 司机电话 |
enabledFlag | Int | 是否启用(0:不启用;1:启用) |
engineNumber | String | 电机发动机号 |
正确返回示例:
{ "code": 0, "message": "success", "result": [ { "imei": "868120145233604", "deviceName": "868120145233604", "mcType": "GT300L", "mcTypeUseScope": "personal", "sim": "415451", "expiration": "2037-04-01 23:59:59", "activationTime": "2017-04-01 11:02:20", "reMark": "test", "vehicleName": null, "vehicleIcon": "bus", "vehicleNumber": "粤B3604", "vehicleModels": null, "carFrame": "2235", "driverName": "driver", "driverPhone": "13825036579", "enabledFlag": 1, "engineNumber": "8565674" } ] }
错误返回示例:
{"code":xxx,"message":"查询的账号不存在"}
根据账户,获取该账户下所有IMEI的最新定位数据
接口说明
获取一个账户名下所有设备最新位置信息。
请求URL
本接口通用参数里面method的值为jimi.user.device.location.list
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
target | String | 是 | 无 | 要查询的用户账号(获取token时使用的账户或者其子账户) |
map_type | String | 否 | 无 | 如果要显示在百度地图上,map_type=BAIDU此时返回的经纬度将经过baidu校准方式校准 如果要显示在google地图上,map_type=GOOGLE,此时返回的经纬度将经过google校准方式校准 map_type如果不填,则返回原始经纬度 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
result数据:
参数 | 类型 | 描述 |
---|---|---|
imei | String | 设备IMEI |
deviceName | String | 设备名称 |
icon | String | 车辆图标 |
status | String | 设备状态 0,离线; 1,在线 |
lat | Double | 纬度 (如果设备过期,值为0) |
lng | Double | 经度 (如果设备过期,值为0) |
expireFlag | String | 是否过期1-未过期 0-过期 |
activationFlag | String | 是否激活1-激活 0-未激活 |
posType | String | 卫星定位-GPS, 基站定位-LBS, WIFI定位-WIFI, 蓝牙定位-BEACON |
locDesc | String | 位置信息(固定为NULL) |
gpsTime | String | GPS定位时间 |
hbTime | String | 心跳时间 |
speed | String | 速度 (单位:km/h) |
accStatus | String | Acc状态 0:关闭 1:打开 |
electQuantity | String | 设备电量(0-100),部分设备型号不支持 |
powerValue | String | 外电电压(0-100),部分设备支持 |
mileage | String | 里程统计 |
powerStatus | String | 是否接入电源 1-已接入 0-未接入 |
正确返回示例:
{ "code": 0, "message": "success", "result": [ { "imei":"201912260011110", "deviceName":"GT300L++-11110", "icon":"automobile", "status":"1", "posType":"GPS", "lat":22.579998960919067, "lng":113.92774687675565, "hbTime":"2019-12-26 22:47:07", "accStatus":"1", "powerValue":null, "powerStatus":"1", "speed":"94", "gpsTime":"2019-12-26 20:48:58", "activationFlag":"1", "expireFlag":"1", "electQuantity":"100", "locDesc":null, "mileage":null }, { "imei":"869354040542244", "deviceName":"GT300FZ+-42244", "icon":"automobile", "status":"0", "posType":"LBS", "lat":22.580009603951005, "lng":113.92818862706419, "hbTime":"2019-11-19 18:42:27", "accStatus":"0", "powerValue":null, "powerStatus":"0", "speed":null, "gpsTime":"2019-11-19 18:35:54", "activationFlag":"1", "expireFlag":"1", "electQuantity":"100", "locDesc":null, "mileage":"8983728.82476919" } ] }
错误返回示例:
{"code":xxx,"message":"查询的账号不存在"}
根据IMEI获取最新定位数据
接口说明
获取单个或多个设备最新的位置信息
请求URL
本接口通用参数里面method的值为jimi.device.location.get
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imeis | String | 是 | 无 | 设备imei号,多个中间用英文逗号隔开。 如果设备过多,建议采用POST方式(一次最多100个IMEI) |
map_type | String | 否 | 无 | 如果要显示在百度地图上,map_type=BAIDU此时返回的经纬度将经过baidu校准方式校准 如果要显示在google地图上,map_type=GOOGLE,此时返回的经纬度将经过google校准方式校准 map_type如果不填,则返回原始经纬度 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
参数 | 类型 | 描述 |
---|---|---|
imei | String | 设备IMEI |
deviceName | String | 设备名称 |
icon | String | 车辆图标 |
status | String | 设备状态 0,离线; 1,在线 |
lat | Double | 纬度 (如果设备过期,值为0) |
lng | Double | 经度 (如果设备过期,值为0) |
expireFlag | String | 是否过期 1-未过期 0-过期 |
activationFlag | String | 是否激活 1-激活 0-未激活 |
posType | String | 卫星定位-GPS, 基站定位-LBS, WIFI定位-WIFI, 蓝牙定位-BEACON |
locDesc | String | 位置信息(固定为NULL) |
gpsTime | String | GPS定位时间 |
hbTime | String | 心跳时间 |
speed | String | 速度 (单位:km/h) |
accStatus | String | Acc状态 0:关闭 1:打开 |
electQuantity | String | 设备电量(0-100),部分设备型号不支持 |
powerValue | String | 外电电压(0-100),部分设备支持 |
正确返回示例:
{ "code": 0, "message": "success", "result": [ { "imei": "201801090000053", "deviceName": "GT320-00053", "icon": "automobile", "status": "1", "posType": "GPS", "lat": 22.58474332760045, "lng": 113.94101783150425, "hbTime": "2019-01-18 15:32:43", "accStatus": "1", "powerValue": null, "speed": "82", "gpsTime": "2019-01-18 15:25:44", "activationFlag": "1", "expireFlag": "1", "electQuantity": "100", "locDesc": null } ] }
错误返回示例:
{"code":xxx,"message":"查询的账号不存在"}
根据IMEI查询数据
接口说明
获取单个或多个设备最新的位置信息
请求URL
本接口通用参数里面method的值为jimi.device.location.getByImei
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imeis | String | 是 | 无 | 设备imei号,多个中间用英文逗号隔开。 如果设备过多,建议采用POST方式(一次最多100个IMEI) |
map_type | String | 否 | 无 | 如果要显示在百度地图上,map_type=BAIDU此时返回的经纬度将经过baidu校准方式校准 如果要显示在google地图上,map_type=GOOGLE,此时返回的经纬度将经过google校准方式校准 map_type如果不填,则返回原始经纬度 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
参数 | 类型 | 描述 |
---|---|---|
imei | String | 设备IMEI |
status | String | 设备状态 0,离线; 1,在线 |
lat | Double | 纬度 (如果设备过期,值为0) |
lng | Double | 经度 (如果设备过期,值为0) |
posType | String | 卫星定位-GPS, 基站定位-LBS, WIFI定位-WIFI, 蓝牙定位-BEACON |
gpsTime | String | GPS定位时间,格式:yyyy-MM-dd HH:mm:ss |
hbTime | String | 心跳时间,格式:yyyy-MM-dd HH:mm:ss |
speed | String | 速度 (单位:km/h) |
gpsSignal | String | GPS信号强度,1-5值越大信号越强 |
gpsNum | String | 参与定位卫星数 |
direction | String | 移动的方位角度 0-360 |
powerStatus | String | 是否已接电源 1-已接入 0-未接入 |
mileage | String | 里程统计 |
正确返回示例:
{ "code": 0, "message": "success", "result": [ { "imei": "201901151234568", "status": "0", "lat": 22.58202343477221, "lng": 113.93004104938407, "posType": "GPS", "gpsTime": "2019-01-29 16:40:04", "hbTime": "2019-01-29 16:42:51", "speed": "20", "gpsSignal": "3", "direction": "西北向(方向数:332)", "mileage": "267103.63141907065", "gpsNum": "11", "powerStatus": "1" } ] }
错误返回示例:
{"code":xxx,"message":"非法设备"}
根据IMEI获取设备详细信息
接口说明
获取单个或多个设备的详细信息
请求URL
本接口通用参数里面method的值为jimi.open.device.getDetails
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imeis | String | 是 | 无 | 设备imei号,多个中间用英文逗号隔开; 如果设备过多,建议采用POST方式(一次最多100个IMEI) |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
参数 | 类型 | 描述 |
---|---|---|
imei | String | 设备IMEI |
deviceName | String | 设备名称 |
account | String | 所属用户账号 |
activationTime | String | 激活时间 |
expiration | String | 过期时间 |
mcType | String | 机型 |
sim | String | 卡号 |
bindUserAccount | String | 绑定用户账号 |
status | String | 状态 NORMAL-开机 DISABLE-停机 |
driverPhone | String | 电话 |
vehicleIcon | String | 车辆图标 |
equipType | String | 设备类型(WIRED:有线 WIRELESS:无线) |
mcTypeUseScope | String | 机型使用范围(aotomobile:汽车 electromobile:电动车 personal:个人 pet:宠物 plane:飞机 others:其他) |
reMark | String | 备注 |
sn | String | 箱号 |
vehicleName | String | 车辆名称 |
vehicleNumber | String | 车牌号 |
vehicleModels | String | 车辆品牌 |
carFrame | String | 车架号 |
driverName | String | 司机名 |
idCard | String | 身份证 |
engineNumber | String | 发动机号 |
installTime | String | 安装时间 |
installAddress | String | 安装地址 |
installCompany | String | 安装公司 |
installPosition | String | 安装位置 |
installPersonnel | String | 安装人员 |
installImage | String | 安装图片 |
salesMan | String | 业务员 |
正确返回示例:
{ "code": 0, "message": "success", "result": [ { "imei": "987456123012358", "deviceName": "123456788012354ui", "account": "jimitest", "activationTime": "2016-10-27 11:44:29", "expiration": "2036-10-27 11:44:29", "mcType": "ET200", "sim": "22", "bindUserAccount": null, "status": "NORMAL", "driverPhone": "25", "vehicleIcon": "taxi", "equipType": null, "mcTypeUseScope": "electromobile", "reMark": "123456788012354", "sn": "123456788012354", "vehicleName": null, "vehicleNumber": "123456788012354u", "vehicleModels": null, "carFrame": "123456788012354", "driverName": "是", "idCard": "123456788012354", "engineNumber": "123456788012354", "installTime": null, "installAddress": "123456788012354", "installCompany": "123456788012354", "installPosition": "123456788012354", "installPersonnel": "123456788012354", "installImage": "", "salesMan": null } ] }
错误返回示例:
{"code":xxx,"message":"非法设备"}
根据IMEI获取设备ODB车况,故障信息
接口说明
获取单个或多个设备的ODB车况,故障信息
时间跨度不超过90天的数据。
请求URL
本接口通用参数里面method的值为jimi.open.device.getObdVehicleCondition
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imeis | String | 是 | 无 | 设备imei号,多个中间用英文逗号隔开; 如果设备过多,建议采用POST方式(一次最多100个IMEI) |
startTime | String | 是 | 无 | 开始时间,格式为yyyy-MM-dd HH:mm:ss |
endTime | String | 是 | 无 | 结束时间,格式为yyyy-MM-dd HH:mm:ss |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
参数 | 类型 | 描述 |
---|---|---|
acc | Int | acc信号 |
batteryVoltage | Double | 电池电压 |
direction | String | 航向 |
engineLoad | Double | 发动机负荷 |
fuelConsumption1 | Double | 平均油耗 |
fuelConsumption2 | Double | 瞬时油耗 |
gpsInfo | Int | 参与定位的卫星数 |
gpsLen | Int | GPS信息长度 |
gpsMode | Int | 定位模式 0:实时定位 1:差分定位 |
gpsSpeed | Int | 车速 |
gpsTime | String | GPS定位时间,格式:yyyy-MM-dd HH:mm:ss |
idleTime | Double | 当前行程怠速时间 |
imei | String | 设备号 |
lat | Double | 纬度 |
lng | Double | 经度 |
maxSpeed | Double | 当前行程最高速度 |
oilPer | Double | 单次用油量 |
positionStatus | Int | 定位状态 0:为定位 1:已定位 |
rotatingSpeed | Double | 转速 |
speed | Double | 速度 |
throttlePosition | Double | 节气门开度 |
waterTemperature | Double | 水温 |
正确返回示例:
{ "code": 0, "message": "success", "result": [ { "batteryVoltage": 13, "rotatingSpeed": 0, "gpsSpeed": 0, "engineLoad": 0, "throttlePosition": 0, "waterTemperature": 89, "fuelConsumption2": 0, "fuelConsumption1": 0, "oilPer": 0, "acc": 0, "idleTime": 0, "maxSpeed": 0, "gpsLen": 0, "gpsInfo": 0, "lat": 0, "lng": 0, "speed": 0, "gpsMode": 0, "positionStatus": 0, "direction": "正北向(方向数:0)" }, { "batteryVoltage": 13, "rotatingSpeed": 0, "gpsSpeed": 0, "engineLoad": 0, "throttlePosition": 0, "waterTemperature": 89, "fuelConsumption2": 0, "fuelConsumption1": 0, "oilPer": 0, "acc": 0, "idleTime": 0, "maxSpeed": 0, "gpsLen": 0, "gpsInfo": 0, "lat": 0, "lng": 0, "speed": 0, "gpsMode": 0, "positionStatus": 0, "direction": "正北向(方向数:0)" }, { "batteryVoltage": 13, "rotatingSpeed": 0, "gpsSpeed": 0, "engineLoad": 0, "throttlePosition": 0, "waterTemperature": 89, "fuelConsumption2": 0, "fuelConsumption1": 0, "oilPer": 0, "acc": 0, "idleTime": 0, "maxSpeed": 0, "gpsLen": 0, "gpsInfo": 0, "lat": 0, "lng": 0, "speed": 0, "gpsMode": 0, "positionStatus": 0, "direction": "正北向(方向数:0)" } ] }
错误返回示例:
{"code":xxx,"message":"非法设备"}
获取打卡统计
接口说明
根据imei号,开始时间和结束时间
时间跨度不超过90天的数据。
请求URL
本接口通用参数里面method的值为jimi.open.device.getClock
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imeis | String | 是 | 无 | 设备imei号,多个中间用英文逗号隔开; 如果设备过多,建议采用POST方式(一次最多100个IMEI) |
startTime | String | 是 | 无 | 开始时间,格式为yyyy-MM-dd HH:mm:ss |
endTime | String | 是 | 无 | 结束时间,格式为yyyy-MM-dd HH:mm:ss |
clockType | String | 否 | 无 | 打卡类型:1-上班 2-下班 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
参数 | 类型 | 描述 |
---|---|---|
imei | String | 设备号 |
posMode | Int | 是否GPS定位:0-否 1-是 |
clockType | Int | 打卡类型:1-上班 2-下班 |
lat | Double | 纬度 |
lng | Double | 经度 |
addr | String | 地址 |
gpsTime | String | 打卡时间,格式:yyyy-MM-dd HH:mm:ss |
正确返回示例:
{ "code": 0, "message": "success", "result": [ { "imei": "201801030929012", "posMode": 1, "clockType": 1, "lat": 39.92839, "lng": 119.539592, "addr": "河北省秦皇岛市海港区汨罗江道1号,天河铝塑板厂南174米", "gpsTime": "2019-09-09 09:47:24" }, { "imei": "201801030929012", "posMode": 1, "clockType": 2, "lat": 39.918617, "lng": 119.477338, "addr": "河北省秦皇岛市海港区潘阳湖路,津秦客运专线西北137米", "gpsTime": "2019-09-09 09:47:24" } ] }
错误返回示例:
{"code":xxx,"message":"非法设备"}
根据IMEI获取轨迹数据
接口说明
允许有线设备获取三个月内,时间跨度不超过2天的轨迹数据。
允许无线设备获取三个月内,时间跨度不超过60天的轨迹数据。
请求URL
本接口通用参数里面 method的值为jimi.device.track.list
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 无 | 访问令牌,表明其是一个合法第三方 |
imei | String | 是 | 无 | 设备imei号(一次只能一个IMEI) |
begin_time | String | 是 | 无 | 开始时间,格式为yyyy-MM-dd HH:mm:ss |
end_time | String | 是 | 无 | 结束时间,格式为yyyy-MM-dd HH:mm:ss end_time不应大于当前时间。 |
map_type | String | 否 | 无 | 如果要显示在百度地图上,map_type=BAIDU此时返回的经纬度将经过baidu校准方式校准 如果要显示在google地图上,map_type=GOOGLE,此时返回的经纬度将经过google校准方式校准 map_type如果不填,则返回原始经纬度 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
result数据列表:
参数 | 类型 | 描述 |
---|---|---|
lng | Double | 经度 |
lat | Double | 纬度 |
gps Time | String | gps定位时间 格式yyyy-MM-dd HH:mm:ss |
direction | String | 方位,正北开始的一个360度的极坐标方向 |
gpsSpeed | String | GPS速度 |
posType | String | 定位类型1是卫星定位 2是基站定位 3是wifi定位 |
正确返回示例:
{ "code": 0, "message": "success", "result": [ { "lat": 22.577144898887813, "lng": 113.91674845964586, "gpsTime": "2017-04-26 00:00:58", "direction": 0, "gpsSpeed": -1, "posType": 3 }, { "lat": 22.57708, "lng": 113.916631, "gpsTime": "2017-04-26 00:01:30", "direction": 184, "gpsSpeed": 0, "posType": 1 } ] }
错误返回示例:
{"code":xxx,"message":"IMEI不存在{353419031939627}"}
{" code ":xxx,"message":"该设备已过期{353419031939627}"}
为设备IMEI修改车辆信息
接口说明
提供通过设备imei号更改车辆信息。
请求URL
本接口通用参数里面 method的值为jimi.open.device.update
HTTP请求方式
POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imei | String | 是 | 无 | 设备imei号 |
device_name | String | 否 | 无 | 设备名称 |
vehicle_name | String | 否 | 无 | 车辆名称 |
vehicle_icon | String | 否 | 无 | 车辆图标 |
vehicle_number | String | 否 | 无 | 车牌号 |
vehicle_models | String | 否 | 无 | 车辆品牌 |
driver_name | String | 否 | 无 | 司机名称 |
driver_phone | String | 否 | 无 | 司机电话 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
正确返回示例:
{ "code": 0, "message": "修改设备车辆信息成功", "result": null }
错误返回示例:
{"code":xxx,"message":"设备imei不存在"}
转移设备
接口说明
将账号上的设备转移到下级账号上。
请求URL
本接口通用参数里面 method的值为jimi.open.device.move
HTTP请求方式
POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
src_account | String | 是 | 无 | 原用户账号 |
dest_account | String | 是 | 无 | 目标用户账号 |
imeis | String | 是 | 无 | 设备imei列表,使用逗号分隔,最多支持500个 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
正确返回示例:
{ "code": 0, "message": "转移设备成功", "result": null }
错误返回示例:
{"code":12002,"message":"转移设备失败,结果码:217"}
获取设备支持的指令列表
接口说明
获取指定设备机型支持的指令列表。 注:不同型号的设备指令表不一样,获取到的指令列表是后台平台配置好,可以通过此接口下发给设备的,另可跟业务人员要相关型号指令表文档,辅助理解,接口不支持自定义指令。
请求URL
本接口通用参数里面 method的值为jimi.open.instruction.list
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imei | String | 是 | 无 | 设备imei号 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
result参数列表:
参数 | 类型 | 描述 |
---|---|---|
id | String | 指令编码 |
orderName | String | 指令名称 |
orderContent | String | 指令模板 |
orderExplain | String | 指令说明 |
orderMsg | String | 提示 |
isOffLine | String | 是否支持离线指令 0:否 1:是 |
正确返回示例:
{ "code": 0, "message": "success", "result": [ { "id": 81, "orderName": "SOS设置", "orderContent": "SOS,A,{0},{1},{2}#", "orderExplain": "SOS号码用于接收报警短信以及接收SOS报警,支持3~20位数字SOS号码设置", "orderMsg": "", "isOffLine": "1" } ... ] }
错误返回示例:
{"code":xxx,"message":"非法设备"}
指定设备发送指令
接口说明
给指定设备发送指令。
请求URL
本接口通用参数里面 method的值为jimi.open.instruction.send
HTTP请求方式
POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imei | String | 是 | 无 | 设备imei号 |
inst_param_json | String | 是 | 无 | 指令消息json字符串 |
inst_param_json参数说明
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
inst_id | String | 是 | 无 | 指令编码 |
inst_template | String | 是 | 无 | 指令模板 |
params | Array<string> | 是 | 无 | 指令参数字符串数组 |
is_cover | boolean | 否 | false | 是否覆盖已存在的离线指令true-覆盖 false-不覆盖 |
inst_param_json参数示例: {\"inst_id\":\"81\", \"inst_template\":\"SOS,A,{0},{1},{2}#\", \"is_cover\": false, \"params\":[\"13243\",\"13241\"]}
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
正确返回示例:
{ "code": 0, "message": "发送指令成功", "result": null }
错误返回示例:
{"code": 12005,"message": "下发指令失败,结果码:226","result": null}
获取设备指令结果
接口说明
获取设备已发送的指令结果。
请求URL
本接口通用参数里面 method的值为jimi.open.instruction.result
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imei | String | 是 | 无 | 设备imei号 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
result参数列表:
参数 | 类型 | 描述 |
---|---|---|
codeId | String | 指令编码 |
code | String | 发送的指令 |
content | String | 设备回复内容 |
isExecute | String | 指令状态0:执行失败,1:执行成功,3:待发送,4:已取消 |
sendTime | String | 发送时间 格式:yyyy-MM-dd HH:mm:ss |
sender | String | 发送者 |
receiveDevice | String | 接收的imei号 |
isOffLine | String | 0在线 1离线 |
idsource | String | 指令描述 |
正确返回示例:
{ "code": 0, "message": "success", "result": [ { "codeId": "99", "code": "status#", "content": "参数错误", "isExecute": "4", "sendTime": "2017-06-19 11:46:00", "sender": "jimitest", "receiveDevice": "868120111111117", "isOffLine": "1", "idsource": "自定指令" } ] }
错误返回示例:
{"code":xxx,"message":"非法设备"}
为设备IMEI创建电子围栏
接口说明
为设备imei创建一个电子围栏信息
请求URL
本接口通用参数里面method的值为jimi.open.device.fence.create
HTTP请求方式
POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imei | String | 是 | 无 | 设备imei号 |
fence_name | String | 是 | 无 | 围栏名称 |
alarm_type | String | 是 | 无 | 告警类型(in/out/in,out) |
report_mode | String | 是 | 无 | 报警上报方式,0:仅GPRS,1:SMS+GPRS |
alarm_switch | String | 是 | 无 | 围栏报警开关(ON开启/OFF关闭) |
lng | String | 是 | 无 | 经度(说明:请传入与地图类型匹配的坐标系) |
lat | String | 是 | 无 | 纬度(说明:请传入与地图类型匹配的坐标系) |
radius | String | 是 | 无 | 围栏半径(1~9999;单位:百米) |
zoom_level | String | 是 | 无 | 缩放级别(3-19) |
map_type | String | 是 | 无 | 地图类型(baidu/google) |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据,成功后返回围栏序号 |
正确返回示例:
{ "code": 0, "message": "创建电子围栏成功", "result": "5" }
错误返回示例:
{ "code": 41003, "message": "设备不在线,无法创建电子围栏", "result": null }
为设备IMEI删除电子围栏
接口说明
为设备imei删除一个电子围栏信息
请求URL
本接口通用参数里面method的值为jimi.open.device.fence.delete
HTTP请求方式
POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imei | String | 是 | 无 | 设备imei号 |
instruct_no | String | 是 | 无 | 电子围栏指令序号 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
正确返回示例:
{ "code": 0, "message": "删除电子围栏成功", "result": "5" }
错误返回示例:
{ "code": 41003, "message": "设备不在线,无法删除电子围栏", "result": null }
获取设备电子围栏信息
接口说明
查询设备已设置的电子围栏记录
请求URL
本接口通用参数里面method的值为jimi.open.device.fence.get
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imei | String | 是 | 无 | 设备imei号 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
result参数列表:
参数 | 类型 | 描述 |
---|---|---|
imei | String | 设备IMEI |
fenceName | String | 电子围栏名称 |
instructNo | String | 电子围栏指令序号 |
alarmType | String | 进出报警类型in,out |
radius | String | 半径 |
mapType | String | 地图类型,baidu/google |
zoomLevel | String | 缩放级别 |
lat | double | 与地图类型对应的纬度 |
lng | double | 与地图类型对应的经度 |
gpsLat | double | 原始GPS纬度坐标 |
gpsLng | double | 原始GPS经度坐标 |
instructCode | int | 设备返回码,参考指令错误码 |
正确返回示例:
{ "code": 0, "message": "success", "result": [ { "imei": "456789123456801", "fenceName": "11111111111", "instructNo": "1", "alarmType": "in,out", "radius": "5344", "mapType": "baidu", "zoomLevel": "12", "lat": 22.6969, "lng": 113.988498, "gpsLat": 22.693452554454886, "gpsLng": 113.97709023148917, " instructCode":255 }, { "imei": "456789123456801", "fenceName": "1111223", "instructNo": "2", "alarmType": "in,out", "radius": "4191", "mapType": "baidu", "zoomLevel": "12", "lat": 22.613654, "lng": 113.998272, "gpsLat": 22.610193418762954, "gpsLng": 113.98684308538836, " instructCode":255 }] }
创建平台围栏
接口说明
为设备imei创建一个平台围栏信息(一个imei最多创建20个平台围栏;围栏名称不可包含特俗字符;围栏名称不可重复)
请求URL
本接口通用参数里面method的值为jimi.open.plat.fence.create
HTTP请求方式
POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imei | String | 是 | 无 | 设备imei号(多个中间用英文逗号隔开) |
fence_name | String | 是 | 无 | 围栏名称 |
fence_shape | String | 是 | circle | 围栏形状(只能为circle——圆) |
status | String | 是 | 无 | in-进围栏,out-出围栏,all-进出都有 |
lng | double | 是 | 无 | 经度(说明:请传入与地图类型匹配的坐标系) |
lat | double | 是 | 无 | 纬度(说明:请传入与地图类型匹配的坐标系) |
radius | double | 是 | 无 | 围栏半径(200~999900;单位:米) |
map_type | String | 是 | 无 | 地图类型(baidu/google) |
scale | int | 是 | 无 | 缩放级别(3~19) |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据,成功后返回围栏序号 |
正确返回示例:
{ "code": 0, "message": "成功", "result": "01013fa931464dd792596c8194b93a11" }
错误返回示例:
{ "code": 12008, "message": "围栏超过创建个数", "result": null }
删除平台围栏
接口说明
删除平台围栏信息
请求URL
本接口通用参数里面method的值为jimi.open.plat.fence.delete
HTTP请求方式
POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
fence_id | String | 是 | 无 | 围栏ID |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
正确返回示例:
{ "code": 0, "message": "成功", "result": null }
错误返回示例:
{ "code": 12012, "message": "删除围栏失败", "result": null }
查询平台围栏
接口说明
查询平台围栏信息
请求URL
本接口通用参数里面method的值为jimi.open.plat.fence.query
HTTP请求方式
GET
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imei | String | 是 | 设备号 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
result参数列表:
参数 | 类型 | 描述 |
---|---|---|
imei | String | 设备imei号 |
fenceName | String | 围栏名称 |
fenceShape | String | 围栏形状(只能为circle——圆) |
status | String | in-进围栏,out-出围栏,all-进出都有 |
lng | double | 经度与地图类型对应的经度 |
lat | double | 纬度与地图类型对应的纬度 |
gpsLng | double | 经度原始GPS经度坐标 |
gpsLat | double | 纬度原始GPS纬度坐标 |
radius | double | 围栏半径(200~999900;单位:米) |
mapType | String | 地图类型(baidu/google) |
scale | int | 缩放级别(3~19) |
fenceId | int | 围栏ID |
正确返回示例:
{ "code":0, "data":[ { "imei":"201902270000991", "fenceName":"20190404135126", "fenceShape":"circle", "status":"", "lng":113.92678, "lat":22.594122, "gpsLng":22.5876611571396, "gpsLat":113.92075500939703, "radius":400, "mapType":"baidu", "scale":16, "fenceId":"f6f725bc7582417c94a53fd87f46a70a" }, { "imei":"201902270000991", "fenceName":"大家围栏", "fenceShape":"circle", "status":"", "lng":114.03696, "lat":22.616546, "gpsLng":22.609745442778124, "gpsLat":114.03099923044476, "radius":200, "mapType":"baidu", "scale":3, "fenceId":"61fc1f44ad2d414c9c9d3cd5cf7ba3c5" } ], "msg":"success" }
wifi、基站定位解析接口
接口说明
按用户名下总设备数(按每10次/天/设备,包含下级所有子账户)总数配置限额。
wifi、基站定位解析接口,相同设备10秒只能调1次,接口返回的坐标系为WGS84
请求URL
本接口通用参数里面 method的值为jimi.lbs.address.get
HTTP请求方式
GET/POST
请求参数
(1)通用参数
参见:通用参数
(2)私有参数
参数名 | 参数类型 | 是否必须 | 默认值 | 描述 |
---|---|---|---|---|
access_token | String | 是 | 访问令牌,表明其是一个合法第三方 | |
imei | String | 是 | 无 | 设备Imei号 |
lbs | String | 否 | 无 | (wifi和LBS至少一项) LBS信息组(mcc,mnc,lac,cell,rssi)最多7个,每组五项,每一项不能为空,顺序不能改变 MCC移动国家代码,中国460 MNC移动网络码,移动0 LAC基站分区信息, 2312 23222 CELL基站编码23222 RSSI信号量-70 |
wifi | String | 否 | 无 | (wifi和LBS至少一项) mac1,rssi1| mac2,rssi2 mac地址,没有中间的冒号,大小写不敏感, rssi信号强度 |
返回值
参数 | 类型 | 描述 |
---|---|---|
code | Int | 返回码: 0: 正确返回 其它: 失败。参考错误码说明 |
message | String | 如果code不为0,会有相应的错误信息提示 |
result | String | 返回的数据 |
result参数列表:
参数 | 类型 | 描述 |
---|---|---|
lng | String | 经度(WGS84坐标系) |
lat | String | 纬度(WGS84坐标系) |
accuracy | String | 精准度,值越大越好 |
正确返回示例:
{ "code": 0, "message": "success", "result": { "lat": 40.65615416521587, "lng": 109.89894039833524, "accuracy": 0 } }
错误返回示例:
{"code":xxx,"message":"非法设备"}
消息推送接口
接口说明
第三方平台提供已经调通的消息接收的url地址发给对接人员,几米平台调用该url请求发送数据
消息服务列表
消息服务 | 描述 |
---|---|
jimi.push.device.alarm | 设备告警数据 |
推送的内容如下:
参数 | 类型 | 描述 |
---|---|---|
msgType | String | 消息类型,对应消息服务列表 |
data | String | 消息内容,具体内容与msgType对应 |
告警推送 (jimi.push.device.alarm)
推送策略:当告警推送失败时,会将失败告警记录下,第二天上午9点定时重推一次,如果还是失败则丢弃。
推送的告警属性如下:
参数 | 类型 | 描述 |
---|---|---|
imei | String | 设备imei |
deviceName | String | 设备名称 |
alarmType | String | 告警类型 |
alarmName | String | 告警名称 |
lat | String | 纬度(WGS84坐标系) |
lng | String | 经度(WGS84坐标系) |
alarmTime | String | 告警时间,格式(yyyy-MM-dd HH:mm:ss) |
address | String | 告警地址(未解析成功时返回null) |
消息示例:

参数示例: "msgType": "jimi.push.device.alarm", "data": { "imei": "868120145233604", "deviceName": "868120145233604", "alarmType": "2", "alarmName": "断电报警", "lat": 40.65615416521587, "lng": 109.89894039833524, "alarmTime": "2017-05-08 12:00:00", "address": "北京市xxx路" }
附:设备告警类型
参数 | 描述 |
---|---|
1 | SOS求救 |
2 | 断电报警 |
3 | 震动报警 |
4 | 进入电子围栏(终端) |
5 | 离开电子围栏(终端) |
6 | 超速报警 |
9 | 位移报警 |
10 | 进卫星盲区报警 |
11 | 出卫星盲区报警 |
12 | 开机报警 |
13 | 卫星第一次定位报警 |
14 | 外电低电报警 |
15 | 外电低电保护报警 |
16 | 换卡报警 |
17 | 关机报警 |
18 | 外电低电保护后飞行模式报警 |
19 | 拆卸报警 |
20 | 门报警 |
22 | 声控报警 |
23 | 伪基站报警 |
24 | 开盖报警 |
25 | 内部电池低电报警 |
32 | 进入深度睡眠报警 |
37 | 光感报警 |
45 | 脱落报警 |
50 | 拔出报警 |
60 | 盗车报警 |
61 | 非法启动报警 |
90 | 低电报警 |
128 | 后视镜震动报警 |
129 | 超流量告警 |
135 | 超速报警(DVR) |
144 | 急加速告警 |
145 | 急减速告警 |
146 | 急转弯告警 |
147 | 撞车告警 |
192 | 非法移动告警 |
194 | 后备电池电量不足告警 |
195 | 越界告警 |
1001 | ACC关闭 |
1002 | ACC开启 |
1003 | 离线告警 |
1004 | 停留告警 |
1005 | 逗留告警 |
1006 | 进入围栏 |
1007 | 离开围栏 |
1008 | 长时间不进围栏 |
1009 | 长时间不出围栏 |
1010 | 黑车围栏告警 |
1011 | 超速报警(平台) |
1012 | 风险点告警 |