Service
启用/禁用设备的单个解禁证书
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: unlock_license_switch
Data:
license_id
解禁证书唯一标识
int
enable
是否启用
bool
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"enable": true,
"license_id": 240330
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "unlock_license_switch"
}Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: unlock_license_switch
Data:
result
返回码
int
非 0 代表错误
license_id
解禁证书唯一标识
int
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"license_id": 240330,
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1234567890123,
"method": "unlock_license_switch"
}更新设备的解禁证书
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: unlock_license_update
Data:
file
离线证书文件
struct
可缺省,如此按照 Flysafe 服务器最新证书进行更新
»url
文件 URL
text
»fingerprint
文件签名
text
文件 MD5 签名
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"file": {
"fingerprint": "xxxx",
"url": "https://xx.oss-cn-hangzhou.aliyuncs.com/xx.kmz?Expires=xx&OSSAccessKeyId=xxx&Signature=xxx"
}
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "unlock_license_update"
}Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: unlock_license_update
Data:
result
返回码
int
非 0 代表错误
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1234567890123,
"method": "unlock_license_update"
}获取设备的解禁证书列表
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: unlock_license_list
Data:
device_model_domain
指定证书拉取位置
enum_int
{"0":"飞行器","3":"机场"}
从飞行器拉取的是成功导入飞行器的解禁证书;从机场拉取的是 Flysafe 官网申请通过的解禁证书。
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"device_model_domain": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "unlock_license_list"
}Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: unlock_license_list
Data:
result
返回码
int
非 0 代表错误
device_model_domain
解禁证书位置
enum_int
{"0":"飞行器","3":"机场"}
consistence
证书一致性
bool
当前飞机已导入的证书和服务器已申请通过的证书是否一致
licenses
证书列表
array
{"size": -, "item_type": struct}
»common_fields
通用信息
struct
»»license_id
解禁证书唯一标识
int
»»name
解禁证书名称
text
»»type
解禁证书类型
enum_int
{"0":"授权区解禁","1":"自定义圆形区域解禁","2":"国家/地区解禁","3":"限高解禁","4":"自定义多边形区域解禁","5":"功率解禁","6":" RID 解禁"}
»»group_id
证书所在分组的唯一标识
int
一个用户账号为一台设备申请的所有证书同属于一组
»»user_id
证书归属用户的账号
text
Flysafe 官网申请解禁证书要求提供大疆账号或机场SN, 机场也被认为是用户的一种, Flysafe 官网为机场分配了唯一ID
»»device_sn
证书绑定的设备序列号(SN)
text
»»begin_time
有效期起始时间戳
int
秒级 UNIX 时间戳
»»end_time
有效期终止时间戳
int
秒级 UNIX 时间戳
»»user_only
是否需要校验用户账号
bool
»»enabled
是否启用
bool
»area_unlock
授权区解禁证书信息
struct
»»area_ids
区域编号集合
array
{"size": -, "item_type": enum_int}
»circle_unlock
自定义圆形区域解禁证书信息
struct
»»radius
区域半径
int
{"unit":"米 / m"}
»»latitude
圆心纬度
double
{"max":90,"min":-90}
角度值,南纬是负,北纬是正,精度到小数点后6位
»»longitude
圆心经度
double
{"max":180,"min":-180}
角度值,东经是正,西经是负,精度到小数点后6位
»»height
限高
int
{"max":65535,"min":0,"unit":"米 / m"}
»country_unlock
国家/地区解禁证书信息
struct
»»country_number
国家/地区数字代码
enum_int
{}
详见ISO_3166-1国际标准(https://en.wikipedia.org/wiki/ISO_3166-1)
»»height
限高
int
{"max":65535,"min":0,"unit":"米 / m"}
»height_unlock
限高解禁证书信息
struct
»»height
限高
int
{"max":65535,"min":0,"unit":"米 / m"}
»polygon_unlock
自定义多边形区域解禁证书信息
struct
»»points
多边形顶点GPS坐标集合
array
{"size": -, "item_type": struct}
»»»latitude
纬度
double
{"max":90,"min":-90}
角度值,南纬是负,北纬是正,精度到小数点后6位
»»»longitude
经度
double
{"max":180,"min":-180}
角度值,东经是正,西经是负,精度到小数点后6位
»power_unlock
功率解禁证书信息
struct
»rid_unlock
RID 解禁证书信息
struct
»»level
RID 类型
enum_int
{"1":"欧盟 RID 解禁","2":"中国 RID 解禁"}
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"consistence": false,
"device_model_domain": 0,
"licenses": [
{
"area_unlock": {
"area_ids": [
115001769,
8724
]
},
"common_fields": {
"begin_time": 1696948115,
"device_sn": "xxxxxxxxx",
"enabled": true,
"end_time": 2145916800,
"group_id": 2896,
"license_id": 240330,
"name": "XXX区域解禁",
"type": 0,
"user_id": "xxxxxxxxx",
"user_only": false
}
},
{
"circle_unlock": {
"height": 500,
"latitude": 22.60309,
"longitude": 113.947815,
"radius": 1581
},
"common_fields": {
"begin_time": 1696948115,
"device_sn": "xxxxxxxxx",
"enabled": false,
"end_time": 2145916800,
"group_id": 2896,
"license_id": 240331,
"name": "XXX圆形解禁",
"type": 1,
"user_id": "xxxxxxxxx",
"user_only": false
}
},
{
"common_fields": {
"begin_time": 1696948115,
"device_sn": "xxxxxxxxx",
"enabled": false,
"end_time": 2145916800,
"group_id": 2896,
"license_id": 240332,
"name": "中国国家解禁",
"type": 2,
"user_id": "xxxxxxxxx",
"user_only": false
},
"country_unlock": {
"country_number": 156,
"height": 500
}
},
{
"common_fields": {
"begin_time": 1696948115,
"device_sn": "xxxxxxxxx",
"enabled": false,
"end_time": 2145916800,
"group_id": 2896,
"license_id": 240333,
"name": "XXX高度解禁",
"type": 3,
"user_id": "xxxxxxxxx",
"user_only": false
},
"height_unlock": {
"height": 500
}
},
{
"common_fields": {
"begin_time": 1696948115,
"device_sn": "xxxxxxxxx",
"enabled": false,
"end_time": 2145916800,
"group_id": 2896,
"license_id": 240334,
"name": "XXX多边形解禁",
"type": 4,
"user_id": "xxxxxxxxx",
"user_only": false
},
"polygon_unlock": {
"points": [
{
"latitude": 22.55403932,
"longitude": 113.90488828
},
{
"latitude": 22.55520018,
"longitude": 113.92180215
},
{
"latitude": 22.54656858,
"longitude": 113.92051272
}
]
}
},
{
"common_fields": {
"begin_time": 1696948115,
"device_sn": "xxxxxxxxx",
"enabled": false,
"end_time": 2145916800,
"group_id": 2896,
"license_id": 240335,
"name": "XXX功率解禁",
"type": 5,
"user_id": "xxxxxxxxx",
"user_only": false
},
"power_unlock": {}
},
{
"common_fields": {
"begin_time": 1696948115,
"device_sn": "xxxxxxxxx",
"enabled": false,
"end_time": 2145916800,
"group_id": 2896,
"license_id": 240336,
"name": "XXX RID 解禁",
"type": 6,
"user_id": "xxxxxxxxx",
"user_only": false
},
"rid_unlock": {
"level": 1
}
}
],
"result": 0
},
"gateway": "",
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "unlock_license_list"
}Last updated