← 开放平台 · Developers

QC 图片查询接口 · 通用对接规范

版本 v1 · 2026-09-24 · 发起方:QCradar(qcradar.com)

一句话:按「货源平台 + 商品 ID」查询这件商品在你们仓库拍过的全部 QC 照片。只读,不涉及任何用户或订单数据。

你们只需要实现一个接口。签名算法与购物车一键导入规范完全相同,同一套 clientId / secretKey、同一段校验代码即可复用。

已有自己的 QC 开放接口?直接把文档发给我们(点击联系),我们按你们的契约适配。QCradar 目前已对接多家代购平台各不相同的 QC 接口,适配成本很低。本文是我们建议的最省事方案,也把我们在对接中踩过的坑一并写明,照着做可以少走弯路。

为什么要做这件事、QCradar 怎样推荐代购平台,见致各代购平台的公开信。


0. QCradar 怎么使用这些照片(先看这个)

事项说明
展示位置商品详情页的 QC 图集、QC 查看器、浏览器插件的商品卡片。
来源标注每组照片标明来自哪家代购平台,并附「通过该平台购买」的入口(带你们的推广码)。
存储照片会镜像到 QCradar 图床,避免热链给你们的图床增加负担。
不做的事不从照片里提取或展示订单、用户信息。

对你们的价值:买家在决定「这件货值不值得买」的那一刻,看到的是你们仓库拍的照片,旁边就是在你们平台下单的入口。持续出现的新 QC,也是买家判断一家代购是否在正常运营的直接依据。


1. 全局约定

项值
鉴权 / 签名与购物车导入规范 §3 完全相同(HMAC-SHA256,4 个 X-* 请求头)
凭据可与购物车导入共用一套 clientId / secretKey,也可单独分配
编码UTF-8,application/json
响应任何情况都必须是 JSON,含 4xx / 5xx / 429
时间格式统一 Unix 毫秒时间戳(数字)。请不要混用字符串日期。

2. 接口:按商品查询 QC

POST {BASE}/open/qc/query
Content-Type: application/json
X-API-Key / X-Timestamp / X-Nonce / X-Signature

查询接口也用 POST,是为了让签名代码与购物车导入完全一致(签名覆盖请求体,不必再定义 query 串排序规则)。

2.1 请求体

{ "platform": "weidian", "itemId": "7412345678", "cursor": null, "limit": 50 }
字段类型必填说明
platformstring是weidian / taobao / 1688(小写)
itemIdstring是货源平台的原始数字商品 ID,不是你们站内的商品编号或加密 ID
cursorstring | null否翻页游标,首次传 null 或不传
limitint否每页条数,默认 50,上限由你们定(建议 ≥ 50)

2.2 成功响应

{
  "code": 200,
  "msg": "success",
  "data": {
    "records": [
      {
        "recordId": "QC202609180001",
        "skuId": "4501234567",
        "specText": "颜色:黑色; 尺码:L",
        "completedAt": 1758182400000,
        "images": [
          "https://img.example-agent.com/qc/2026/09/18/a1.jpg",
          "https://img.example-agent.com/qc/2026/09/18/a2.jpg"
        ],
        "measurements": { "lengthCm": 72.0, "widthCm": 58.0, "heightCm": null, "weightG": 820 }
      }
    ],
    "nextCursor": null
  }
}

每条 record = 一次验货(一个规格、一次入库拍照),不是一张图。

字段必填说明
recordId是验货记录 ID,你们侧唯一且稳定。我们用它去重,同一条记录重复返回不会重复展示。
images是这次验货的照片 URL 数组(要求见 §3)。
completedAt是验货完成时间,Unix 毫秒。买家很看重「最近一次 QC 是什么时候」,请给真实时间,不要给查询时间。
skuId强烈建议货源平台的真实 SKU ID(微店 skuId / 淘宝、1688 的数字 sku_id)。有了它,我们才能把照片挂到对应的颜色/尺码上。
specText强烈建议规格的中文原文,如 颜色:黑色; 尺码:L。请给源站原文,不要给翻译后的文本(我们见过同一批数据里混着西班牙语译文)。
measurements否实测尺寸和重量。没有的项给 null,不要给 0。
翻页字段说明
data.nextCursor还有下一页时给游标字符串,没有了给 null。记录按 completedAt 从新到旧排列。

✅ 最小可跑通字段集:recordId / images / completedAt。skuId 和 specText 缺了照片仍能展示,只是没法按颜色尺码分组。

2.3 没有 QC 与出错,请务必区分开

这是对接中最容易做错、影响也最大的一点。

情况请这样返回QCradar 的理解
商品存在但从没拍过 QCcode 200 + records: []确认没有,过一段时间再查
商品 ID 不存在 / 平台传错code 200 + records: []同上
签名错、凭据错code 401配置问题,停止重试
限流code 429,最好带 retryAfterMs退避后重试
你们侧临时故障code 500 / 503稍后重试,不会当成「没有 QC」

⚠️ 请不要在出错时返回 code 200 + 空数组。那样我们会把「暂时查不到」误判成「这件货没有 QC」,买家就看不到你们其实拍过的照片。


3. 图片 URL 要求

要求原因
公网可直接访问:无 Referer 校验、无 Cookie、无签名参数我们的镜像服务直接下载。带签名的链接过期后,照片就永久拿不到了。
长期有效,至少 90 天镜像有排队,新入库的照片可能数小时后才下载。
给原图或 ≥ 1600px 的大图买家要放大看走线、Logo、做工细节,缩略图没有用。
支持 JPEG / PNG / WebP如果图床是阿里云 OSS 等对象存储,原图 URL 即可,不要拼缩略参数。
照片上已有你们的水印没问题我们不会去掉你们的水印。

4. 可选:按时间增量拉取

如果你们愿意,再提供一个按验货完成时间翻页的接口,我们就能每天增量同步,不必逐个商品去问。你们的查询压力会小很多。

POST {BASE}/open/qc/page
{ "since": 1758096000000, "until": 1758182400000, "cursor": null, "limit": 200 }

响应中的每条 record 与 §2.2 相同,另外带上 platform 和 itemId 两个字段。这个接口不做也不影响上线。


5. 限流与调用方行为

  • 请告诉我们你们能接受的 QPS 上限,我们会按上限的一半左右来控制调用频率。
  • 同一商品的查询结果会在我方缓存,不会反复查。
  • 超限请返回 429 JSON,我方会退避。连续失败时,我方会自动熔断你们这个源 15 分钟,不会持续压你们的服务。
  • 出口 IP 固定,需要加白名单的话告诉我们。
  • 网关层的注意事项同购物车导入规范 §8:开放接口路径不要挂浏览器挑战,返回一律 JSON。

6. 签名测试向量

签名算法见购物车导入规范 §3。本接口用同一组示例凭据:

项值
secretKeydemo_secret_0123456789abcdef0123
X-Timestamp1760000000
X-Nonce0123456789abcdef0123456789abcdef
路径/open/qc/query
请求体(69 字节,一行无空格){"platform":"weidian","itemId":"7412345678","cursor":null,"limit":50}
请求体 SHA2569d88c80dff125fbf7ed64fb6f78446926d780482374316bb704d3ff82ba02402
X-Signatureb10c66e6a373033e3b7ec586b1d1841599a5abf22fd6fd9cd160b4805f033897

7. 对接时需要你们提供的信息

#项
1测试 / 生产 Base URL 与凭据(可与购物车导入共用)
2支持的货源平台(weidian / taobao / 1688)
3QPS 上限
4图床域名(我们要加进镜像白名单)
5大致的 QC 存量与每日新增量(用于我们安排同步节奏)
6联调对接人

8. 联调步骤

  1. 用 §6 的测试向量离线核对签名。
  2. 拿一个你们确定拍过 QC 的商品查一次,确认 records 非空、图片能在浏览器无痕模式下直接打开。
  3. 拿一个确定不存在的商品 ID 查一次,确认返回 code 200 + 空数组。
  4. 确认 completedAt 与你们后台显示的验货时间一致,skuId 与源站规格对得上。
  5. 切生产凭据复测一遍,QCradar 上线该来源。

9. 联系方式

技术与商务对接统一走站内反馈系统:点击联系我们,打开后已预选「联系 → 合作」,写明平台名称和对接人即可。提交需要先登录 QCradar 账号,之后的往来都在同一个会话线程里。


本文所有域名、凭据、ID 均为示例。