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获取轨迹数据
jimi.open.device.bind 为设备IMEI绑定用户
jimi.open.device.unbind 为设备IMEI解除绑定用户
jimi.open.device.update 为设备IMEI修改车辆信息
jimi.open.device.move 转移设备
指令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(Map params, 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字符
email 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 公司名
email 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 风险点告警