遍历特征项

  1. 请求地址:GET /products/{productName}/features

  2. 接口概述:

    遍历指定产品的特征项。

  3. 请求参数:

    参数名 参数类型 参数说明 必需 备注
    offset integer 响应结果起始下标 默认0
    limit integer 响应结果的数量 默认50,最大1000

    如何遍历?

    地址参数

    参数名 参数类型 参数说明 必需 备注
    productName string 产品名称
  4. 请求体:

  5. 请求示例:

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

    {
       "status": 0,
       "data": {
           "total": 12,
           "items": [
               {
                   "id": 1,
                   "guid": "xxx",
                   "name": "foo",
                   "featureId": 1,
                   "value": 0,
                   "hidden": false,
                   "status": 0
               }
           ]
       }
    }

    响应体说明

查询特征项

  1. 请求地址:

    • POST /products/{productName}/features/data
    • POST /products/ref/{refId}/features/data
  2. 接口概述:

    根据产品名或产品的引用id获取指定的产品,根据限定的条件查询、排序符合的产品特征项。

  3. 请求参数:

    参数名 参数类型 参数说明 必需 备注
    offset integer 响应结果起始下标 默认0
    limit integer 响应结果的数量 默认50,最大1000

    如何遍历?

    地址参数

    参数名 参数类型 参数说明 必需 备注
    productName string 产品名
    refId string 产品的引用id 为产品自定义的唯一id
  4. 请求体:

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

    如何查询?

    querys

    支持:guidnamestatus

    sorts

    支持:idnamefeatureIdversionstatus

    响应体说明

  5. 请求示例

    使用产品名获取指定产品,根据限定的条件查询、排序符合的产品特征项:

    POST /bitanswer/api/products/{productName}/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"
           }
       ]
    }

    使用产品引用id获取指定产品,根据限定的条件查询、排序符合的产品特征项:

    POST /bitanswer/api/products/ref/{refId}/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 /products/{productName}/features
    • POST /products/{productName}/features
    • PATCH /products/ref/{refId}/features
    • POST /products/ref/{refId}/features
  2. 接口概述:

    根据产品名或产品的引用id获取指定的产品,更新/添加产品特征项的内容。

    PATCH 方法当更新产品特征项时,仅更新输入的内容;若未找到产品特征项则进行添加。

    POST 方法当更新产品特征项时,未输入的内容按默认值处理,适用于重置数据;若未找到产品特征项则进行添加。

  3. 请求参数:

    地址参数

    参数名 参数类型 参数说明 必需 备注
    productName string 产品名
    refId string 产品的引用id 为产品自定义的唯一id
  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    id integer 产品特征项的id 当修改特征项时必传
    name string 特征项名称 当添加特征项时必传
    featureId integer 特征项的fid 只在添加时生效,不传会自动生成。
    value integer 特征项值 value和version同时传值时,value生效
    description string 产品特征项的描述信息
    status integer 状态 当使用POST方法修改特征项时必传。状态:0:新建;32:删除
    version string 特征项版本
    overwrite boolean 允许在授权码中修改 是否在授权码中允许覆盖,默认不允许覆盖
    display boolean 用户总是可见 是否用户总是可见,默认不可见
    ignoreSnUser boolean 不占用SN用户数 是否不占用SN用户数,默认占用
    hidden boolean 在授权码中隐藏 是否在授权码中隐藏
    online boolean 联网使用 是否必须联网使用

    参数说明

    请求体以数组形式输入。

    确定特征项的方式:

    1、根据特征项的uid确定唯一特征项

    2、根据特征项的guid确定唯一特征项

    3、根据特征项的特征项名称、特征项值(或特征项版本)确定唯一特征项

    4、根据特征项fid查找特征项,同一个fid下只有一个特征项时则为这一特征项,存在多个时报错

    未找到特征项时将为产品添加该特征项。

    产品特征项逻辑

    1、产品可以存在多个 fid相同的特征项。

    2、特征项名称相同时,两个特征项的fid必须相同,且value值不能相同,用来表示一个功能的不同版本。

  5. 请求示例

    根据产品名获取指定的产品,更新产品特征项的内容:

    POST /bitanswer/api/products/{productName}/features  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    [
       {
           "id": 1,
           "name":"feature_name_1",
           "value":2,
           "status": 0,
           "description":"修改特征项描述"
       },
       {
           "name":"feature_name_2",
           "featureId":1,
           "value":1,
           "description":"特征项描述"
       }
    ]

    根据产品的引用id获取指定的产品,更新产品特征项的内容:

    POST /bitanswer/api/products/ref/{refId}/features  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    [
       {
           "id": 1,
           "name":"feature_name_1",
           "value":2,
           "status": 0,
           "description":"修改特征项描述"
       },
       {
           "name":"feature_name_2",
           "featureId":1,
           "value":1,
           "description":"特征项描述"
       }
    ]
  6. 响应示例

    {
       "status": 0,
       "data": {
           "total": 2,
           "items": [
               {
                   "id": 1,
                   "name": "feature_name_1",
                   "featureId": 1,
                   "value": 2,
                   "hidden": false,
                   "overwrite": false,
                   "description": "修改特征项描述",
                   "status": 0
               },
               {
                   "id": 2,
                   "name": "feature_name_2",
                   "featureId": 1,
                   "value": 1,
                   "hidden": false,
                   "overwrite": false,
                   "description": "特征项描述",
                   "status": 0
               }
           ]
       }
    }

    响应体说明

批量删除特征项

  1. 请求地址:

    • DELETE /products/{productName}/features
    • DELETE /products/ref/{refId}/features
  2. 接口概述:

    根据产品名或产品的引用id获取指定的产品,批量删除指定的产品特征项。目前仅支持通过特征项的ID进行删除。

  3. 请求参数:

    地址参数

    参数名 参数类型 参数说明 必需 备注
    productName string 产品名
    refId string 产品的引用id 为产品自定义的唯一id
  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    id integer 产品特征项的id,用于精确定位

    参数说明

    请求体以数组形式输入。

  5. 请求示例

    根据产品名获取指定的产品,批量删除指定的产品特征项:

    DELETE /bitanswer/api/products/{productName}/features  HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    [
       {
           "id": 1
       }
    ]

    根据产品的引用id获取指定的产品,批量删除指定的产品特征项:

    DELETE /bitanswer/api/products/ref/{refId}/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,
                   "name": "feature_name",
                   "featureId": 1,
                   "value": 2,
                   "hidden": false,
                   "overwrite": false,
                   "description": "特征项描述信息",
                   "status": 32
               }
           ]
       }
    }

    响应体说明