遍历特征项

  1. 请求地址:GET /sns/{sn}/features

  2. 接口概述:

    遍历指定授权码的特征项,包含专属特征项。

  3. 请求参数:

    参数名 参数类型 参数说明 必需 备注
    offset integer 响应结果起始下标 默认0
    limit integer 响应结果的数量 默认50,最大1000
    scope string 设置返回已勾选、未勾选、全部特征项(SN对应产品的所有特征项),对应selected、unselected、all 默认返回已勾选
    hasQuery boolean 是否包含当前SN的特征项占用点数 默认false

    如何遍历?

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
  4. 请求体:

  5. 请求示例:

    GET /bitanswer/api/sns/{sn}/features?limit=1 HTTP/1.1
    Host: back-office-api.bitanswer.cn
    bitkey: ••••••
  6. 响应示例:

    {
       "status": 0,
       "data": {
           "total": 10,
           "items": [
               {
                   "id": 1,
                   "guid": "xxx",
                   "name": "foo",
                   "featureId": 1,
                   "value": 0,
                   "source": "PRODUCT",
                   "hidden": false,
                   "status": 3,
                   "type": "ReadOnly"
               }
           ]
       }
    }

    响应体说明

查询特征项

  1. 请求地址:POST /sns/{sn}/features/data

  2. 接口概述:

    指定授权码,根据限定的条件查询、排序符合的特征项,包含专属特征项。

  3. 请求参数:

    参数名 参数类型 参数说明 必需 备注
    offset integer 响应结果起始下标 默认0
    limit integer 响应结果的数量 默认50,最大1000
    hasQuery boolean 是否包含当前SN的特征项占用点数 默认false

    如何遍历?

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    querys array 查询参数
    sorts array 排序参数

    如何查询?

    querys

    支持:guidnamestatus

    sorts

    支持:idnamefeatureIdversionstatus

    响应体说明

  5. 请求示例

    POST /bitanswer/api/sns/{sn}/features/data  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    {
       "querys": [
           {
               "name": "name",
               "op": "like",
               "values": [
                   "foo"
               ]
           }
       ],
       "sorts": [
           {
               "name": "name"
           }
       ]
    }
  6. 响应示例

    {
       "status": 0,
       "data": {
           "total": 1,
           "items": [
               {
                   "id": 1,
                   "guid": "xxx",
                   "name": "foo",
                   "featureId": 1,
                   "value": 0,
                   "source": "PRODUCT",
                   "hidden": false,
                   "status": 3,
                   "type": "ReadOnly"
               }
           ]
       }
    }

    响应体说明

批量绑定/更新特征项

  1. 请求地址:

    • PATCH /sns/{sn}/features
    • POST /sns/{sn}/features
  2. 接口概述:

    根据输入内容,为授权码勾选特征项,并更新授权码特征项信息,目前仅支持通过ID查找。

    当scope为increment时用于追加专属特征项;当scope为replace时用于覆盖专属特征项。

    PATCH 方法用于部分更新数据,仅对请求中明确输入的内容进行修改,其他内容保持原有值不变。

    POST 方法用于全量重置数据,会以请求中输入的内容覆盖原有值,未输入内容则被置为空值。(不推荐用于部分更新数据,易导致未输入数据被误清空)

  3. 请求参数:

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
    scope string 添加或重置专属特征项 increment:追加专属特征项;replace:覆盖专属特征项(清空现有专属特征项,添加新的专属特征)

    重用特征项

  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    id long 唯一ID,用于精确定位
    name string 特征项名称
    featureId integer 特征项的fid,只读参数不支持修改 同名特征项fid必须相同
    value long 特征项值
    version string 特征项版本 特征项版本与值只用一个
    endDate string 结束时间
    users integer 用户数
    type string 支持输入SELECT,UNSELECT,OVERRIDE,表示勾选、取消勾选和修改,默认修改,且修改包含勾选 scope为increment或replace时不生效
    ignoreSnUser boolean 是否不占用SN用户数 仅在专属特征项中生效
    mid string 特征项绑定的设备 以空格分隔,为特征项指定设备指纹,支持MAC地址、终端标识、IP,最多每个特征项支持1000个指纹,仅集团授权支持。 绑定终端标识:以‘#’开头(实例:#ABC) 绑定MAC地址:16进制的MAC地址(实例:A0:80:69:8D:E2:4E) 绑定IP:实际的IP地址或IP段(实列:127.0.0.1 或 127.0.0.* 或 127.0.0.1-127.0.0.255)

    请求体以数组形式输入。 专属特征项的uid=0,以name+version确认版本,重用特征项允许存在多个name+version相同为一组,每一组的FID一致,uid保持为0。

    参数说明

  5. 请求示例

    修改普通特征项:

    PATCH /bitanswer/api/sns/{sn}/features  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    [
       {
           "id": 1,
           "value": 1002
       }
    ]

    追加专属特征项:

    PATCH /bitanswer/api/sns/{sn}/features?scope=increment  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    [
       {
           "name": "feature_increment",
           "value": 1001,
           "users": 5,
           "endDate": "2027-01-01",
           "mid":"A0:80:69:8D:E2:4E A0:80:69:8D:E2:4A"
       },
       {
           "name": "feature_increment",
           "version": "1.001",
           "users": 5,
           "endDate": "2027-01-01",
           "ignoreSnUser": true
       }
    ]

    覆盖专属特征项:

    PATCH /bitanswer/api/sns/{sn}/features?scope=replace  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    [
       {
           "name": "feature_replace",
           "value": 1002,
           "users": 5,
           "endDate": "2027-01-01",
           "mid":"A0:80:69:8D:E2:4E A0:80:69:8D:E2:4A"
       },
       {
           "name": "feature_replace",
           "version": "1.001",
           "users": 5,
           "endDate": "2027-01-01",
           "ignoreSnUser": true
       }
    ]
  6. 响应示例

    {
       "status": 0,
       "data": {
           "total": 1,
           "items": [
               {
                   "id": 1,
                   "value": 1002
               }
           ]
       }
    }

    响应体说明

批量删除特征项

  1. 请求地址:DELETE /sns/{sn}/features

  2. 接口概述:

    批量删除指定SN下的特征项,包括专属特征项。

  3. 请求参数:

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    id long 唯一ID,用于精确定位
    guid string 特征项的guid,有些特征项没有设置
    name string 特征项名称
    value long 特征项值
    version string 特征项版本

    参数说明

    请求体以数组形式输入,根据id、guid、name + value、name + version这种组合删除所有符合条件的特征项。

    重用特征项

  5. 请求示例

    DELETE /bitanswer/api/sns/{sn}/features  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    [
       {
           "id": 1
       }
    ]
  6. 响应示例

    {
       "status": 0,
       "data": {
           "total": 1,
           "items": [
               {
                   "id": 1
               }
           ]
       }
    }

    响应体说明

按名称获取特征项

  1. 请求地址:GET /sns/{sn}/features/name/{featureName}

  2. 接口概述:

    获取指定sn、指定名称的特征项,不包含专属特征项。同FID下可以存在同名特征项,可以遍历获取所有。

  3. 请求参数:

    参数名 参数类型 参数说明 必需 备注
    offset integer 响应结果起始下标 默认0
    limit integer 响应结果的数量 默认50,最大1000
    hasQuery boolean 是否包含当前SN的特征项占用点数 默认false

    如何遍历?

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
    featureName string 特征项名称
  4. 请求体:

  5. 请求示例

    GET /bitanswer/api/sns/{sn}/features/name/{featureName}  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    bitkey: ••••••
  6. 响应示例

    {
       "status": 0,
       "data": {
           "total": 1,
           "items": [
               {
                   "id": 1,
                   "guid": "xxx",
                   "name": "foo",
                   "featureId": 1,
                   "value": 0,
                   "source": "PRODUCT",
                   "hidden": false,
                   "status": 3,
                   "type": "ReadOnly"
               }
           ]
       }
    }

    响应体说明

按名称删除特征项

  1. 请求地址:DELETE /sns/{sn}/features/name/{featureName}

  2. 接口概述:

    删除指定SN下的指定名称的特征项列表,不包含重用特征项。

  3. 请求参数:

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
    featureName string 特征项名称
  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
    featureName string 特征项名称
  5. 请求示例

    DELETE /bitanswer/api/sns/{sn}/features/name/{featureName}  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    bitkey: ••••••
  6. 响应示例

    {
       "status": 0,
       "data": {
           "total": 1,
           "items": [
               {
                   "id": 1
               }
           ]
       }
    }

    响应体说明

按fid获取特征项

  1. 请求地址:GET /sns/{sn}/features/fid/{fid}

  2. 接口概述:

    获取指定授权码的指定fid的特征项列表。

  3. 请求参数:

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
    fid integer 特征项fid
    hasQuery boolean 是否包含当前SN的特征项占用点数 默认false
  4. 请求体:

  5. 请求示例

    GET /bitanswer/api/sns/{sn}/features/fid/{fid}  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    bitkey: ••••••
  6. 响应示例

    {
       "status": 0,
       "data": {
           "total": 2,
           "items": [
               {
                   "id": 1,
                   "guid": "xxxxx1",
                   "name": "feature_name_1",
                   "featureId": 101,
                   "value": 2220,
                   "source": "PRODUCT",
                   "hidden": false,
                   "overwrite": true,
                   "display": true,
                   "online": false,
                   "ignoreSnUser": false,
                   "status": 3,
                   "type": "ReadOnly"
               },
               {
                   "id": 2,
                   "guid": "xxxxx2",
                   "name": "feature_name_2",
                   "featureId": 101,
                   "value": 1111,
                   "source": "PRODUCT",
                   "hidden": false,
                   "overwrite": true,
                   "display": true,
                   "online": false,
                   "ignoreSnUser": false,
                   "status": 3,
                   "type": "ReadOnly"
               }
           ]
       }
    }

    响应体说明

按fid取消勾选指定特征项

  1. 请求地址:DELETE /sns/{sn}/features/fid/{fid}

  2. 接口概述:

    按fid取消勾选授权码的特征项列表,不包含重用特征项。

  3. 请求参数:

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
    fid integer 特征项fid
  4. 请求体:

  5. 请求示例

    DELETE /bitanswer/api/sns/{sn}/features/fid/{fid}  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    bitkey: ••••••
  6. 响应示例

    {
       "status": 0,
       "data": {
           "total": 2,
           "items": [
               {
                   "id": 1
               },
               {
                   "id": 2
               }
           ]
       }
    }

    响应体说明

按ID获取特征项

  1. 请求地址:GET /sns/{sn}/features/{uid}

  2. 接口概述:

    获取指定SN、指定ID的特征项。ID通过产品特征项接口获取。

  3. 请求参数:

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
    uid long 特征项id
    hasQuery boolean 是否包含当前SN的特征项占用点数 默认false
  4. 请求体:

  5. 请求示例

    GET /bitanswer/api/sns/{sn}/features/{uid}  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    bitkey: ••••••
  6. 响应示例

    {
       "status": 0,
       "data": {
           "total": 1,
           "items": [
               {
                   "id": 1,
                   "guid": "xxx",
                   "name": "foo",
                   "featureId": 1,
                   "value": 0,
                   "source": "PRODUCT",
                   "hidden": false,
                   "status": 3,
                   "type": "ReadOnly"
               }
           ]
       }
    }

    响应体说明

按ID绑定/更新特征项

  1. 请求地址:

    • PATCH /sns/{sn}/features/{uid}
    • POST /sns/{sn}/features/{uid}
  2. 接口概述:

    指定特征项ID,为SN绑定特征项或更新特征项信息,不包含专属特征项。

    仅绑定时,请求体不可以设置为none,必须传入一个空对象。

    PATCH 方法用于部分更新数据,仅对请求中明确输入的内容进行修改,其他内容保持原有值不变。

    POST 方法用于全量重置数据,会以请求中输入的内容覆盖原有值,未输入内容则被置为空值。(不推荐用于部分更新数据,易导致未输入数据被误清空)

  3. 请求参数:

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
    uid long 特征项id
  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    value long

    参数说明

  5. 请求示例

    PATCH /bitanswer/api/sns/{sn}/features/{uid}  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    {
       "value": 1
    }
  6. 响应示例

    {
       "status": 0,
       "data": {
           "total": 1,
           "items": [
               {
                   "id": 1,
                   "value": 1
               }
           ]
       }
    }

    响应体说明

按ID取消勾选指定特征项

  1. 请求地址:DELETE /sns/{sn}/features/{uid}

  2. 接口概述:

    指定特征项ID,为SN取消勾选特征项,不包含专属特征项。

  3. 请求参数:

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
    uid long 特征项id
  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    value long

    参数说明

  5. 请求示例

    DELETE /bitanswer/api/sns/{sn}/features/{uid}  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    bitkey: ••••••
  6. 响应示例

    {
       "status": 0,
       "data": {
           "total": 1,
           "items": [
               {
                   "id": 1
               }
           ]
       }
    }

    响应体说明

按名称和版本获取特征项

  1. 请求地址:GET /sns/{sn}/features/name/{featureName}/version/{version}

  2. 接口概述:

    获取指定SN、指定名称和版本的特征项,包含专属特征项。

  3. 请求参数:

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
    featureName string 特征项名称
    version string 特征项版本
    hasQuery boolean 是否包含当前SN的特征项占用点数 默认false
  4. 请求体:

  5. 请求示例

    GET /bitanswer/api/sns/{sn}/features/name/{featureName}/version/{version}  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    bitkey: ••••••
  6. 响应示例

    {
       "status": 0,
       "data": {
           "total": 1,
           "items": [
               {
                   "id": 1,
                   "guid": "xxx",
                   "name": "foo",
                   "featureId": 1,
                   "value": 0,
                   "source": "PRODUCT",
                   "hidden": false,
                   "status": 3,
                   "type": "ReadOnly"
               }
           ]
       }
    }

    响应体说明

按名称和版本取消勾选指定特征项

  1. 请求地址:DELETE /sns/{sn}/features/name/{featureName}/version/{version}

  2. 接口概述:

    指定SN、指定名称和版本,解除特征项的勾选,包含专属特征项。

  3. 请求参数:

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码
    featureName string 特征项名称
    version string 特征项版本
  4. 请求体:

  5. 请求示例

    DELETE /bitanswer/api/sns/{sn}/features/name/{featureName}/version/{version}  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    bitkey: ••••••
  6. 响应示例

    {
       "status": 0,
       "data": {
           "total": 1,
           "items": [
               {
                   "id": 1
               }
           ]
       }
    }

    响应体说明