遍历特征项

  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

    支持:guid,name,status。

    sorts

    支持:id,name,featureId,version,status。

    响应体说明

  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
               }
           ]
       }
    }

    响应体说明