技术团队选条码查询接口,一般先看两样东西:响应速度、数据覆盖率。这两个指标跑通,基本就定了。但上线三到六个月后,你会发现一个问题——业务侧提出的需求里,有一半字段你当前的接口根本不返回。
比如运营那边说要做临期商品自动预警,你需要 shelf_life,接口没有。仓储那边要按商品体积规划货架,你需要 width / height / depth,接口也没有。重新谈接口、改代码、补数据,开发量比当初接入时还大。
反过来,有些接口一次返回二三十个字段,看起来信息量很大,但你的业务场景里有一半字段从来没人用过。
所以选条码查询API,真正该问的问题是:返回的字段集合,跟你所在行业要用的字段集合,重叠度有多高。
下面以探数API商品条码查询接口为例,先把返回数据完整展示出来,再按四个行业拆解各自取哪些字段、为什么这些字段重要。

接口地址:https://www.tanshuapi.com/market/detail-77,GET/POST均可,两个参数:key 和 barcode。
以下是以 “6906337301091”(冠生园葱油压缩饼干)为例的完整返回:
{
"code": 1,
"msg": "操作成功",
"data": {
"barcode": "6906337301091",
"brand": "冠生园",
"goods_name": "葱油压缩饼干",
"company": "上海冠生园益民食品有限公司",
"category_code": "10000161",
"category_name": "饼干、曲奇(耐储存)",
"image": "",
"spec": "118g*48袋",
"width": "131毫米",
"height": "134毫米",
"depth": "23毫米",
"gross_weight": "128克",
"net_weight": "118克",
"price": "",
"origin_country": "中国",
"first_ship_date": "2008-11-07T00:00:00",
"packaging_type": "",
"shelf_life": "720天",
"min_sales_unit": "个",
"certification_standard": "GB/20980",
"certificate_license": "QS311708010032"
}
}
这23个字段按性质可以分为三组,下面按组说明。
| 字段 | 说明 | 示例值 |
|---|---|---|
barcode |
条码号 | 6906337301091 |
brand |
品牌 | 冠生园 |
goods_name |
商品名称 | 葱油压缩饼干 |
company |
生产厂商 | 上海冠生园益民食品有限公司 |
category_code |
UNSPSC分类编码 | 10000161 |
category_name |
分类中文名 | 饼干、曲奇(耐储存) |
image |
商品图片URL | ⚠️ 24小时有效期 |
spec |
产品规格 | 118g*48袋 |
这组字段是所有行业的通用需求,不管做什么业务,条码扫出来至少要知道商品叫什么、什么牌子、什么规格。
💡
image字段返回的是有效期24小时的临时链接。建议在服务端做一层中转——收到图片URL后异步下载到自己的OSS或本地存储,前端展示用自己的链接。直接从接口URL引用,24小时后就是裂图。
| 字段 | 说明 | 示例值 |
|---|---|---|
width |
宽 | 131毫米 |
height |
高 | 134毫米 |
depth |
深 | 23毫米 |
gross_weight |
毛重 | 128克 |
net_weight |
净重 | 118克 |
packaging_type |
包装类型 | — |
min_sales_unit |
最小销售单位 | 个 |
shelf_life |
保质期 | 720天 |
这组字段在零售收银场景基本用不上,但在仓储物流和库存管理里是关键数据。一个商品能不能塞进指定货格、一箱货多重算运费、保质期还剩多少天决定要不要优先出货——仓储系统对条码查询的依赖比收银系统更深。
| 字段 | 说明 | 示例值 |
|---|---|---|
price |
参考价格 | — |
origin_country |
原产国 | 中国 |
first_ship_date |
上市日期 | 2008-11-07 |
certification_standard |
国家认证标准 | GB/20980 |
certificate_license |
生产许可证号 | QS311708010032 |
keyword |
关键词 | — |
remark |
备注 | — |
这组字段面向的是合规场景——食品、药品、进口商品在流通环节需要核验资质。电商平台上架也需要原产国信息来做标签展示和关税计算。

核心字段(6个):barcode / brand / goods_name / spec / price / image
收银场景的需求很集中:扫条码、出商品名、出价格、出规格,收银员确认数量,结账。这6个字段足够覆盖一条收银流水。category_name 可能用得上(按品类统计销售),但物理规格和合规信息基本不涉及。
选型关注点:响应速度是核心考量。收银台排队不能等,毫秒级返回是硬指标。
核心字段(9个):barcode / goods_name / spec / width / height / depth / gross_weight / net_weight / shelf_life
仓储场景下,条码查询不只是”这个商品叫什么”,而是”这个东西多大、多重、能放多久”。
如果一个条码查询接口只返回基础信息、不返回物理规格和保质期,仓储系统就还得另找数据源补这些字段,或者靠人工录入。
选型关注点:字段覆盖度 > 响应速度。仓储盘点可以接受一两秒的等待,但缺字段就意味着额外的开发工作。
核心字段(12个):基础信息8个 + price + origin_country + first_ship_date + shelf_life
电商商品上架需要的信息维度比零售收银多。除了基础的商品名称品牌规格,还需要:
origin_country → 进口商品标识、跨境标签first_ship_date → 新品标识shelf_life → 有效期管理,涉及退货和投诉处理category_code / category_name → 自动匹配平台类目树电商的核心需求是”减少卖家手动录入”。条码扫一下能自动填充的字段越多,卖家上架越快、录入错误越少。12个字段自动填充 vs 卖家手动敲——直接影响卖家体验。
选型关注点:字段数量和信息维度。自动填充的字段越多越好,但前提是数据准确。
核心字段(6个):barcode / goods_name / company / certification_standard / certificate_license / origin_country
药品流通的重心不在商品卖相,在合规追溯。入库时核验三样:
company → 生产企业是否在合格供应商名录内certification_standard → 是否符合国标/行业标准certificate_license → 生产许可证是否有效、是否与药监局公示一致这三个字段在其他行业可能是”有了更好”,在药品流通行业是”没有就不能用”。可以和药监局公开数据做交叉比对,自动标记资质异常的批次。
选型关注点:合规字段的完整性和准确性,比其他任何指标都优先。
| 字段 | 零售收银 | 仓储物流 | 电商平台 | 药品流通 |
|---|---|---|---|---|
| barcode | ✅ | ✅ | ✅ | ✅ |
| brand | ✅ | — | ✅ | — |
| goods_name | ✅ | ✅ | ✅ | ✅ |
| company | — | — | — | ✅ |
| category_code/name | 可选 | — | ✅ | — |
| image | ✅ | — | ✅ | — |
| spec | ✅ | ✅ | ✅ | — |
| width/height/depth | — | ✅ | — | — |
| gross_weight/net_weight | — | ✅ | — | — |
| price | ✅ | — | ✅ | — |
| origin_country | — | — | ✅ | ✅ |
| shelf_life | — | ✅ | ✅ | — |
| certification_standard | — | — | — | ✅ |
| certificate_license | — | — | — | ✅ |
一张表看清楚:23个字段里,没有任何一个行业需要全部。但不同行业需要的子集差异很大——选型时对着自己行业那列去比,比笼统地看”接口功能多不多”更有针对性。
实际业务里,”扫条码查商品”这一句话背后可能是两个步骤:先把图片变成条码号(识别),再把条码号变成商品信息(查询)。
探数API提供了两个配套接口:
| 接口 | 地址 | 方式 | 输入 → 输出 |
|---|---|---|---|
| 条码识别 | https://www.tanshuapi.com/market/detail-100 |
POST | 图片base64 → 条码号 |
| 条码查询 | https://www.tanshuapi.com/market/detail-77 |
不限 | 条码号 → 23字段商品信息 |
使用条码识别接口时注意:图片需正向清晰,不超过3MB,传入base64编码。
如果你的业务用的是硬件扫码枪(超市收银台、仓库PDA),扫码枪通常直接输出条码数字字符串——这种情况跳过识别接口,直接调查询接口即可。
建议在服务端对查询结果加缓存。同一个条码一天可能被扫几十次(尤其是盘点日和促销期间),不加缓存等于每个重复请求都消耗一次调用。用条码号做key,缓存商品详情,过期时间按业务对数据新鲜度的要求来定。

这个接口的底层查询逻辑分两步:
本地千万级条码库 → 有数据直接返回
→ 本地无数据 → 实时请求中国编码中心 → 补入本地库后返回
实际影响:
对于业务同时涉及国内商品和进口商品的企业(跨境电商、进口超市、外贸仓储),这个回源机制减少了”进口商品查不到”的情况。建议接入时在服务端设3-5秒超时,给回源查询留出时间。
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
key |
是 | string | 探数API后台获取 |
barcode |
是 | string | 13位或14位条码 |
| 错误码 | 说明 | 处理建议 |
|---|---|---|
| 207701 | 缺少必要参数 | 检查 barcode 是否传入 |
| 207702 | 查询失败 | 服务端异常,稍后重试 |
| 207703 | 无此条码数据(计费) | 本地库和编码中心均未查到 |
| 错误码 | 说明 |
|---|---|
| 10001 | 错误的请求KEY |
| 10002 | 该KEY无请求权限 |
| 10003 | KEY过期 |
| 10007 | 请求超过次数限制 |
| 10008 | 接口维护 |
接入建议:错误码
207703即使没查到数据也计费。建议调用前做一层条码格式校验(13位或14位纯数字),把格式不合规的输入在客户端就拦截掉,减少无效调用消耗。
Q1:支持哪些条码类型?
13位和14位标准商品条码,覆盖国内69开头和国外进口条码。ISBN书号、快递单号等其他编码类型不在本接口覆盖范围内。
Q2:条码识别和条码查询怎么配合使用?
条码识别负责”看图读码”——传入条码图片的base64,返回条码号字符串。条码查询负责”以码查货”——传入条码号,返回23字段商品详情。两个接口串联:先识别后查询。如果前端已经是扫码枪直接输出条码号,只调查询接口即可。
Q3:数据更新频率?
条码数据定期更新。新上市商品在中国编码中心有记录后,首次查询通过回源机制拉取并存入本地库,后续请求走本地库快速通道。
Q4:图片链接过期怎么处理?
image 返回的是24小时有效期的临时URL。建议在服务端收到响应后异步下载图片转存到自有存储,前端展示使用自己的链接。直接在页面引用接口URL,有效期过后显示不出来。
Q5:技术支持方式?
探数API提供专人答疑和对接服务,有定制需求可直接沟通。