图片标注回调 API

接口说明

图片人工标注完成后,平台会将图片原始审核数据和人工修改结果推送至客户配置的回调 URL。

在“项目查看 > 服务配置 > 标注 API 回调”中配置回调 URL。配置完成后,人工标注结果默认进行回调。人工标注支持在“项目查看 > 数据查询”中对单条或多条数据进行修改。

请求规范

  • 请求 URL:客户在“标注 API 回调”中配置的回调 URL
  • 请求方法:POST
  • 请求体格式:application/json;charset=UTF-8

请求 Header

Header 是否必需 描述
Content-Type application/json;charset=UTF-8 必需 请求体类型
Accept application/json;charset=UTF-8 必需 接受的返回类型
X-AppId 必需 项目的唯一标识,即“控制台 > 服务配置”中的项目编号
X-TimeStamp 必需 请求的 UTC 时间戳,按 W3C 标准格式化,例如 2010-01-31T23:59:59Z
Authorization 必需 签名值,计算方式见 Authorization 签名

请求参数

请求体为 JSON 对象。

参数 是否必需 类型 描述
appId 必需 String 项目编号
imageData 必需 Array 图片的原始审核数据
markData 必需 Object 人工修改后的标注数据

请求示例

{
  "appId": "81000001",
  "imageData": [
    {
      "taskId": "us_b0db751223584cf5af9d5c469bb9e4d1_1694159664104",
      "strategyId": "DEFAULT",
      "url": "https://example.com/image.jpg",
      "displayUrl": "https://example.com/image.jpg",
      "code": 0,
      "result": 0,
      "imageCheckType": [],
      "tags": [],
      "subTags": [],
      "userId": null,
      "md5": "CC6300BC04E46883944D0C38BCDA6A02"
    }
  ],
  "markData": {
    "markResult": "2",
    "markTag": [
      "130"
    ]
  }
}

Authorization 签名

通过 HTTP 请求 Header 发送签名:

Authorization: ****

签名计算步骤如下:

  1. 将请求体 JSON 字符串按 UTF-8 编码并计算 SHA-256,再转换为十六进制字符串。结果不是 Base64 字符串。

    CanonicalizedQueryString = hex(sha256(jsonBody))
    
  2. 按以下格式构造待签名字符串。各部分之间使用一个 ASCII 换行符 \n

    StringToSign = HTTPMethod + "\n"
                 + CallbackUrl + "\n"
                 + CanonicalizedQueryString + "\n"
                 + "X-AppId:" + SAME_APPID_IN_HEADER + "\n"
                 + "X-TimeStamp:" + SAME_TIMESTAMP_IN_HEADER
    

    其中:

    • HTTPMethodPOST
    • CallbackUrl 为客户在“标注 API 回调”中配置的回调 URL。
    • SAME_APPID_IN_HEADERSAME_TIMESTAMP_IN_HEADER 必须分别与请求 Header 中的 X-AppIdX-TimeStamp 完全一致。
  3. StringToSign 为待签名字符串、secretKey 为密钥,使用 HMAC-SHA256 计算签名。

  4. 将计算结果转换为 Base64 字符串。

  5. 将 Base64 字符串写入请求 Header 的 Authorization 字段。