通用离线升级

  1. 请求地址:POST /sns/update_code

  2. 接口概述:

    使用升级请求串获取升级串。

  3. 请求参数:

  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    code string 升级请求串
  5. 请求示例:

    POST /bitanswer/api/sns/update_code HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    {
       "code":"..."
    }

    仅支持请求串,不支持设备码和MAC

  6. 响应示例:

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

离线升级(指定)

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

  2. 接口概述:

    • 支持使用“客户端请求串”激活。
    • 支持使用“MAC地址”激活,服务会记录原始值,在升级串中返回。
    • 支持使用“设备码”激活。
    • 支持使用“设备ID”单项升级,或直接升级全部设备。

    同时可以指定设备名称作为备注。

  3. 请求参数:

    地址参数

    参数名 参数类型 参数说明 必需 备注
    sn string 授权码

    请求参数

    参数名 参数类型 参数说明 必需 备注
    scope string 响应体内容设置 支持
    - formatted 格式化升级串

    请求体:

    参数名 参数类型 参数说明 必需 备注
    code string 请求串或设备码 code、mac、machineId三选一
    mac string MAC地址 code、mac、machineId三选一
    machineId integer 设备ID,通过设备接口获得 code、mac、machineId三选一
    machineName string 设备名称
    updateAllMachine boolean 升级全部设备 只能是true,不需要输入设备信息,返回SN绑定的所有设备的升级串。
  4. 示例:

    使用请求串进行升级,获取升级串(方法一):

    POST /bitanswer/api/sns/{sn}/update_code HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    "..."

    使用请求串进行升级,获取升级串(方法二):

    POST /bitanswer/api/sns/{sn}/update_code?scope=formatted HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: •••••
    
    { 
       "code":"...",
       "machineName": "test"
    }

    使用单个mac进行单向升级,获取升级串:

    POST /bitanswer/api/sns/{sn}/update_code?scope=formatted HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: •••••
    
    { 
       "mac":"00-00-00-00-00-00",
       "machineName": "test"
    }

    使用多个mac进行单向升级,获取升级串:

    POST /bitanswer/api/sns/{sn}/update_code?scope=formatted HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: •••••
    
    { 
       "mac":["00-00-00-00-00-00","00-00-00-00-00-01"],
       "machineName": "test"
    }

    使用设备串进行升级,获取升级串(方法一):

    POST /bitanswer/api/sns/{sn}/update_code HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    "BRW1A7  000000000  000000000  000000000  000000000  000000000  000000000"

    使用设备串进行升级,获取升级串(方法二):

    POST /bitanswer/api/sns/{sn}/update_code?scope=formatted HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    { 
       "code":"BRW1A7  000000000  000000000  000000000  000000000  000000000  000000000",
       "machineName": "test"
    }

    使用设备ID获取升级串

    POST /bitanswer/api/sns/{sn}/update_code?scope=formatted HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    { 
       "machineId":1,
       "machineName":"test"
    }

    获取全部设备的升级串

    POST /bitanswer/api/sns/{sn}/update_code?scope=formatted HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    { 
       "updateAllMachine":true
    }
  5. 响应示例:

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

离线借出

  1. 请求地址:POST /sns/checkout

  2. 接口概述:

    使用借出请求串获取借出升级串。

  3. 请求参数:

  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    code string 借出请求串
  5. 请求示例:

    POST /bitanswer/api/sns/checkout HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    {
       "code":"..."
    }
  6. 响应示例:

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

离线归还

  1. 请求地址:POST /sns/checkin

  2. 接口概述:

    使用归还请求串去提前归还借出的授权。

  3. 请求参数:

  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    code string 归还请求串
  5. 请求示例:

    POST /bitanswer/api/sns/checkin HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    {
       "code":"..."
    }
  6. 响应示例:

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

批量离线升级

  1. 请求地址:POST /sns/update_codes

  2. 接口概述:

    批量使用升级请求串获取升级串。

  3. 请求参数:

  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    code string 升级请求串

    请求体以数组形式输入。

  5. 请求示例:

    批量离线升级

    POST /bitanswer/api/sns/update_codes HTTP/1.1
    Host: back-office-api.bitanswer.cn
    bitkey: ••••••
    Content-Type: application/json
    
    [
     {
       "code": "..."
     },
     {
       "code":"..."
     }
    ]
  6. 响应示例:

    {
       "status": 1995,
       "data": {
           "total": 2,
           "items": [
               {
                   "0": {
                       "status_code": "0",
                       "code": "...",
                       "sn": "0000000000000000"
                   }
               },
               {
                   "1": {
                       "code": "1795",
                       "message": "{\"errorCode\":1795,\"detail\":\"active machine volume: 2 sn volume: 2 \"}"
                   }
               }
           ]
       }
    }

    响应体中status返回0表示离线升级全部成功,返回1995表示批量离线升级中有出错的。

    items0,1对应请求体传入的数组中下标值,用于匹配输入顺序。

批量离线迁出

  1. 请求地址:POST /sns/update_codes

  2. 接口概述:

    批量使用浮动授权码的迁出请求串进行离线迁出。

  3. 请求参数:

  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    code string 升级请求串
    disableSn boolean 禁用SN 离线迁出的同时禁用当前授权码

    请求体以数组形式输入。

  5. 请求示例:

    POST /bitanswer/api/sns/update_codes HTTP/1.1
    Host: back-office-api.bitanswer.cn
    bitkey: ••••••
    Content-Type: application/json
    
    [
     {
       "code": "...",
       "disableSn":true
     }
    ]
  6. 响应示例:

    {
       "status": 0,
       "data": {
           "total": 1,
           "items": [
               {
                   "0": {
                       "status_code": "0",
                       "code": "...",
                       "sn": "xxxxxx"
                   }
               }
           ]
       }
    }

    status_code表示请求串的响应状态。

    items0,1对应请求体传入的数组中下标值,用于匹配输入顺序。

生成升级码

  1. 请求地址:POST /sns/generate_update_code

  2. 接口概述:

    生成SN并产生设备(或mac)的升级串。

  3. 请求参数:

  4. 请求体:

    参数名 参数类型 参数说明 必需 备注
    device string 设备码 device和mac必须有一个存在
    mac object mac串 device和mac必须有一个存在
    sn_attribute object 结构是EndSn

    sn_attribute

    参数名 参数类型 参数说明 必需 备注
    startDate string 起始日期 yyyy-MM-dd HH:mm:ss
    endDate string 结束日期 yyyy-MM-dd HH:mm:ss
    volumeNumber integer 终端限制
    expirationDays integer 有效期(天)
    usageNumber integer 使用次数
    concurrentNumber integer 并发数
    usersNumber integer 用户数
    maxOfflineMinutes integer 离线时间(分钟) 可作为强制认证的时间
    transferVolume integer 转移数
    transferNumber integer 转移次数
    description string 描述信息
    vmDetect boolean 虚拟机检测
    forbidRemoteDesktop boolean 远程桌面检测
    licenseBorrow boolean 授权借出
    accessLog boolean 用量统计
    ignoreUserLimit boolean 忽略用户数
    readonly boolean 授权只读
    distribution boolean 授权分发
    namedUser boolean 帐号授权
    product object 产品 产品名在参数与请求体中必须存在一个(推荐在请求体设置产品名)
    business object 业务 业务名在参数与请求体中必须存在一个(推荐在请求体设置业务名)
    template object 模版 模版名在参数与请求体中必须存在一个(推荐在请求体设置模版名)
    features array 特征项列表 为授权码设置特征项
    data array 配置项列表 为授权码设置配置项

    features

    参数名 参数类型 参数说明 必需 备注
    id integer 特征项的uid
    guid string 特征项的guid
    featureId integer 特征项的fid
    name string 特征性的名称
    value integer 特征性的值
    version string 特征性的版本
    endDate string 结束时间
    expirationDays integer 有效期
    users integer 用户数
    type string 特征项的操作 特征项type的操作类型

    特征项type的操作类型:

    OVERRIDE:为授权码勾选并覆盖产品特征项内容(默认)

    SELECT:为授权码勾选产品的特征项

    UNSELECT:为授权码取消勾选模版中的特征项

    确定特征项的方式:

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

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

    3、根据特征项的fid、特征项名称、特征项值确定唯一特征项

    4、根据特征项的fid、特征项名称、特征项版本确定唯一特征项

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

    data:

    参数名 参数类型 参数说明 必需 备注
    name string 配置项名称 存在同名配置项时会覆盖值
    value string 配置项值 未传值时表示设置为空
  5. 请求示例:

    产生授权码,使用设备码获取升级码:

    POST /bitanswer/api/sns/generate_update_code HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    {
       "device":"BRW1A7  000000000  000000000  000000000  000000000  000000000  000000000",
       "sn_attribute":{
           "product": {
               "productName": "demo"
           },
           "template": {
               "name": "unitTestTemplate1"
           },
           "business": {
               "name": "business_name"
           }
       }
    }

    产生授权码,使用单个mac获取升级码:

    POST /bitanswer/api/sns/generate_update_code HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    {
       "mac":"00-00-00-00-00-00",
       "sn_attribute":{
           "product": {
               "productName": "product_name
           },
           "template": {
               "name": "template_name"
           },
           "business": {
               "name": "business_name"
           }
       }
    }

    产生授权码,使用多个mac获取升级码:

    POST /bitanswer/api/sns/generate_update_code HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    {
       "mac":["00-00-00-00-00-00","00-00-00-00-00-01"],
       "sn_attribute":{
           "product": {
               "productName": "product_name"
           },
           "template": {
               "name": "template_name"
           },
           "business": {
               "name": "business_name"
           }
       }
    }
  6. 响应示例:

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

生成Bit-ID升级码

  1. 请求地址:POST /sns/bitid_update_code

  2. 接口概述:

    查询Bit-ID关联的授权码:未绑定则根据请求参数中的产品、模版、业务生成比特ID浮动授权类型的授权码,使用请求体中传入的endSn修改授权码的属性,将授权码绑定浮动的Bit-ID,产生升级串;已绑定授权码则直接产生升级串。

  3. 请求参数:

    参数名 参数类型 参数说明 必需 备注
    productName string 产品名
    templateName string 模版名
    businessName string 业务名 业务必须是比特ID浮动授权类型
    bitIDType integer Bit-ID类型 比特ID浮动的类型为6,传固定的值6
    bitIDGuid string Bit-ID
  4. 请求体:

    EndSn(请求体不是必需):

    参数名 参数类型 参数说明 必需 备注
    startDate string 起始日期 yyyy-MM-dd HH:mm:ss
    endDate string 结束日期 yyyy-MM-dd HH:mm:ss
    volumeNumber integer 终端限制
    expirationDays integer 有效期(天)
    usageNumber integer 使用次数
    concurrentNumber integer 并发数
    usersNumber integer 用户数
    maxOfflineMinutes integer 离线时间(分钟) 可作为强制认证的时间
    transferVolume integer 转移数
    transferNumber integer 转移次数
    description string 描述信息
    vmDetect boolean 虚拟机检测
    forbidRemoteDesktop boolean 远程桌面检测
    licenseBorrow boolean 授权借出
    readonly boolean 授权只读
  5. 请求示例:

    POST /bitanswer/api/sns/bitid_update_code?product_name={productName}&template_name={templateName}&business_name={businessName}&bitid_type={bitIDType}&bitid_guid={bitIDGuid} HTTP/1.1
    Host: back-office-api.bitanswer.cn
    Content-Type: application/json
    bitkey: ••••••
    
    {
       "startDate":"2024-06-01",
       "endDate":"2024-12-01",
       "expirationDays":30 
    }
  6. 响应示例:

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