getTagProducts
按商品标签 key 取该标签下已上架的商品卡列表。运营在 ERP「商品标签」里建一个标签(如 best-sellers)并给商品打标,前台只传这个 key 就能拿到商品,换商品不需要发版。
典型用法:首页「Best Sellers / New Arrivals」等标签位、/tag/[key] 标签落地页。
:::tip 与 getProduct 的区别
过去要按标签取商品,只能拉 getProduct(全语言聚合,>44KB)再在前端筛 tagList。本接口把筛选下推到 SQL(走标签关联表子查询),只回该标签的商品,且只带商品卡需要的字段。
:::
| 属性 | 值 |
|---|---|
| 方法 | GET |
| 路径 | /config/getTagProducts |
| 鉴权 | 公开 |
请求参数
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
tagKey | string | 是 | — | 标签 key,即后台创建标签时填的那个(如 best-sellers) |
language | string | 否 | en | 语言码。该语言下没有此标签时整体回退 en(标签元信息与商品同批回退,不会出现「英文标签名 + 日文商品」) |
limit | number | 否 | 不限 | 只回前 N 条(按 weight 降序)。<=0 或非数字视为不限 |
响应
{
"code": 0,
"message": "",
"data": {
"tag": {
"key": "best-sellers",
"name": "Best Sellers",
"description": "",
"image": "",
"scene_image": "",
"language": "en"
},
"goodList": [
{
"key": "ivy-trellis-diamond-ring",
"sort_key": "engagement-rings",
"name": "Ivy Trellis Diamond Ring",
"description": "",
"image": "https://asset.boldradiant.com/public/goods/ivy-trellis/1.jpg",
"image_list": [{ "src": "https://asset.boldradiant.com/public/goods/ivy-trellis/1.jpg" }],
"image_scenes": "",
"reviewScore": 4.9,
"reviewsNum": 218,
"reviews_score": 4.9,
"reviews_num": 218,
"weight": 100,
"comboList": [
{
"key": "14k-white-gold-half-ct",
"associate_country_key": "engagement-rings:engagement-rings-ivy-trellis-diamond-ring:14k-white-gold-half-ct"
}
]
}
]
}
}
data.tag
标签元信息,取自标签字典表 erp_goods_tag。
| 字段 | 类型 | 说明 |
|---|---|---|
key | string | 标签 key |
name | string | 标签展示名;后台未填时回落为 key |
description | string | 标签描述,可空串 |
image | string | 标签主图 URL,可空串 |
scene_image | string | 标签场景图 URL,可空串 |
language | string | 实际命中的语言。请求 language=ja 但只有 en 标签时,这里回 en |
data.goodList
商品卡数组,按 weight 降序。字段与分类页/首页商品卡同口径。
| 字段 | 类型 | 说明 |
|---|---|---|
key | string | 商品 key |
sort_key | string | 所属分类 key(拼详情页链接 /product/{sort_key}/{key} 用) |
name | string | 商品名 |
description | string | 商品描述 |
image | string | 主图 URL(取 image_list 首张的 src) |
image_list | array | 图集,元素形如 { "src": "..." };无图时为 null |
image_scenes | string | 场景图 URL(卡片 hover 切图用),可空串 |
reviewScore | number | 评分。有真实评价按评价现算均分,否则取商品表存量分 |
reviewsNum | number | 评价条数,口径同上 |
reviews_score / reviews_num | number | 商品表上的存量评分/条数(未经真实评价覆盖的原值) |
weight | number | 排序权重,降序 |
comboList | array | 变体精简项,仅含取价所需的两个键,见下 |
comboList[]
| 字段 | 类型 | 说明 |
|---|---|---|
key | string | 变体 key |
associate_country_key | string | 变体的定价关联键,形如 {分类}:{商品}:{变体}。取价时用它关联地区定价表 erp_countries_config |
:::warning 本接口不返回价格
和其它 SSG 用的聚合接口一样,响应里没有价格字段——价格随访客 area 变化,若烤进静态页会串币种。前台拿到 comboList 后在客户端按 area 批量取价(getProductsPricing)。因此本接口的响应与地区无关,可安全长缓存。
:::
两种「空」的区分
| 情况 | 响应 | 前台建议 |
|---|---|---|
标签不存在(回退 en 后仍不存在) | data 为 null | 标签页走 404;首页标签位整块隐藏 |
| 标签存在,但下面没有已上架商品 | data.tag 有值,data.goodList 为 [] | 同样隐藏该模块(或显示空态) |
过滤规则
- 只回
enabled = 1的商品; - 商品所属分类停用时该商品不露出(与分类页/首页口径一致:分类下架则其商品不在前台露出);
- 缺
tagKey或查询失败返回code: 10104。
示例
# 首页 Best Sellers 位:取前 10 条
curl -s 'https://service.boldsaasify.com/config/getTagProducts?tagKey=best-sellers&language=en&limit=10' \
-H 'X-Site-Domain: boldradiant.com'
# 标签落地页:取该标签全部商品
curl -s 'https://service.boldsaasify.com/config/getTagProducts?tagKey=best-sellers' \
-H 'X-Site-Domain: boldradiant.com'