
Linkfox Temu Manage Product Global
- 172 installs
- 64 repo stars
- Updated August 3, 2026
- linkfox-ai/linkfox-skills
Helps with ai & agent building tasks.
About
linkfox-temu-manage-product-global is a Claude Code skill in the AI & Agent Building category.
- linkfox-temu-manage-product-global
- AI & Agent Building
- AI-coding skill
Linkfox Temu Manage Product Global by the numbers
- 172 all-time installs (skills.sh)
- +35 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #3,113 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/linkfox-ai/linkfox-skills --skill linkfox-temu-manage-product-globalAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 172 |
|---|---|
| repo stars | ★ 64 |
| Last updated | August 3, 2026 |
| Repository | linkfox-ai/linkfox-skills ↗ |
What it does
Helps with ai & agent building tasks.
Files
Temu 全球站商品管理 API(Manage Product)
本 skill(linkfox-temu-manage-product-global)覆盖 全球区(`site=global`,非美国/欧洲) 的 Product > Manage Product 下 24 个 bg.local.* / temu.local.* 接口(type 与 US/EU 对齐)。美国站请用 `linkfox-temu-manage-product-us`;欧洲站请用 `linkfox-temu-manage-product-eu`。
网关(本 skill 内置):
| 能力 | 方法 | 路径 |
|---|---|---|
商品 OpenAPI(global_manage_*、temu_global_proxy) | POST | https://tool-gateway.linkfox.com/temu/proxy |
| 加签文件下载 | POST | https://tool-gateway.linkfox.com/temu/fileDownload |
发品请用 `linkfox-temu-add-product-us`(JSON 中 `site=global`)。电商合规(资质/GPSR/实拍图/责任人)用 `linkfox-temu-compliance-global`;价格/供货价(含 SKU 列表价)用 `linkfox-temu-price-global`;促销用 `linkfox-temu-promotion-global`;广告用 `linkfox-temu-ads-global`;订单用 `linkfox-temu-order-global` / `linkfox-temu-order-eu`;履约用 `linkfox-temu-fulfillment-global` / `linkfox-temu-fulfillment-eu`;取消用 `linkfox-temu-cancel-order-us` / `linkfox-temu-cancel-order-eu`(均需 `site=global` 时显式传入)。
API Usage
入参/出参、Partner 官方文档 URL 已内联至 references/:
| 文档 | 内容 |
|---|---|
| api.md | 网关、鉴权、错误码 |
| partner-global-catalog.md | 24 接口目录 + 脚本 + 文档链接 |
| apis/README.md | 按接口分文件(24 个 apis/*.md) |
常用单接口文档示例:
- 部分编辑:apis/bg-local-goods-partial-update.md
- 商品列表:apis/bg-local-goods-list-query.md
- 库存编辑:apis/bg-local-goods-stock-edit.md
默认参数
| 字段 | 默认 | 说明 |
|---|---|---|
| site | global | Partner Global |
| managementType | semi-managed | 半托管 |
| tokenPurpose | product-inventory | 酷鸟卖家助手 token |
鉴权
1. LinkFox:LINKFOXAGENT_API_KEY → Header Authorization + Token 2. Temu:accessToken 或 storeKey
Scripts(按 type)
| 脚本 | type |
|---|---|
global_manage_list_query.py | bg.local.goods.list.query |
global_manage_goods_list_retrieve.py | temu.local.goods.list.retrieve |
global_manage_detail_query.py | bg.local.goods.detail.query |
global_manage_sku_list_query.py | bg.local.goods.sku.list.query |
global_manage_sku_list_retrieve.py | temu.local.sku.list.retrieve |
global_manage_publish_status_get.py | bg.local.goods.publish.status.get |
global_manage_sku_stock_query.py | temu.local.goods.sku.stock.query |
global_manage_stock_edit.py | bg.local.goods.stock.edit |
global_manage_partial_update.py | bg.local.goods.partial.update |
global_manage_goods_update.py | bg.local.goods.update |
global_manage_goods_delete.py | temu.local.goods.delete |
global_manage_spec_info_get.py | temu.local.goods.spec.info.get |
global_manage_category_check.py | bg.local.goods.category.check |
global_manage_property_get.py | bg.local.goods.property.get |
global_manage_property_relations.py | bg.local.goods.property.relations |
global_manage_property_relations_level_template.py | bg.local.goods.property.relations.level.template |
global_manage_property_relations_template.py | bg.local.goods.property.relations.template |
global_manage_out_sn_set.py | bg.local.goods.out.sn.set |
global_manage_sku_out_sn_set.py | bg.local.goods.sku.out.sn.set |
global_manage_compliance_list_query.py | bg.local.compliance.goods.list.query |
global_manage_compliance_edit.py | bg.local.goods.compliance.edit |
global_manage_sale_status_set.py | bg.local.goods.sale.status.set |
global_manage_pre_sale_status_edit.py | temu.local.goods.pre.sale.status.edit |
global_manage_videocoverimage_get.py | bg.local.goods.videocoverimage.get |
temu_global_proxy.py | 任意 type |
temu_global_file_download.py | 加签文件下载 |
示例
export LINKFOXAGENT_API_KEY="<key>"
# 商品列表
python scripts/global_manage_list_query.py '{"accessToken":"TOKEN","site":"global","tokenPurpose":"product-inventory","request":{"pageNo":1,"pageSize":20,"goodsSearchType":1,"goodsStatusFilterType":0}}'
# 详情
python scripts/global_manage_detail_query.py '{"accessToken":"TOKEN","request":{"goodsId":123456,"versionQueryType":2}}'
# 部分编辑标题(官方字段为 goodsBasic.goodsName,非 productName)
python scripts/global_manage_partial_update.py '{"accessToken":"TOKEN","request":{"goodsId":123456,"goodsBasic":{"goodsName":"New Title"}}}'
# 库存增量
python scripts/global_manage_stock_edit.py '{"accessToken":"TOKEN","request":{"goodsId":123456,"skuStockChangeList":[{"skuId":999,"stockDiff":10}]}}'Feedback: skillName:linkfox-temu-manage-product-global
网关与授权脚本
| 脚本 | 说明 |
|---|---|
check_linkfox_token.py | 校验 LinkFox 用户 Token |
temu_token_guide.py | Temu accessToken 后台授权步骤 |
save_temu_access_token.py | 保存 accessToken 到本地 |
list_temu_access_tokens.py | 列出已保存 token |
get_temu_access_token.py | 读取已保存 token |
temu_proxy.py | 通用网关转发(多 site) |
temu_file_download.py | 加签文件下载(多 site) |
授权说明:references/access-token.md
<!-- LF_LARGE_RESPONSE_BLOCK -->
Handling Large Responses
To avoid overflowing the agent context, persist the response to disk and extract only the fields you need:
python scripts/response_io.py run --script scripts/check_linkfox_token.py --out-dir <DIR> '<params>'
python scripts/response_io.py read <file> --fields "<paths>" # or --path "<JMESPath>"Pick--out-diroutside any git working tree (e.g./tmp/...on Unix,%TEMP%/...on Windows). Persisted responses may contain PII, pricing, or auth-sensitive data — do not commit them. Files are not auto-deleted; clean up when the task is done.
This skill exposes multiple entry scripts:check_linkfox_token.py,get_temu_access_token.py,global_manage_category_check.py,global_manage_compliance_edit.py,global_manage_compliance_list_query.py,global_manage_detail_query.py,global_manage_goods_delete.py,global_manage_goods_list_retrieve.py,global_manage_goods_update.py,global_manage_list_query.py,global_manage_out_sn_set.py,global_manage_partial_update.py,global_manage_pre_sale_status_edit.py,global_manage_property_get.py,global_manage_property_relations.py,global_manage_property_relations_level_template.py,global_manage_property_relations_template.py,global_manage_publish_status_get.py,global_manage_sale_status_set.py,global_manage_sku_list_query.py,global_manage_sku_list_retrieve.py,global_manage_sku_out_sn_set.py,global_manage_sku_stock_query.py,global_manage_spec_info_get.py,global_manage_stock_edit.py,global_manage_videocoverimage_get.py,list_temu_access_tokens.py,save_temu_access_token.py,temu_file_download.py,temu_global_file_download.py,temu_global_proxy.py,temu_proxy.py,temu_token_guide.py. Pass--script scripts/<name>.pyto choose the one you need.
run writes the full response to a file and emits only a schema preview + file path. read projects specific fields, with --limit/--offset for slicing and --format json|jsonl|csv|table for output.
When to prefer this pattern — apply your judgment based on the response characteristics, e.g.:
- High field count per record, or fields you don't need
- Batch/paginated results (multiple items per call)
- Long-text fields (descriptions, reviews, HTML, time series)
- Output reused across later steps rather than consumed immediately
For small, single-use responses, calling the main script directly is fine.
⚠️ The preview is a truncated schema + sample, not the full data. Any field-level decision must read from the persisted file via read. <!-- /LF_LARGE_RESPONSE_BLOCK -->
Temu accessToken 授权与获取
Temu 没有 LinkFox 侧自动 OAuth;accessToken 须在 Temu 卖家后台「服务市场 → 授权管理」手动复制。与 LINKFOXAGENT_API_KEY(LinkFox 用户鉴权)是两套令牌。
两种鉴权(勿混淆)
| 令牌 | 用途 | 获取方式 |
|---|---|---|
| LinkFox 用户 Token | 调用 /temu/proxy、/temu/fileDownload 必填 | LINKFOXAGENT_API_KEY 或请求 JSON 的 token;Header Authorization + Token(同 amazon-store-auth) |
| Temu accessToken | Temu 业务 API(经紫鸟转发) | Temu 卖家后台授权后复制 |
export LINKFOXAGENT_API_KEY="<your-key>"
python scripts/check_linkfox_token.pytokenPurpose 与场景
| tokenPurpose | 店铺类型 | 推荐 site | 授权应用 |
|---|---|---|---|
product-inventory | 半托管 | cn / partner | 酷鸟卖家助手 |
order-shipping | 半托管 | us / global / eu | Cyber-ERP酷鸟助手 |
full-managed | 全托管 | cn / partner | 酷鸟卖家助手 |
local-native | 本土(美/欧主体) | us 等 | Cyber-ERP |
1. 半托管 — 商品/库存 Token
1. 登录 seller.kuajingmaihuo.com 或 agentseller.temu.com 2. 系统管理 → 服务市场 → 授权管理 3. 获取授权 → 选择 「酷鸟卖家助手」 4. 全选常规和特殊授权 → 确认 → 复制 access_token 5. 调用 API:site=cn 或 partner,managementType=semi-managed
2. 半托管 — 订单/发货 Token
1. 登录 Temu 卖家后台 2. 右上角 Seller Central → 切换到目标区域(美区 / 欧区 / 全球) 3. 服务市场 → 授权管理 4. 获取授权 → 选择 「Cyber-ERP酷鸟助手」 5. 全选授权 → 确认 → 复制 token 6. 调用 API:site=global / global / eu,managementType=semi-managed
3. 全托管店铺
1. 登录 Temu 平台 2. 系统管理 → 服务市场 → 授权管理 3. 获取授权 → 「酷鸟卖家助手」 → 全选 → 复制 token 4. 调用 API:managementType=full-managed,site 通常 cn 或 partner
4. 本土店铺(美区、欧区主体)
1. 登录 Temu 2. Apps And Services → Manage Your Apps 3. Authorize a new app → 搜索 「Cyber-ERP」 4. 一般权限与敏感权限全选 → 确认 → 复制 token
站点与 OpenAPI 网关
| site | 说明 | Temu 网关 |
|---|---|---|
| cn | 中国站 | openapi.kuajingmaihuo.com |
| partner | Partner 网关 | openapi-b-partner.temu.com |
| us | 全球站 | openapi-b-global.temu.com |
| global | 全球区 | openapi-b-global.temu.com |
| eu | 全球站 | openapi-b-global.temu.com |
本地保存 Token(推荐)
默认存储:~/.linkfox/temu-access-tokens.json(可用 TEMU_TOKEN_STORE_PATH 覆盖)。
# 查看授权步骤
python scripts/temu_token_guide.py '{"shopType":"semi-managed","tokenPurpose":"product-inventory","site":"cn"}'
# 保存 token
python scripts/save_temu_access_token.py '{
"storeKey": "my-shop",
"label": "中国半托管",
"site": "cn",
"managementType": "semi-managed",
"tokenPurpose": "product-inventory",
"accessToken": "PASTE_TOKEN"
}'
# 列出已保存(脱敏)
python scripts/list_temu_access_tokens.py
# 用 storeKey 调 API(无需每次粘贴 token)
python scripts/temu_proxy.py '{
"storeKey": "my-shop",
"site": "cn",
"managementType": "semi-managed",
"tokenPurpose": "product-inventory",
"type": "bg.goods.category.mapping",
"params": {"goodsName": "测试", "goodsNameEn": "Test"}
}'注意事项
1. 子账号:可能无法进入服务市场,需主账号授权。 2. 多站点:全球站、英国站等需分别登录对应后台获取 Token。 3. 有效期:Token 会过期,过期后重新在后台复制并 save_temu_access_token.py。 4. IP 白名单:需联系紫鸟开放平台配置调用 IP。 5. 参数小写:site、managementType 必须小写。
脚本一览
| 脚本 | 说明 |
|---|---|
temu_token_guide.py | 按店铺类型/用途输出授权步骤 |
save_temu_access_token.py | 保存 accessToken 到本地 |
list_temu_access_tokens.py | 列出已保存 token(默认脱敏) |
get_temu_access_token.py | 读取指定 store 的 token |
linkfox-temu-manage-product-global — API 参考
Temu 全球站商品管理(Partner Global Product > Manage Product),经本 skill temu_global_proxy(POST /temu/proxy) 转发。Temu 的 type 写在 Body,不是 URL 路径。
网关与鉴权:本 skillscripts/(LINKFOXAGENT_API_KEY、accessToken/storeKey)。授权见references/access-token.md。
---
调用规范
| 项 | 说明 |
|---|---|
| 网关根地址 | https://tool-gateway.linkfox.com(可用 TEMU_API_BASE_URL / STORE_API_BASE_URL 覆盖) |
| 商品 OpenAPI | POST /temu/proxy |
| 加签文件下载 | POST /temu/fileDownload(temu_global_file_download.py) |
| LinkFox 鉴权 | Header `Authorization` 与 `Token`(同值);或 LINKFOXAGENT_API_KEY;或 JSON token |
| Temu 鉴权 | Body accessToken,或 storeKey + site + managementType + tokenPurpose |
| 默认 | site=global,managementType=semi-managed,tokenPurpose=product-inventory |
| 上游 OpenAPI(US) | https://openapi-b-global.temu.com/openapi/router(网关按 site 解析) |
网关请求 Body(/temu/proxy)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| site | string | 是 | global(本 skill 默认) |
| managementType | string | 是 | semi-managed |
| accessToken | string | 与 storeKey 二选一 | Temu 店铺令牌 |
| storeKey | string | 与 accessToken 二选一 | ~/.linkfox/temu-access-tokens.json 中的键 |
| tokenPurpose | string | 否 | 建议 product-inventory |
| type | string | 是 | Temu 接口名,如 bg.local.goods.list.query |
| params | object | 否 | 业务参数,见各接口文档 |
网关响应
| 字段 | 类型 | 说明 |
|---|---|---|
| body | string | Temu 原始 JSON 字符串;脚本解析为 temuBody |
| code | integer | 网关错误码:1002 参数/Token,1003 转发失败 |
解析顺序:网关 `code` → JSON.parse(body) → success / errorCode / errorMsg / result。
脚本调用
export LINKFOXAGENT_API_KEY="<key>"
python scripts/global_manage_list_query.py '{"accessToken":"TOKEN","request":{"pageNo":1,"pageSize":20,"goodsSearchType":1,"goodsStatusFilterType":0}}'业务字段可放在顶层或嵌套 params。
---
接口一览(24)
完整 sub_menu_code 与 Partner 文档 URL 见 partner-global-catalog.md。
每个接口单独一份文档: apis/README.md(24 个 apis/<type-slug>.md)。
---
典型管理流程
1. bg.local.goods.list.query 或 temu.local.goods.list.retrieve → 找 goodsId
2. bg.local.goods.detail.query → 拉全量详情
3. bg.local.goods.partial.update / bg.local.goods.update → 改标题/图/属性
4. bg.local.goods.stock.edit → 改库存
5. bg.local.goods.sale.status.set → 上下架发品(V2 add)请用 `linkfox-temu-add-product-us`。价格/供货价请用 `linkfox-temu-price-us`。订单请用 `linkfox-temu-order-us`。履约/发货请用 `linkfox-temu-fulfillment-us`。买家取消请用 `linkfox-temu-cancel-order-us`。卖家取消请用 `linkfox-temu-cancel-order-us`。
---
网关错误码
| code | 说明 | 处理 |
|---|---|---|
| 1002 | 参数或 LinkFox Token 无效 | 修正参数与 LINKFOXAGENT_API_KEY |
| 1003 | 转发失败 | 检查 Temu token、白名单、网络 |
---
Feedback API
- POST
https://skill-api.linkfox.com/api/v1/public/feedback skillName: `linkfox-temu-manage-product-global`
合规商品列表 — bg.local.compliance.goods.list.query
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_compliance_list_query.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=2a343c65a03d42d380e9ad835aa7b54b |
| 网关 | POST /temu/proxy,type=bg.local.compliance.goods.list.query,业务载荷放在 Body 的 params |
Description: Product management attribute list query(合规待办/属性管理商品列表查询)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── pageNo / pageSize
├── searchText
├── statusList
└── optionalConditionList[]
├── complianceType
├── templateId
├── repType
├── actualPhotoCheckType
└── certTyperequest 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageNo | INTEGER | 是 | Page NO. |
| pageSize | INTEGER | 是 | Page Size,默认 25 |
| searchText | STRING | 否 | 支持按 goodsName / goodsId / skuId 搜索 |
| statusList | INTEGER[] | 否 | 合规状态筛选,见下表 |
| optionalConditionList | OBJECT[] | 否 | Compliance Information Filters(合规信息筛选) |
statusList / 各块 status 枚举
| 值 | 说明 |
|---|---|
1 | not submitted(未提交) |
2 | To be reviewed(待审核) |
3 | Reviewing(审核中) |
4 | Action required(需处理) |
5 | Approved(已通过) |
6 | Rejected(已拒绝) |
7 | To be updated(待更新) |
optionalConditionList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| complianceType | INTEGER | 否 | 1 Governance attributes;2 General Product Safety Regulation(GPSR) |
| templateId | INTEGER | 否 | 合规模板类型筛选(文档与 complianceType 同组说明:1 Governance / 2 GPSR) |
| repType | INTEGER | 否 | 2 EU responsible person;3 manufacturer。`complianceType=2` 时必填 |
| actualPhotoCheckType | LONG | 否 | 实拍图 checkType。`complianceType=3` 时必填 |
| certType | LONG | 否 | 资质 checkType。`complianceType=4` 时填写 |
筛选侧complianceType除1/2外,通过条件字段可推断 `3` 实拍、**4**资质等类型(以 Partner 与实网为准)。
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"pageNo": 1,
"pageSize": 25,
"statusList": [4, 7],
"searchText": "keyword"
}
}{
"accessToken": "TOKEN",
"request": {
"pageNo": 1,
"pageSize": 25,
"optionalConditionList": [
{
"complianceType": 2,
"repType": 2
}
]
}
}勿使用旧字段goodsIdList、complianceStatus;官方为 `statusList` + `optionalConditionList`。
---
Response(Temu body 解析后)
response
├── success
├── errorCode
├── errorMsg
└── result
├── total
└── goodsList[]
├── goodsId / goodsName / thumbUrl / outGoodsSn / crtTime
├── extraTemplateInfoList[]
├── gpsrInfoList[]
├── repInfoList[]
├── actualPhotoList[]
└── certificateInfoList[]| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | Success or not |
| errorCode | INTEGER | Error code |
| errorMsg | STRING | Error message |
| result | OBJECT | Result |
| result.total | LONG | Total |
| result.goodsList | OBJECT[] | Goods list |
result.goodsList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| goodsId | LONG | Goods Id |
| goodsName | STRING | Goods Name |
| thumbUrl | STRING | Goods Thumb Url |
| outGoodsSn | STRING | External SKU Codes(外部商品编码) |
| crtTime | LONG | Creation time,单位 秒 |
| extraTemplateInfoList | OBJECT[] | Governance attribute template information list |
| gpsrInfoList | OBJECT[] | GPSR info list |
| repInfoList | OBJECT[] | Responsible Person Info |
| actualPhotoList | OBJECT[] | Actual photo list |
| certificateInfoList | OBJECT[] | certification list |
extraTemplateInfoList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| templateId | INTEGER | template ID of governance attributes |
| status | INTEGER | 合规状态,见 statusList 枚举 |
gpsrInfoList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| repType | INTEGER | 2 EU responsible person;3 manufacturer |
| status | INTEGER | 合规状态 |
repInfoList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| repType | INTEGER | 4 A/S Responsible Person |
| status | INTEGER | 合规状态 |
actualPhotoList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| actualPhotoCheckType | LONG | checkType of actual photo |
| status | INTEGER | 合规状态 |
certificateInfoList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| certType | LONG | certType of this certificate |
| status | INTEGER | 合规状态 |
---
示例
python scripts/global_manage_compliance_list_query.py '{
"accessToken": "TOKEN",
"request": {
"pageNo": 1,
"pageSize": 25,
"statusList": [4, 7]
}
}'python scripts/global_manage_compliance_list_query.py '{
"accessToken": "TOKEN",
"request": {
"pageNo": 1,
"pageSize": 25,
"searchText": "123456789",
"optionalConditionList": [
{
"complianceType": 2,
"repType": 3
}
]
}
}'类目预检 — bg.local.goods.category.check
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_category_check.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=2a343c65a03d42d380e9ad835aa7b54b |
| 网关 | POST /temu/proxy,type=bg.local.goods.category.check,业务载荷放在 Body 的 params |
Description: precheck category misplacement(类目错放预检)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── catId
├── hdThumbUrl
├── carouselImageList
├── language
└── goodsNamerequest 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| catId | LONG | 否 | category id |
| hdThumbUrl | STRING | 否 | thumb url(高清缩略图) |
| carouselImageList | STRING[] | 否 | list of carousel images(轮播图 URL 列表) |
| language | STRING | 否 | Language |
| goodsName | STRING | 否 | goods name |
官方表中五项均为选填;实际预检时通常需传入 `catId` 及能描述商品的字段(如 `goodsName`、`hdThumbUrl` / `carouselImageList`),以提高准确度。以 Partner 文档与实网校验为准。
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"catId": 12345,
"goodsName": "Product Title",
"language": "en"
}
}{
"accessToken": "TOKEN",
"request": {
"catId": 12345,
"goodsName": "Product Title",
"hdThumbUrl": "https://example.com/thumb.jpg",
"carouselImageList": [
"https://example.com/1.jpg",
"https://example.com/2.jpg"
]
}
}勿使用旧文档中的goodsId、productPropertyReqs;官方入参为 `catId` + 图片/标题/语言组合。
---
Response(Temu body 解析后)
| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | success |
| errorCode | INTEGER | error code |
| errorMsg | STRING | error message |
| result | OBJECT | result(子字段在 Partner 文档中展开) |
官方 Response 表中 `result` 未在提供的片段中展开,预检结论、建议类目等字段名以 Partner 后台为准。
---
示例
python scripts/global_manage_category_check.py '{
"accessToken": "TOKEN",
"request": {
"catId": 12345,
"goodsName": "Wireless Earbuds",
"carouselImageList": ["https://example.com/main.jpg"],
"language": "en"
}
}'合规编辑 — bg.local.goods.compliance.edit
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_compliance_edit.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=2a343c65a03d42d380e9ad835aa7b54b |
| 网关 | POST /temu/proxy,type=bg.local.goods.compliance.edit,业务载荷放在 Body 的 params |
Description: Edit product qualification information(编辑商品合规/资质信息:资质文件、实拍图、责任人、治理属性等)。
---
调用方式说明
经 LinkFox 网关 调用时,使用 accessToken + request 等业务字段即可,无需在 params 中自行拼装 app_key、sign、timestamp 等(由网关代签转发)。直连 Temu OpenAPI 时需携带下列通用参数。
Temu OpenAPI 通用参数(直连上游)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | STRING | 是 | API 名称,如 bg.local.goods.compliance.edit |
| app_key | STRING | 是 | 应用 Key |
| access_token | STRING | 是 | 访问控制用安全令牌(A secure token for access control) |
| sign | STRING | 是 | 请求签名 |
| timestamp | STRING | 是 | UNIX 时间戳(秒),10 位;须在「当前时间 ±300 秒」范围内 |
| data_type | STRING | 否 | 请求/响应数据格式,可选参数固定为 JSON |
| version | STRING | 否 | API 版本,默认 V1;无特殊要求可不传 |
---
Request 结构(业务 params)
params
└── request (OBJECT, 选填)
├── language
├── goodsId ← 必填
├── certificateInfo ← 资质文件
│ └── certificateDetailList[]
│ ├── certType
│ ├── skip
│ ├── authCode
│ ├── authCodes[]
│ │ └── authCode
│ ├── certFiles[] ← 最多 6
│ │ ├── fileName
│ │ ├── fileUrl
│ │ └── language
│ └── inspectReportFiles[] ← 最多 6
│ ├── fileName
│ ├── fileUrl
│ └── language
├── actualPhoto ← 实拍图
│ ├── skip
│ └── actualPhotoInfoList[]
│ ├── sameSku
│ ├── position
│ └── skuPhotoInfoList[]
│ ├── specIdList[]
│ └── imageList[]
│ └── imageUrl
├── repInfo ← 责任人
│ └── repDetailList[]
│ ├── complianceRepType
│ └── repIdList[]
└── extraTemplate ← 治理属性
└── extraTemplateDetailList[]
├── templateId
├── properties ← MAP: propertyId → value id[]
├── inputText ← MAP: propertyId → 输入对象
└── compliancePropertyList[] ← SKU 维度合规
├── specIdList[]
└── inputTextList[]
├── properties
└── inputTextrequest 顶层字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| language | STRING | 否 | language(语言) |
| goodsId | LONG | 是 | Goods ID(商品 ID) |
| certificateInfo | OBJECT | 否 | Qualification Documents(资质文件) |
| actualPhoto | OBJECT | 否 | Actual Photos(实拍图) |
| repInfo | OBJECT | 否 | Responsible Person Info(责任人信息) |
| extraTemplate | OBJECT | 否 | Governance attributes(治理属性 / 合规模板扩展) |
---
certificateInfo — 资质文件
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| certificateDetailList | OBJECT[] | 否 | List of Qualification Documents(资质文件明细列表) |
certificateDetailList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| certType | INTEGER | 是 | Qualification Type(资质类型) |
| skip | BOOLEAN | 否 | Whether to skip(是否跳过);未传时默认不跳过 |
| authCode | STRING | 否 | Qualification Number(资质编号),最多 120 字符 |
| authCodes | OBJECT[] | 否 | Qualification Number Info(资质编号信息列表) |
| certFiles | OBJECT[] | 否 | List of Qualification Certificate Files(资质证书文件列表),最多 6 个 |
| inspectReportFiles | OBJECT[] | 否 | List of Inspection Report Files(检测报告文件列表),最多 6 个 |
authCodes[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| authCode | STRING | 否 | Qualification Number(资质编号),最多 120 字符 |
certFiles[] / inspectReportFiles[](结构相同)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| fileName | STRING | 是 | File Name(文件名),最多 200 字符 |
| fileUrl | STRING | 是 | File URL(文件 URL) |
| language | STRING | 否 | file language(文件语言) |
---
actualPhoto — 实拍图
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| skip | BOOLEAN | 否 | Whether to skip(是否跳过);未传时默认不跳过 |
| actualPhotoInfoList | OBJECT[] | 否 | Actual Photo Module Information(实拍图模块信息列表) |
actualPhotoInfoList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| sameSku | BOOLEAN | 是 | Whether the product SKUs are the same(各 SKU 是否相同) |
| position | INTEGER | 是 | Position of the actual photo(实拍图位置) |
| skuPhotoInfoList | OBJECT[] | 是 | SKU Photos(SKU 实拍图列表) |
skuPhotoInfoList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| specIdList | LONG[] | 否 | Spec IDs(规格 ID 列表) |
| imageList | OBJECT[] | 是 | List of Image URLs(图片 URL 列表) |
imageList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| imageUrl | STRING | 是 | Image URL(图片 URL) |
---
repInfo — 责任人信息
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| repDetailList | OBJECT[] | 否 | Responsible Person Detail Info(责任人明细列表) |
repDetailList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| complianceRepType | INTEGER | 否 | 责任人类型,如 `4`:A/S REP(售后代表) |
| repIdList | LONG[] | 否 | Responsible Person Id(责任人 ID 列表) |
---
extraTemplate — 治理属性
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| extraTemplateDetailList | OBJECT[] | 否 | attributes List(属性明细列表) |
extraTemplateDetailList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| templateId | INTEGER | 否 | Template ID(模板 ID) |
| properties | MAP | 否 | propertyId → 属性值 ID 列表。对应控件:controlType=1 下拉选择;controlType=3 输入或选择 |
| inputText | MAP | 否 | propertyId → 输入值对象。对应控件:0 输入;3 输入或选择;17 多行输入;18 双值比例 |
| compliancePropertyList | OBJECT[] | 否 | sku dimension compliance information(SKU 维度合规信息) |
properties(MAP 键值)
| 键 / 值 | 类型 | 说明 |
|---|---|---|
$key(propertyId) | STRING | propertyId(属性 ID) |
$value | LONG[] | property value id(属性值 ID 列表) |
inputText(MAP 键值)
| 键 / 值 | 类型 | 说明 |
|---|---|---|
$key(propertyId) | STRING | propertyId(属性 ID) |
$value | OBJECT | Input Value(输入值对象),见下表 |
inputText.$value
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | STRING | 否 | Input Value(输入文本) |
| multiLineInputs | OBJECT[] | 否 | Multi-line input(多行输入,controlType=17、18) |
####### multiLineInputs[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | STRING | 否 | Input value(controlType=17、18 时的输入值) |
| vid | LONG | 否 | Attribute value(controlType=18 时的属性值 ID) |
compliancePropertyList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| specIdList | LONG[] | 否 | spec ids(规格 ID 列表) |
| inputTextList | OBJECT[] | 否 | Input Value(SKU 维度输入值列表) |
inputTextList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| properties | MAP | 否 | Attribute Value,key 为 property_id → LONG[] 属性值 ID |
| inputText | MAP | 否 | Input Value,key 为 property_id → 输入对象(结构同上文 inputText.$value) |
---
网关 params 写法(示例)
{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456789,
"language": "en",
"certificateInfo": {
"certificateDetailList": [
{
"certType": 1,
"authCode": "CERT-001",
"certFiles": [
{
"fileName": "certificate.pdf",
"fileUrl": "https://example.com/cert.pdf",
"language": "en"
}
]
}
]
},
"actualPhoto": {
"actualPhotoInfoList": [
{
"sameSku": true,
"position": 1,
"skuPhotoInfoList": [
{
"specIdList": [10001],
"imageList": [
{ "imageUrl": "https://example.com/photo1.jpg" }
]
}
]
}
]
},
"repInfo": {
"repDetailList": [
{
"complianceRepType": 4,
"repIdList": [90001]
}
]
},
"extraTemplate": {
"extraTemplateDetailList": [
{
"templateId": 100,
"properties": {
"12345": [67890]
},
"inputText": {
"23456": {
"name": "custom text"
}
}
}
]
}
}
}官方字段名为 `certificateInfo`(非certificationInfo)。各合规块是否必填取决于类目与待办类型,可先通过bg.local.compliance.goods.list.query查询待补项。
---
Response(Temu body 解析后)
response
├── success
├── errorCode
├── errorMsg
└── result (OBJECT,可能为空)| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | 当前请求是否成功:成功返回 true,否则返回 false |
| errorCode | INTEGER | 错误码:用于对照错误码表定位解决方案 |
| errorMsg | STRING | 错误信息:与 errorCode 对应的反馈内容 |
| result | OBJECT | 业务结果;本接口成功时常见为空对象或仅含简单确认字段,以 Partner 实网返回为准 |
解析顺序见 ../api.md:先校验网关code,再解析body内success/errorCode/errorMsg。
---
相关接口
| 接口 | 用途 |
|---|---|
bg.local.compliance.goods.list.query | 查询待合规/待更新商品及所需合规类型 |
bg.local.goods.property.get | 查询商品属性(含合规模板参考) |
linkfox-temu-add-product-us 发品文档 | certificationInfo 与本文 certificateInfo 等同族结构参考 |
---
示例
python scripts/global_manage_compliance_edit.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456789,
"certificateInfo": {
"certificateDetailList": [
{
"certType": 1,
"skip": false,
"authCode": "AUTH-2024-001",
"certFiles": [
{
"fileName": "ce-cert.pdf",
"fileUrl": "https://cdn.example.com/ce-cert.pdf"
}
]
}
]
}
}
}'商品详情 — bg.local.goods.detail.query
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_detail_query.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=9ebbd5d269014322ad4a6c123b1dfdae |
| 网关 | POST /temu/proxy,type=bg.local.goods.detail.query,业务载荷放在 Body 的 params |
Description: Query local goods detail.
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── language
├── goodsId ← 必填
└── versionQueryType ← 查哪一版商品信息request 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| language | STRING | 否 | Language |
| goodsId | LONG | 是 | goods id |
| versionQueryType | INTEGER | 否 | 拉取哪一版商品信息,默认 `2` |
versionQueryType 枚举
| 值 | 说明 |
|---|---|
1 | 拉取当前审核中的最新版本商品信息 |
2 | 拉取线上在售快照(编辑前的 live 版本),默认 |
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456,
"versionQueryType": 2
}
}{
"accessToken": "TOKEN",
"request": {
"language": "en",
"goodsId": 123456,
"versionQueryType": 1
}
}---
Response(Temu body 解析后)
response
├── success
├── errorCode
├── errorMsg
└── result
├── goodsId
├── catId
├── subStatus
├── goodsName
├── goodsDesc
├── bulletPoints
├── customized
├── productType
├── sourceSiteInfo
├── targetSiteInfo[]
├── goodsGallery
├── importDesignation
├── outGoodsSn
├── goodsServicePromise
├── goodsProperties[]
├── goodsTrademark
├── goodsSizeChartList
├── goodsSizeImage
├── goodsOriginInfo
├── secondHand
├── itemTaxCode
├── skuList[]
└── saveModeStatus| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | success |
| errorCode | INTEGER | error code |
| errorMsg | STRING | error message |
| result | OBJECT | 商品详情 |
result 顶层字段(官方)
注意:详情 Response 的result为扁平结构(字段直接在result下),与 update 请求 中包在request.goodsBasic内的层级不同。改商品时请按 partial.update / update 的 Request 结构组装。
| 参数 | 类型 | 说明 |
|---|---|---|
| goodsId | LONG | Product ID |
| catId | LONG | 叶子类目 ID(须与 category version 对应类目树一致) |
| subStatus | INTEGER | Product Draft Status |
| goodsName | STRING | Product Name |
| goodsDesc | STRING | Goods Desc |
| bulletPoints | STRING[] | Product Selling Point |
| customized | BOOLEAN | Whether Customized Product |
| productType | INTEGER | 1 Normal,2 Custom,3 Made-to-order |
| sourceSiteInfo | OBJECT | Source site product ID(子字段见 Partner 展开) |
| targetSiteInfo | OBJECT[] | Target site Product ID(子字段见 Partner 展开) |
| goodsGallery | OBJECT | 图库/视频;最多 49 张图 URI、1 个视频 URI,顺序即 Temu 展示顺序,视频在画廊顶部 |
| importDesignation | STRING | 仅 USA:Imported / Made in the USA / Made in the USA and Imported / Made in the USA or Imported |
| outGoodsSn | STRING | 外部商品编码,店内唯一,最长 40 字符,勿首尾空格 |
| goodsServicePromise | OBJECT | Merchant Service Information → 结构同 partial.update §goodsServicePromise |
| goodsProperties | OBJECT[] | Product General Attributes(非 goodsProperty.goodsProperties)→ 元素结构同 partial.update §goodsProperties |
| goodsTrademark | OBJECT | Trademark Information → 同 partial.update §goodsTrademark |
| goodsSizeChartList | OBJECT | 尺码表(套装可多套)→ 同 partial.update §goodsSizeChartList |
| goodsSizeImage | STRING[] | The URL of the size chart image |
| goodsOriginInfo | OBJECT | Goods Origin Information → 同 partial.update §goodsOriginInfo |
| secondHand | OBJECT | second hand info → 同 partial.update §secondHand |
| itemTaxCode | STRING | Tax Code |
| skuList | OBJECT[] | Sku Commit Query List → SKU 元素结构同 partial.update §skuList |
| saveModeStatus | INTEGER | Seller review status of products automatically published to Temu |
goodsGallery(Response 常见子字段)
与编辑请求一致,见 partial.update §goodsGallery:detailVideo、goodsCarouselImage、detailImage、carouselVideo。
---
示例
# 查线上在售版本(默认 versionQueryType=2)
python scripts/global_manage_detail_query.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456
}
}'
# 查审核中最新版本
python scripts/global_manage_detail_query.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456,
"versionQueryType": 1
}
}'商品列表 — bg.local.goods.list.query
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_list_query.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=7b50a3af47824c4482c7238c6e11aedc |
| 网关 | POST /temu/proxy,type=bg.local.goods.list.query,业务载荷放在 Body 的 params |
Description: 分页查询商品列表(页码分页,与 temu.local.goods.list.retrieve 的游标分页不同)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── pageNo / pageSize ← 均必填
├── orderField / orderType
├── goodsSearchType ← 必填(INTEGER 枚举)
├── goodsStatusFilterType ← 必填(新版)
├── goodsSubStatusFilterType ← 选填(新版)
├── searchText / statusFilterType
├── crtFrom / crtTo
├── goodsIdList / catIdList
├── goodsStatusChangeTimeFrom / goodsStatusChangeTimeTo
└── goodsSearchTagsrequest 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageNo | INTEGER | 是 | 页码,用于分页 |
| pageSize | INTEGER | 是 | 每页条数,上限 100 |
| orderField | STRING | 否 | 排序字段:goodsId、createTime、goodsName、outGoodsSn、quantity、price;默认按创建时间 |
| orderType | INTEGER | 否 | 0 降序(默认),1 升序 |
| goodsSearchType | INTEGER | 是 | 商品状态筛选,见下表 |
| searchText | STRING | 否 | 搜索文本,支持按 goodsName 或 goodsId |
| statusFilterType | INTEGER | 否 | 子状态筛选类型,参见 Partner「Goods status description」 |
| crtFrom | LONG | 否 | 创建时间起,13 位毫秒时间戳 |
| crtTo | LONG | 否 | 创建时间止,13 位毫秒时间戳 |
| goodsIdList | LONG[] | 否 | Goods Id 列表 |
| catIdList | LONG[] | 否 | 类目 ID 列表,支持叶子/非叶子类目,可批量 |
| goodsStatusFilterType | INTEGER | 是 | 商品状态筛选(新版字段),具体取值见 Partner 文档 |
| goodsSubStatusFilterType | INTEGER | 否 | 商品子状态筛选(新版字段) |
| goodsStatusChangeTimeFrom | LONG | 否 | 商品状态变更时间起(时间戳) |
| goodsStatusChangeTimeTo | LONG | 否 | 商品状态变更时间止(时间戳) |
| goodsSearchTags | INTEGER[] | 否 | 1 Low traffic,4 Restricted traffic |
goodsSearchType 枚举
| 值 | 说明 |
|---|---|
1 | Available / off the shelf(在售/下架) |
4 | Not yet published(尚未发布) |
5 | Draft(草稿) |
6 | Deleted(已删除) |
官方同时标记 `goodsSearchType` 与 `goodsStatusFilterType` 为必填;调用时需同时传入(goodsStatusFilterType 取值以 Partner「Goods status description」为准)。网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"pageNo": 1,
"pageSize": 20,
"goodsSearchType": 1,
"goodsStatusFilterType": 0,
"searchText": "keyword"
}
}{
"accessToken": "TOKEN",
"request": {
"pageNo": 1,
"pageSize": 50,
"goodsSearchType": 1,
"goodsStatusFilterType": 0,
"goodsIdList": [123456789],
"catIdList": [1001, 1002],
"orderField": "createTime",
"orderType": 0,
"crtFrom": 1704067200000,
"crtTo": 1735689600000
}
}勿使用旧字段名createTimeFrom/createTimeTo(官方为 `crtFrom`/`crtTo`);勿用单值catId(官方为 `catIdList`)。
---
Response(Temu body 解析后)
response
├── success
├── errorCode
├── errorMsg
└── result
├── pageNo
├── total
└── goodsList[]
├── goodsId / goodsName / specName / thumbUrl
├── outGoodsSn / status4VO / subStatus4VO
├── currency / marketPrice / listPrice / price / retailPrice
├── outSkuSnList / skuIdList / skuInfoList
├── quantity / crtTime / goodsStatusChangeTime
├── catId / brandId / trademarkId
├── costTemplateId / shipmentLimitSecond
├── goodsShowSubStatus / lowTrafficTag / restrictedTrafficTag
└── ...| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | 当前请求是否成功 |
| errorCode | INTEGER | 错误码 |
| errorMsg | STRING | 错误信息 |
| result | OBJECT | result |
| result.pageNo | INTEGER | 结果集当前页码 |
| result.total | LONG | 结果集总条数 |
| result.goodsList | OBJECT[] | 商品列表 |
result.goodsList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| goodsId | LONG | 商品唯一 ID |
| goodsName | STRING | 商品标题 |
| specName | STRING | 规格/类型 |
| thumbUrl | STRING | 缩略图 URL |
| outGoodsSn | STRING | 外部商品编码 |
| status4VO | INTEGER | 商品状态(如 1 在售、4 未发布等) |
| subStatus4VO | INTEGER | 商品子状态(含义依业务) |
| currency | STRING | 价格币种 |
| marketPrice | LONG | 市场价/建议零售价 |
| listPrice | OBJECT | 市场价/建议零售价(结构化,子字段见 Partner 展开) |
| price | STRING | 售价/零售价 |
| retailPrice | OBJECT | 售价/零售价(结构化,子字段见 Partner 展开) |
| outSkuSnList | STRING[] | 外部 SKU 编码列表 |
| skuIdList | LONG[] | SKU ID 列表 |
| quantity | INTEGER | 库存数量 |
| crtTime | LONG | 创建时间,Unix 秒 |
| goodsStatusChangeTime | STRING | 商品状态变更时间(时间戳格式) |
| catId | LONG | 类目 ID |
| brandId | LONG | 品牌 ID |
| trademarkId | LONG | 商标 ID |
| costTemplateId | STRING | 配送选项 ID,逗号分隔 |
| shipmentLimitSecond | LONG | 接单至可发货间隔(秒) |
| skuInfoList | OBJECT[] | SKU 信息列表(子字段见 Partner 展开) |
| goodsShowSubStatus | INTEGER | 商品展示子状态(新版字段) |
| lowTrafficTag | INTEGER | 1 low traffic,2 not low traffic |
| restrictedTrafficTag | INTEGER | 1 restricted traffic,2 not restricted traffic |
响应中状态字段为 `status4VO` / `subStatus4VO`,勿写成status/subStatus。listPrice、retailPrice、skuInfoList在 Partner 文档中为可展开对象,子字段以官方为准。
---
与 temu.local.goods.list.retrieve 对比
| 项 | bg.local.goods.list.query | temu.local.goods.list.retrieve |
|---|---|---|
| 分页 | pageNo + pageSize(均必填) | pageToken + pageSize |
| 主状态筛选 | goodsSearchType(INTEGER 1/4/5/6) | 游标检索侧字段以 Partner 为准 |
| 新版状态 | goodsStatusFilterType(必填) | — |
| 创建时间 | crtFrom / crtTo | 多为 goodsCreateTimeFrom / To |
| ID 列表 | goodsIdList(LONG[]) | 多为 STRING[] |
---
示例
python scripts/global_manage_list_query.py '{
"accessToken": "TOKEN",
"request": {
"pageNo": 1,
"pageSize": 20,
"goodsSearchType": 1,
"goodsStatusFilterType": 0
}
}'商品外部编码(Contribution SKU)— bg.local.goods.out.sn.set
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_out_sn_set.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=2a343c65a03d42d380e9ad835aa7b54b |
| 网关 | POST /temu/proxy,type=bg.local.goods.out.sn.set,业务载荷放在 Body 的 params |
Description: Set contribution ID for goods(批量设置商品 Contribution SKU / 外部商品编码 outGoodsSn)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── modifyList[] ← 最多 50 条
│ ├── outGoodsSn
│ └── goodsId
└── languagerequest 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| modifyList | OBJECT[] | 否 | Contribution SKU modification List,最多 50 条 |
| language | STRING | 否 | Language |
modifyList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| outGoodsSn | STRING | 否 | Contribution SKU(外部商品编码);单条长度不超过 40 字符 |
| goodsId | LONG | 否 | Goods id |
批量修改时,modifyList 中每项通常需同时提供 `goodsId` 与目标 `outGoodsSn`。网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"modifyList": [
{
"goodsId": 123456789,
"outGoodsSn": "MY-GOODS-001"
}
],
"language": "en"
}
}{
"accessToken": "TOKEN",
"request": {
"modifyList": [
{ "goodsId": 111, "outGoodsSn": "SKU-A" },
{ "goodsId": 222, "outGoodsSn": "SKU-B" }
]
}
}勿将goodsId、outGoodsSn仅放在params顶层(须放在 `request.modifyList[]` 内,除非网关另有兼容)。
---
Response(Temu body 解析后)
response
├── result
│ └── resultList[]
│ ├── outGoodsSn
│ ├── goodsId
│ ├── modifySuccess
│ └── duplicateGoodsId
├── success
├── errorCode
└── errorMsg| 参数 | 类型 | 说明 |
|---|---|---|
| result | OBJECT | result |
| result.resultList | OBJECT[] | 逐条修改结果列表 |
| success | BOOLEAN | 当前请求是否成功 |
| errorCode | INTEGER | 错误码 |
| errorMsg | STRING | 错误信息 |
result.resultList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| outGoodsSn | STRING | Contribution SKU Code Modification List(本次提交的编码) |
| goodsId | LONG | Input Goods id(入参中的商品 ID) |
| modifySuccess | BOOLEAN | Is Modification Successful(该条是否修改成功) |
| duplicateGoodsId | LONG | Duplicate Goods id(若编码重复,冲突的商品 ID) |
批量调用时以 `result.resultList[]` 中每条 `modifySuccess` 为准判断是否成功;duplicateGoodsId有值时表示outGoodsSn已被其他商品占用。
---
与 SKU 外部编码接口区分
| 项 | bg.local.goods.out.sn.set(本接口) | bg.local.goods.sku.out.sn.set |
|---|---|---|
| 粒度 | 商品(goods) | SKU |
| 编码字段 | outGoodsSn | outSkuSn |
| 列表字段 | modifyList[] | 以 Partner 文档为准 |
---
示例
python scripts/global_manage_out_sn_set.py '{
"accessToken": "TOKEN",
"request": {
"modifyList": [
{
"goodsId": 123456789,
"outGoodsSn": "CONTRIBUTION-GOODS-001"
}
]
}
}'部分字段编辑 — bg.local.goods.partial.update
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_partial_update.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=6de74ed5afe74f89966b3ff23dfd7498 |
| 网关 | POST /temu/proxy,type=bg.local.goods.partial.update,业务载荷放在 Body 的 params |
Description: Edit a subset of the product properties (e.g. description, brand, images, attributes).
仅传需要修改的字段。官方请求体为 `request` 对象;goodsServicePromise、goodsProperty、skuList等与 `goodsBasic` 同级,均在request下,不要把这些字段塞进goodsBasic。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── language
├── goodsId ← 必填
├── goodsBasic ← 仅基础信息(名称/图库/进口标识)
├── goodsServicePromise ← 与 goodsBasic 同级
├── goodsProperty
├── goodsOriginInfo
├── bulletPoints
├── goodsDesc
├── guideFileInfo
├── goodsSizeChartList
├── goodsSizeImage
├── skuList
├── goodsTrademark
├── goodsVehiclePropertyRelation
├── secondHand
├── modifyId
└── saveModerequest 内字段一览
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| language | STRING | 否 | Language |
| goodsId | LONG | 是 | Product Number |
| goodsBasic | OBJECT | 否 | goods basic,见 goodsBasic |
| goodsServicePromise | OBJECT | 否 | goods service promise,见下 |
| goodsProperty | OBJECT | 否 | goods property,见下 |
| goodsOriginInfo | OBJECT | 否 | Country/region of Origin,见下 |
| bulletPoints | STRING[] | 否 | bullet points |
| goodsDesc | STRING | 否 | goods desc |
| guideFileInfo | OBJECT | 否 | guide file info,见下 |
| goodsSizeChartList | OBJECT | 否 | goods size chart list,见下 |
| goodsSizeImage | STRING[] | 否 | The URL of the size chart image |
| skuList | OBJECT[] | 否 | sku list,见下 |
| goodsTrademark | OBJECT | 否 | goods trademark,见下 |
| goodsVehiclePropertyRelation | OBJECT | 否 | Vehicle date,见下 |
| secondHand | OBJECT | 否 | second hand info,见下 |
| modifyId | STRING | 否 | Product information modification ID;goods 唯一,后续可凭此 ID 查审核结果 |
| saveMode | INTEGER | 否 | ERP product publish status:1=Submitted,2=Saved as draft |
网关 params 写法
推荐与官方一致,整体放入 `request`:
{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456,
"goodsBasic": { "goodsName": "New Title" }
}
}若网关/Temu 要求展平,可将 request 内字段提到 params 顶层(goodsId、goodsBasic、skuList 等保持同级关系,仍不要把 skuList 放进 goodsBasic)。
---
goodsBasic
仅包含 goods basic 相关字段(Partner 文档中 goodsBasic 子树):
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| goodsName | STRING | 否 | goods name |
| goodsGallery | OBJECT | 否 | goods gallery,见下 |
| importDesignation | STRING | 否 | Imported / Made in the USA / Made in the USA and Imported / Made in the USA or Imported |
goodsBasic.goodsGallery
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| detailVideo | OBJECT | 否 | Detail Video:vid、videoUrl |
| goodsCarouselImage | STRING[] | 否 | Product carousel images |
| detailImage | STRING[] | 否 | Product Detail Images |
| carouselVideo | OBJECT | 否 | Carousel Video:vid、videoUrl |
---
request.goodsServicePromise
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| shipmentLimitDay | INTEGER | 否 | Stock Preparation Time - Days;可选 1、2 |
| fulfillmentType | INTEGER | 否 | 1=Self-Delivery,2=Platform Delivery |
| costTemplateId | STRING | 否 | Shipping Template ID |
---
request.goodsProperty
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| goodsProperties | OBJECT[] | 否 | Product Attribute List |
`goodsProperties[]`
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| vid | LONG | 否 | 非自定义规格值时须传 vid |
| value | STRING | 否 | Attribute Value |
| valueUnit | STRING | 否 | Attribute Value Unit |
| valueUnitId | LONG | 否 | Attribute Value Unit ID |
| templatePid | LONG | 否 | Template Attribute Id |
| parentSpecId | LONG | 否 | 非销售属性可不填 |
| specId | LONG | 否 | 非销售属性可不填 |
| note | STRING | 否 | Note |
| imgUrl | STRING | 否 | Image URL |
| groupId | INTEGER | 否 | Attribute Value Group ID |
| refPid | LONG | 否 | Reference Property ID |
| numberInputValue | STRING | 否 | Numeric Input |
---
request.goodsOriginInfo
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| originRegion1 | STRING | 否 | Primary Address(country or region) |
| originRegion2 | STRING | 否 | Secondary Address;Primary=China 时必填 |
| agreeDefaultOriginRegion | BOOLEAN | 否 | 默认 false |
| proofImageUrls | STRING[] | 否 | 产地标签实拍 |
| labelManufacturerProofImageUrls | STRING[] | 否 | 标签特写,最多 5 张 |
---
request.guideFileInfo
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| lang2GuideFileUrl | MAP | 否 | language → PDF URL;须含英文 |
---
request.goodsSizeChartList
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| goodsSizeChartList | OBJECT[] | 否 | 多套尺码表(套装) |
数组元素: classId、meta、groups[](id、name、elements[]、records[]、values[])、bodyMeta、bodyRecords[]。
---
request.skuList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| skuId | LONG | 条件 | 修改 SKU 必填;新增 SKU 勿传 |
| basePrice | OBJECT | 条件 | 修改勿传;新增必填 { amount, currency } |
| listPrice | OBJECT | 否 | 须高于 basePrice |
| listPriceType | INTEGER | 否 | 空或 0 时必须填 listPrice |
| quantity | LONG | 条件 | 修改勿传;新增必填 |
| specIdList | LONG[] | 条件 | 修改勿传;新增必填 |
| outSkuSn | STRING | 否 | 修改时可选;不传保留,传 "" 清空 |
| weight | STRING | 是 | weight |
| weightUnit | STRING | 是 | weight unit |
| length / width / height | STRING | 是 | 尺寸 |
| volumeUnit | STRING | 是 | volume unit |
| images | STRING[] | 是 | images |
| multiplePackage | OBJECT | 否 | skuClassification、mixedSetType、numberOfPieces、pieceUnitCode、originNetContentNumber、originTotalNetContentNumber、netContentUnitCode、individuallyPacked |
---
request.goodsTrademark
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| brandId | LONG | 否 | Brand ID |
| trademarkId | LONG | 否 | Trademark ID |
| noTrademark | BOOLEAN | 否 | 默认 false |
---
request.goodsVehiclePropertyRelation
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| relationId | LONG | 否 | relationType=1 时查兼容车型库 |
| ktype | LONG[] | 否 | K-type 映射 |
| leafPropertyValueDependencyIdList | LONG[] | 否 | 末级属性值 dependency id |
---
request.secondHand
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| secondHandGoods | BOOLEAN | 否 | whether it's second hand |
| level | INTEGER | 否 | condition |
---
Response
| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | success |
| errorCode | INTEGER | error code |
| errorMsg | STRING | error message |
| result.goodsId | LONG | Product ID |
| result.productType | INTEGER | 1 Normal,2 Custom,3 Made-to-order |
| result.skuInfoList | OBJECT[] | Sku information list |
| result.skuInfoList[].skuId | LONG | Sku id |
| result.skuInfoList[].outSkuSn | STRING | External sku code |
| result.skuInfoList[].specList | OBJECT[] | { specId, parentSpecId } |
---
示例
只改标题
python scripts/global_manage_partial_update.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456,
"goodsBasic": {
"goodsName": "Updated Title"
}
}
}'改轮播图 + 提交状态
python scripts/global_manage_partial_update.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456,
"language": "en",
"goodsBasic": {
"goodsGallery": {
"goodsCarouselImage": ["https://..."]
}
},
"saveMode": 1
}
}'修改已有 SKU(skuList 与 goodsBasic 同级)
python scripts/global_manage_partial_update.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456,
"skuList": [{
"skuId": 58224724203874,
"weight": "500",
"weightUnit": "g",
"length": "10",
"width": "10",
"height": "10",
"volumeUnit": "cm",
"images": ["https://..."]
}]
}
}'商品属性获取 — bg.local.goods.property.get
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_property_get.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=2a343c65a03d42d380e9ad835aa7b54b |
| 网关 | POST /temu/proxy,type=bg.local.goods.property.get,业务载荷放在 Body 的 params |
Description: Get Temu goods attributes(按商品信息/类目等获取属性,与发品侧「类目属性模板」接口不同,见文末说明)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── goodsName ← 必填
├── catId
├── language / goodsDesc
├── thirdPartyErpType / thirdPartyMall / thirdPartyCatName
└── goodsPropList[]
├── propName
└── valuesrequest 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| language | STRING | 否 | language |
| goodsName | STRING | 是 | Goods name |
| catId | LONG | 否 | Leaf category ID(叶子类目 ID) |
| goodsDesc | STRING | 否 | goods description |
| thirdPartyErpType | INTEGER | 否 | third party type |
| thirdPartyMall | STRING | 否 | third party mall |
| thirdPartyCatName | STRING | 否 | third party cat name |
| goodsPropList | OBJECT[] | 否 | Goods Prop List,见下表 |
goodsPropList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| propName | STRING | 否 | Product property name in English(属性名,英文) |
| values | STRING[] | 否 | Product property values in English(属性值列表,英文) |
goodsPropList为英文属性名 + 英文属性值的简单结构,不是bg.local.goods.partial.update中goodsProperty.goodsProperties[]的vid/templatePid/refPid模型。用于传入第三方或已知属性片段,辅助平台匹配/推荐 Temu 属性。
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"goodsName": "Wireless Bluetooth Earbuds",
"catId": 12345,
"language": "en"
}
}{
"accessToken": "TOKEN",
"request": {
"goodsName": "Wireless Bluetooth Earbuds",
"catId": 12345,
"goodsDesc": "Noise cancelling in-ear headphones",
"thirdPartyMall": "amazon",
"thirdPartyCatName": "Electronics > Headphones",
"goodsPropList": [
{
"propName": "Material",
"values": ["Plastic", "Metal"]
},
{
"propName": "Color",
"values": ["Black"]
}
]
}
}勿仅传catId而不传 `goodsName`(官方必填)。勿与仅传catId的类目模板接口temu.local.product.attributes.get/bg.goods.attrs.get(发品 skill)混用。
---
Response(Temu body 解析后)
| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | 当前请求是否成功 |
| errorCode | INTEGER | 错误码 |
| errorMsg | STRING | 错误信息 |
| result | OBJECT | result(子字段在 Partner 文档中展开) |
官方 Response 表中 `result` 未在提供的片段中展开;返回的属性列表/推荐字段以 Partner 后台为准。
---
与发品「类目属性模板」接口区分
| 项 | bg.local.goods.property.get(本接口) | temu.local.product.attributes.get / bg.goods.attrs.get |
|---|---|---|
| 所在 skill | manage-product-us | add-product-us |
| 典型入参 | `goodsName` 必填,可选 catId、goodsPropList(英文 propName/values)、第三方信息 | 通常 `catId` 必填 |
| 属性值形态 | goodsPropList[].propName + values[](英文) | properties[] 模板 + 发品 productPropertyReqs(pid/vid) |
| 用途 | 按商品信息获取/推荐属性 | 按叶子类目拉取属性模板 |
---
示例
python scripts/global_manage_property_get.py '{
"accessToken": "TOKEN",
"request": {
"goodsName": "Stainless Steel Water Bottle 32oz",
"catId": 67890,
"language": "en",
"goodsPropList": [
{ "propName": "Capacity", "values": ["32 oz"] },
{ "propName": "Material", "values": ["Stainless Steel"] }
]
}
}'车型库层级模板 — bg.local.goods.property.relations.level.template
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_property_relations_level_template.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=2a343c65a03d42d380e9ad835aa7b54b |
| 网关 | POST /temu/proxy,type=bg.local.goods.property.relations.level.template,业务载荷放在 Body 的 params |
Description: Obtaining the hierarchical attribute value and hierarchical id of vehicle type library data(获取车型库的层级属性值与层级 ID)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── catId ← 必填,叶子类目
└── relationType ← 必填,车型库传 1request 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| catId | LONG | 是 | 商品类目 ID。须为叶子类目,且与 category_version 所指定类目树类型下的叶子类目一致 |
| relationType | INTEGER | 是 | 关系类型;查询兼容车型库(compatible vehicle models database)时传 `1` |
relationType(已知)
| 值 | 说明 |
|---|---|
1 | Query the database of compatible vehicle models |
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"catId": 12345,
"relationType": 1
}
}勿使用旧文档中的pid、levelId;官方入参仅为 `catId` + `relationType`。
---
Response(Temu body 解析后)
response
├── success
├── errorCode
├── errorMsg
└── result
└── levelPropertyDependencyList[]
├── relationId
├── propertyDependencyId
├── parentPropertyDependencyId
├── propertyName
└── level| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | success |
| errorCode | INTEGER | error code |
| errorMsg | STRING | error message |
| result | OBJECT | Specific information |
| result.levelPropertyDependencyList | OBJECT[] | 层级属性依赖列表,见下表 |
result.levelPropertyDependencyList[]
描述在给定 relationId(兼容车型库)下共有多少层级、每层属性值分类名(propertyName)、层级序号(level)以及层级之间的父子关系。不同 relationId 下,同一 level 可能对应不同的 `propertyDependencyId`。
| 参数 | 类型 | 说明 |
|---|---|---|
| relationId | LONG | 兼容车型库 ID。不同国家/类目的兼容车型库不同,用该 ID 标识对应数据库 |
| propertyDependencyId | LONG | 属性依赖 ID,对应 propertyName;表示该 relationId 下的当前层级节点 |
| parentPropertyDependencyId | LONG | 上一级(父级)的 propertyDependencyId |
| propertyName | STRING | 兼容车型属性的分类名称,如 brand、manufacturer、model、year、trim、variant、engine 等 |
| level | INTEGER | 层级序号,表示该节点在兼容车型库层级中的位置 |
字段关系示意
relationId(车型库)
└── level=1 propertyName=Brand propertyDependencyId=A, parent=0
└── level=2 propertyName=Model propertyDependencyId=B, parent=A
└── level=3 ...下一步 relations.template 使用 `relationId` + `propertyRelationQueryDTOList` 拉取各层可选propertyValue;不传查询列表时返回 level 1 全部值。后续 property.relations 按goodsId读取商品已选数据。
---
与同族接口协作
1. bg.local.goods.property.relations.level.template(本接口)
入参:catId + relationType=1
出参:result.levelPropertyDependencyList[](relationId、propertyDependencyId、level、propertyName 等)
2. bg.local.goods.property.relations.template
入参:catId + relationId + relationType=1 + propertyRelationQueryDTOList(可选)
出参:result.parentPropValDepMapDTOList[] → propValDepDTOList[](propertyValueId、propertyValue、isLeafProperty 等)
3. bg.local.goods.property.relations
入参:goodsId + relationId + relationType=1 + queryLastVersion
出参:商品已保存的兼容车型关联
4. partial.update / update
→ goodsVehiclePropertyRelation 写回---
示例
python scripts/global_manage_property_relations_level_template.py '{
"accessToken": "TOKEN",
"request": {
"catId": 12345,
"relationType": 1
}
}'关系属性值查询 — bg.local.goods.property.relations.template
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_property_relations_template.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=2a343c65a03d42d380e9ad835aa7b54b |
| 网关 | POST /temu/proxy,type=bg.local.goods.property.relations.template,业务载荷放在 Body 的 params |
Description: Query the full quantum attribute by the dependency id of the parent attribute value and the hierarchical id(按父级属性值依赖 ID 查询下级全量可选属性值,用于兼容车型库级联选择)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── catId ← 必填
├── relationId ← 必填
├── relationType ← 必填,车型库传 1
└── propertyRelationQueryDTOList[] ← 选填
├── propertyDependencyId
└── parentPropertyValueDependencyIdrequest 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| catId | LONG | 是 | 商品类目 ID。须为叶子类目,且与 category_version 所指定类目树类型下的叶子类目一致 |
| relationId | LONG | 是 | Relation id(兼容车型库 ID,通常来自 level.template 的 levelPropertyDependencyList[].relationId) |
| relationType | INTEGER | 是 | 关系类型;查询兼容车型库时传 `1` |
| propertyRelationQueryDTOList | OBJECT[] | 否 | 查询条件;用于指定 propertyDependencyId 与 parentPropertyValueDependencyId。留空或不传时,返回全部 level 1 的 `propertyValueId` |
relationType(已知)
| 值 | 说明 |
|---|---|
1 | Query the database of compatible vehicle models |
propertyRelationQueryDTOList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| propertyDependencyId | LONG | 否 | 属性依赖 ID,对应层级分类名(propertyName),表示该 relationId 下的当前层级 |
| parentPropertyValueDependencyId | LONG | 否 | 上一级(父级)属性值的 dependency id |
请求侧为 `parentPropertyValueDependencyId`(值级父 ID);与 level.template 层级定义中的 `parentPropertyDependencyId`(层级结构父 ID)名称不同,勿混用。
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"catId": 12345,
"relationId": 10001,
"relationType": 1
}
}{
"accessToken": "TOKEN",
"request": {
"catId": 12345,
"relationId": 10001,
"relationType": 1,
"propertyRelationQueryDTOList": [
{
"propertyDependencyId": 200,
"parentPropertyValueDependencyId": 0
}
]
}
}勿使用旧文档中的pid、parentVid、levelId。
---
Response(Temu body 解析后)
response
├── success
├── errorCode
├── errorMsg
└── result
└── parentPropValDepMapDTOList[]
├── parentPropertyValueDependencyId
└── propValDepDTOList[]
├── propertyDependencyId
├── propertyValueDependencyId
├── parentPropertyValueDependencyId
├── propertyValueId
├── propertyValue
└── isLeafProperty| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | success |
| errorCode | INTEGER | error code |
| errorMsg | STRING | error message |
| result | OBJECT | Specific information |
| result.parentPropValDepMapDTOList | OBJECT[] | 父属性值与其子属性值列表 |
result.parentPropValDepMapDTOList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| parentPropertyValueDependencyId | LONG | 父级属性值的 dependency id(上一级) |
| propValDepDTOList | OBJECT[] | 该父值下,下一层级的属性值数据列表 |
propValDepDTOList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| propertyDependencyId | LONG | 用于查询层级之间关系的 dependency id |
| propertyValueDependencyId | LONG | 属性值 dependency id,对应当前层级;与 propertyName 对应 |
| parentPropertyValueDependencyId | LONG | 父级属性值的 dependency id |
| propertyValueId | LONG | 属性值 ID;与 propertyValueDependencyId 一一对应 |
| propertyValue | STRING | 兼容车型枚举展示值,如品牌/年份/发动机等,例:Toyota、1987、Base Convertible 2-Door |
| isLeafProperty | BOOLEAN | true:该属性值为最末级;false:非最末级,可继续级联查询下一层 |
级联查询示意
1. level.template → 得到 relationId、各层 propertyDependencyId / level / propertyName
2. relations.template(本接口)
- 首次:propertyRelationQueryDTOList 为空 → 返回 level 1 全部 propertyValueId
- 用户选中某值后:带上 parentPropertyValueDependencyId + propertyDependencyId 再查下一层
- isLeafProperty=true 的项可作为叶子,写入 goodsVehiclePropertyRelation.leafPropertyValueDependencyIdList
3. property.relations → 按 goodsId 读取商品已保存关联---
与同族接口协作
| 步骤 | 接口 | 作用 |
|---|---|---|
| 1 | level.template | 拉层级定义 levelPropertyDependencyList[] |
| 2 | 本接口 | 按 relationId + 查询 DTO 拉各层可选 propertyValue |
| 3 | property.relations | 读商品已选车型数据 |
| 4 | partial.update | goodsVehiclePropertyRelation 写回 |
---
示例
# 拉取 level 1 全部可选值(不传 propertyRelationQueryDTOList)
python scripts/global_manage_property_relations_template.py '{
"accessToken": "TOKEN",
"request": {
"catId": 12345,
"relationId": 10001,
"relationType": 1
}
}'# 按父级属性值继续查下一层
python scripts/global_manage_property_relations_template.py '{
"accessToken": "TOKEN",
"request": {
"catId": 12345,
"relationId": 10001,
"relationType": 1,
"propertyRelationQueryDTOList": [
{
"propertyDependencyId": 200,
"parentPropertyValueDependencyId": 987654321
}
]
}
}'商品属性关联数据查询 — bg.local.goods.property.relations
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_property_relations.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=2a343c65a03d42d380e9ad835aa7b54b |
| 网关 | POST /temu/proxy,type=bg.local.goods.property.relations,业务载荷放在 Body 的 params |
Description: 查询商品已关联的关系型属性数据(如兼容车型库 / compatible vehicle models)。不是按 catId 拉车型库层级/选项的接口(见 level.template、relations.template)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── goodsId ← 必填
├── relationId ← 必填
├── relationType ← 必填(车型库填 1)
└── queryLastVersion ← 必填request 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| goodsId | LONG | 是 | goods id |
| relationId | LONG | 是 | 关系库 ID。不同国家/类目的兼容车型库不同,用该 ID 查询对应 compatible vehicle models 数据库 |
| relationType | INTEGER | 是 | 关系类型;查询兼容车型库时传 `1` |
| queryLastVersion | BOOLEAN | 是 | 版本选择,见下表 |
queryLastVersion
| 值 | 行为 |
|---|---|
true | 返回商品最新版本上的关联数据 |
false | 优先返回在售/生效版本;若无生效版本,则退回最新版本 |
relationType(已知)
| 值 | 说明 |
|---|---|
1 | 查询 compatible vehicle models(兼容车型)关系库 |
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456789,
"relationId": 10001,
"relationType": 1,
"queryLastVersion": true
}
}{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456789,
"relationId": 10001,
"relationType": 1,
"queryLastVersion": false
}
}勿使用旧文档中的catId、pid、pageNo、keyword等字段;本接口为按商品 + 关系库 ID 读取已绑定数据。
---
Response(Temu body 解析后)
| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | success |
| errorCode | INTEGER | error code |
| errorMsg | STRING | error message |
| result | OBJECT | Specific information(子字段在 Partner 文档中展开) |
官方 Response 表中 `result` 未在提供的片段中展开。返回体通常包含该商品在指定 relationId 关系库下已选的兼容车型/级联属性值等,具体字段名以 Partner 后台为准。
与编辑接口的对应关系(写入侧参考)
发品/编辑时写入车型关联的块为 request.goodsVehiclePropertyRelation(见 partial.update):
| 字段 | 类型 | 说明 |
|---|---|---|
| relationId | LONG | relationType=1 时对应兼容车型库 ID |
| relationType | INTEGER | 关系类型 |
| ktype | LONG[] | K-type 映射 |
| leafPropertyValueDependencyIdList | LONG[] | 末级属性值 dependency id |
本接口 `property.relations` 为读取;result 内字段命名可能与上表一致或嵌套包装,以实网返回为准。
---
与同族接口协作(车型库)
1. bg.local.goods.property.relations.level.template
→ 按 **catId + relationType=1** 拉 `result.levelPropertyDependencyList[]`(含 `relationId`、`propertyDependencyId`、`level`、`propertyName`)
2. bg.local.goods.property.relations.template
→ 按 relationId + propertyRelationQueryDTOList 拉各层 propertyValue(见该接口文档)
3. bg.local.goods.property.relations(本接口)
→ 按 goodsId + relationId + relationType=1 + queryLastVersion
读取商品上已保存的兼容车型关联数据
4. bg.local.goods.partial.update / update
→ goodsVehiclePropertyRelation 写回 ktype / leafPropertyValueDependencyIdList 等---
示例
python scripts/global_manage_property_relations.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456789,
"relationId": 10001,
"relationType": 1,
"queryLastVersion": true
}
}'批量查发布状态 — bg.local.goods.publish.status.get
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_publish_status_get.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=1d70452c1eba40a2b2382fb08833ae4e |
| 网关 | POST /temu/proxy,type=bg.local.goods.publish.status.get,业务载荷放在 Body 的 params |
Description: Batch Query Product Publication Status.
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
└── goodsIdList[] ← 必填request 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| goodsIdList | LONG[] | 是 | Goods Id List |
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"goodsIdList": [123456, 123457]
}
}---
Response(Temu body 解析后)
response
├── success
├── errorCode
├── errorMsg
└── result
└── goodsPublishStatusList[]
├── goodsId
├── status
└── subStatus| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | Current request success status |
| errorCode | INTEGER | Error code |
| errorMsg | STRING | Error message |
| result | OBJECT | result |
| result.goodsPublishStatusList | OBJECT[] | List of product publish status data |
result.goodsPublishStatusList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| goodsId | LONG | Goods ID |
| status | INTEGER | Status |
| subStatus | INTEGER | Sub-status |
勿使用旧字段名publishStatusList、publishStatus、rejectReason、siteStatusList(官方为goodsPublishStatusList+status/subStatus)。
---
示例
python scripts/global_manage_publish_status_get.py '{
"accessToken": "TOKEN",
"request": {
"goodsIdList": [123456, 789012]
}
}'商品上下架 — bg.local.goods.sale.status.set
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_sale_status_set.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=2a343c65a03d42d380e9ad835aa7b54b |
| 网关 | POST /temu/proxy,type=bg.local.goods.sale.status.set,业务载荷放在 Body 的 params |
Description: 设置商品或 SKU 的上架/下架状态。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── goodsId ← 必填
├── onsale ← 必填(注意小写)
├── skuIdList ← 选填;传入则仅对 SKU 上下架
└── operationType ← 选填request 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| goodsId | LONG | 是 | Goods Id |
| onsale | INTEGER | 是 | 上下架状态:0 下架(off-shelf),1 上架(on-shelf) |
| skuIdList | LONG[] | 否 | 支持多个 SKU;若传入,仅对列表内 SKU 执行上下架 |
| operationType | INTEGER | 否 | 操作维度,见下表 |
onsale
| 值 | 说明 |
|---|---|
0 | off-shelf(下架) |
1 | on-shelf(上架) |
operationType
| 值 | 说明 |
|---|---|
不传 / null | 按商品(goods)维度 |
1 | 按商品(goods)维度 |
2 | 按 SKU 维度(通常需配合 skuIdList) |
官方字段名为 `onsale`(全小写),勿写成 onSale。网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456789,
"onsale": 1,
"operationType": 1
}
}{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456789,
"onsale": 0,
"skuIdList": [111, 222],
"operationType": 2
}
}勿使用旧字段onSale、bindSiteId(除非 Partner 另有说明);上下架以官方 `request` 内字段为准。
---
Response(Temu body 解析后)
response
├── success ← 请求级
├── errorCode
├── errorMsg
└── result
└── success ← 业务修改是否成功| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | 当前请求是否成功(True 成功,False 失败) |
| errorCode | INTEGER | 错误码 |
| errorMsg | STRING | 错误信息 |
| result | OBJECT | result |
| result.success | BOOLEAN | Is Modification Successful(上下架修改是否成功) |
需同时关注 `response.success`(网关/接口调用)与 `result.success`(上下架操作结果)。errorCode/errorMsg非 0 时以错误信息为准。
---
示例
# 整品上架
python scripts/global_manage_sale_status_set.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456789,
"onsale": 1,
"operationType": 1
}
}'# 指定 SKU 下架
python scripts/global_manage_sale_status_set.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456789,
"onsale": 0,
"skuIdList": [58224724203874, 58224724203875],
"operationType": 2
}
}'SKU 列表 / Variants — bg.local.goods.sku.list.query
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_sku_list_query.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=87a0d398417049bfbeb5b190f68a22b2 |
| 网关 | POST /temu/proxy,type=bg.local.goods.sku.list.query,业务载荷放在 Body 的 params |
Description: Get sku list, as well as get Variants(分页 SKU 列表查询,不是按单个 goodsId 查全量 SKU)。
勿与bg.local.goods.detail.query的result.skuList(单商品详情内 SKU)混淆;本接口为列表检索接口。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── pageNo / pageSize
├── orderField / orderType
├── skuSearchType ← 必填
├── skuStatusFilterType ← 必填(新版)
├── searchText
├── statusFilterType
├── crtFrom / crtTo
├── skuIdList / catIdList
├── skuSubStatusFilterType
├── skuStatusChangeTimeFrom / skuStatusChangeTimeTo
└── goodsSearchTagsrequest 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageNo | INTEGER | 否 | Page number |
| pageSize | INTEGER | 否 | Page size,每页最多 100 |
| orderField | STRING | 否 | 排序:goodsId、createTime、goodsName、outGoodsSn、quantity、price;默认按创建时间 |
| orderType | INTEGER | 否 | 0 降序(默认),1 升序 |
| skuSearchType | INTEGER | 是 | Product status:2 Available for sale,3 Not available for sale |
| searchText | STRING | 否 | 搜索:goodsName、goodsId 或 SKU code |
| statusFilterType | INTEGER | 否 | Subtype filter type |
| crtFrom | LONG | 否 | 创建时间起,13 位毫秒时间戳 |
| crtTo | LONG | 否 | 创建时间止,13 位毫秒时间戳 |
| skuIdList | LONG[] | 否 | sku id list |
| catIdList | LONG[] | 否 | 类目 ID 列表,支持叶子/非叶子,可批量 |
| skuStatusFilterType | INTEGER | 是 | Product status filter(新版字段) |
| skuSubStatusFilterType | INTEGER | 否 | Product sub-status filter(新版字段) |
| skuStatusChangeTimeFrom | LONG | 否 | SKU 状态变更时间起(时间戳) |
| skuStatusChangeTimeTo | LONG | 否 | SKU 状态变更时间止(时间戳) |
| goodsSearchTags | INTEGER[] | 否 | 1 Low traffic,4 Restricted traffic |
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"pageNo": 1,
"pageSize": 20,
"skuSearchType": 2,
"skuStatusFilterType": 0,
"searchText": "keyword"
}
}勿使用旧文档仅传goodsId的方式;官方入参为分页 + 筛选模型,无单独必填goodsId(可用searchText或skuIdList定位)。
---
Response(Temu body 解析后)
response
├── success
├── errorCode
├── errorMsg
└── result
├── pageNo
├── total
└── skuList[]
├── goodsName / specName / thumbUrl
├── goodsId / skuId / skuSn
├── stock / price / retailPrice
├── crtTime / status4VO / subStatus4VO
├── goodsIsOnSale / currency
├── skuStatusChangeTime
├── volumeInfo / weightInfo
├── skuShowSubStatus4VO
├── specList[]
├── lowTrafficTag / restrictedTrafficTag
└── ...| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | Current request success status |
| errorCode | INTEGER | Error code |
| errorMsg | STRING | Error message |
| result.pageNo | INTEGER | Page number |
| result.total | LONG | Total count |
| result.skuList | OBJECT[] | Product list result |
result.skuList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| goodsName | STRING | Product title |
| specName | STRING | Specification |
| thumbUrl | STRING | Preview image URL |
| goodsId | LONG | Product ID |
| skuId | LONG | SKU ID |
| skuSn | STRING | SKU code |
| stock | INTEGER | Stock quantity |
| price | STRING | Price |
| retailPrice | OBJECT | The selling price or retail price(子字段见 Partner 展开) |
| crtTime | LONG | Creation time in seconds |
| status4VO | INTEGER | Product status |
| subStatus4VO | INTEGER | Product sub-status |
| goodsIsOnSale | INTEGER | Product availability status |
| currency | STRING | Currency information |
| skuStatusChangeTime | STRING | SKU change time, timestamp format |
| volumeInfo | OBJECT | Product volume(子字段见 Partner 展开) |
| weightInfo | OBJECT | Product weight(子字段见 Partner 展开) |
| skuShowSubStatus4VO | INTEGER | Product sub-status filter(新版字段) |
| specList | OBJECT[] | spec list(规格列表,子字段见 Partner 展开) |
| lowTrafficTag | INTEGER | 1 low traffic,2 not low traffic |
| restrictedTrafficTag | INTEGER | 1 restricted traffic,2 not restricted traffic |
---
示例
python scripts/global_manage_sku_list_query.py '{
"accessToken": "TOKEN",
"request": {
"pageNo": 1,
"pageSize": 20,
"skuSearchType": 2,
"skuStatusFilterType": 0,
"orderField": "createTime",
"orderType": 0
}
}'# 按 SKU ID 列表筛选
python scripts/global_manage_sku_list_query.py '{
"accessToken": "TOKEN",
"request": {
"pageNo": 1,
"pageSize": 50,
"skuSearchType": 2,
"skuStatusFilterType": 0,
"skuIdList": [58224724203874, 58224724203875]
}
}'SKU 外部编码(Contribution SKU)— bg.local.goods.sku.out.sn.set
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_sku_out_sn_set.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=2a343c65a03d42d380e9ad835aa7b54b |
| 网关 | POST /temu/proxy,type=bg.local.goods.sku.out.sn.set,业务载荷放在 Body 的 params |
Description: Set contribution ID for SKU(批量设置 SKU 的 Contribution SKU / 外部 SKU 编码 outSkuSn)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── modifyList[] ← Contribution SKU 修改列表
│ ├── goodsId
│ ├── outSkuSn
│ └── skuId
└── languagerequest 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| modifyList | OBJECT[] | 否 | Contribution SKU 修改列表;每项为一条 SKU 的外部编码设置 |
| language | STRING | 否 | Language(语言) |
modifyList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| goodsId | LONG | 否 | Goods Id(商品 ID) |
| outSkuSn | STRING | 否 | Contribution SKU(外部 SKU 编码 / 贡献 SKU);单条编码字符长度不得超过 40 字符 |
| skuId | LONG | 否 | Goods Sku Id(商品 SKU ID) |
批量修改时,modifyList 中每项通常需同时提供 `goodsId`、`skuId` 与目标 `outSkuSn`,以唯一定位要修改的 SKU。网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"modifyList": [
{
"goodsId": 123456789,
"skuId": 58224724203874,
"outSkuSn": "MY-SKU-001"
}
],
"language": "en"
}
}{
"accessToken": "TOKEN",
"request": {
"modifyList": [
{ "goodsId": 111, "skuId": 1001, "outSkuSn": "SKU-A" },
{ "goodsId": 111, "skuId": 1002, "outSkuSn": "SKU-B" }
]
}
}勿将goodsId、skuId、outSkuSn仅放在params顶层(须放在 `request.modifyList[]` 内,除非网关另有兼容)。
---
Response(Temu body 解析后)
response
├── result
│ └── resultList[]
│ ├── goodsId
│ ├── outSkuSn
│ ├── modifySuccess
│ ├── duplicateSkuId
│ ├── duplicateGoodsId
│ └── skuId
├── success
├── errorCode
└── errorMsgresponse 顶层字段
| 参数 | 类型 | 说明 |
|---|---|---|
| result | OBJECT | result(业务结果对象) |
| success | BOOLEAN | 当前请求是否成功:成功返回 true,否则返回 false |
| errorCode | INTEGER | 错误码:用于对照下方错误码表,定位对应解决方案 |
| errorMsg | STRING | 错误信息:与 errorCode 对应的反馈内容 |
result
| 参数 | 类型 | 说明 |
|---|---|---|
| resultList | OBJECT[] | resultList(逐条修改结果列表) |
result.resultList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| goodsId | LONG | Goods Id(商品 ID) |
| outSkuSn | STRING | Contribution SKU Code Modification List(本次提交/回显的外部 SKU 编码) |
| modifySuccess | BOOLEAN | Is Modification Successful(该条是否修改成功) |
| duplicateSkuId | LONG | Duplicate goodsId(官方字段名;若 outSkuSn 重复,冲突的 SKU ID,以实网返回为准) |
| duplicateGoodsId | LONG | Duplicate skuId(官方字段名;若 outSkuSn 重复,冲突的商品 ID,以实网返回为准) |
| skuId | LONG | Goods Sku Id(商品 SKU ID) |
批量调用时以 `result.resultList[]` 中每条 `modifySuccess` 为准判断是否成功;duplicateSkuId/duplicateGoodsId有值时表示outSkuSn已被其他 SKU 或商品占用(含义以 Partner 实网返回为准)。
---
与商品外部编码接口区分
| 项 | bg.local.goods.out.sn.set | bg.local.goods.sku.out.sn.set(本接口) |
|---|---|---|
| 粒度 | 商品(goods) | SKU |
| 编码字段 | outGoodsSn | outSkuSn |
| 定位字段 | goodsId | goodsId + skuId |
| 列表字段 | modifyList[] | modifyList[] |
---
示例
python scripts/global_manage_sku_out_sn_set.py '{
"accessToken": "TOKEN",
"request": {
"modifyList": [
{
"goodsId": 123456789,
"skuId": 58224724203874,
"outSkuSn": "CONTRIBUTION-SKU-001"
}
]
}
}'库存编辑 — bg.local.goods.stock.edit
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_stock_edit.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=429ffa60b265451d9421cd5a2004eeef |
| 网关 | POST /temu/proxy,type=bg.local.goods.stock.edit,业务载荷放在 Body 的 params |
Description: Edit product stock with full-update and diff-update.
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── goodsId ← 必填
├── stockType ← 库存类型,默认 0
├── skuStockChangeList[] ← 增量:stock += stockDiff
├── skuStockTargetList[] ← 全量:覆盖到 stockTarget
└── requestUniqueKey ← 幂等键两种改库存方式二选一(或按 Partner 文档组合规则):
| 方式 | 字段 | 说明 |
|---|---|---|
| 增量(diff) | skuStockChangeList | 成功后执行 stock += stockDiff |
| 全量(target) | skuStockTargetList | 将 SKU 库存更新为 stockTarget |
request 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| goodsId | LONG | 是 | Goods Id |
| stockType | INTEGER | 否 | Stock type:0 self ordinary stock(默认),1 self Pre-sale stock |
| skuStockChangeList | OBJECT[] | 否 | 按 diff 改库存,见下 |
| skuStockTargetList | OBJECT[] | 否 | 按目标值全量改库存,见下 |
| requestUniqueKey | STRING | 否 | Unique Request Id;重复请求将被拒绝 |
skuStockChangeList[](增量)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| skuId | LONG | 是 | Goods Sku Id |
| stockDiff | INTEGER | 是 | Diff stock;成功则 stock += stockDiff(正增负减) |
skuStockTargetList[](全量)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| skuId | LONG | 是 | Goods Sku Id |
| stockTarget | INTEGER | 是 | 目标库存;SKU 库存将更新为该值 |
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456,
"stockType": 0,
"skuStockChangeList": [
{ "skuId": 58224724203874, "stockDiff": 10 }
]
}
}{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456,
"stockType": 0,
"skuStockTargetList": [
{ "skuId": 58224724203874, "stockTarget": 100 }
],
"requestUniqueKey": "uuid-once-001"
}
}---
Response(Temu body 解析后)
response
├── success
├── errorCode
├── errorMsg
└── result
├── goodsId
├── skuStockEditStatusInfoList[]
│ ├── skuId
│ ├── stockEditStatus
│ ├── errorCode
│ └── errorMsg
├── operateResult ← 在 result 下,与列表同级
└── msg ← 在 result 下,与列表同级| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | 当前请求是否成功 |
| errorCode | INTEGER | 错误码 |
| errorMsg | STRING | 错误信息 |
| result.goodsId | LONG | Goods Id |
| result.skuStockEditStatusInfoList | OBJECT[] | 各 SKU 改库存状态 |
| result.operateResult | BOOLEAN | Stock change result;true 表示成功(result 顶层) |
| result.msg | STRING | Result detail information(result 顶层) |
result.skuStockEditStatusInfoList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| skuId | LONG | Goods Sku Id |
| stockEditStatus | BOOLEAN | true 表示该 SKU 库存修改成功 |
| errorCode | INTEGER | error code |
| errorMsg | STRING | error message |
---
示例
增量改库存
python scripts/global_manage_stock_edit.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456,
"skuStockChangeList": [
{ "skuId": 58224724203874, "stockDiff": 5 }
]
}
}'全量设为目标库存
python scripts/global_manage_stock_edit.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456,
"stockType": 1,
"skuStockTargetList": [
{ "skuId": 58224724203874, "stockTarget": 50 }
]
}
}'全量编辑 — bg.local.goods.update
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_goods_update.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=b05f4b7598fb4dc7ac47c864aa5d5fc4 |
| 网关 | POST /temu/proxy,type=bg.local.goods.update,业务载荷放在 Body 的 params |
Description: Edit all properties (e.g. description, brand, images, attributes) of a product.
与 partial.update 共用同一 `request` 顶层结构(goodsBasic与skuList等同级)。全量更新须提交完整商品数据,且 `skuList` 必填;建议先bg.local.goods.detail.query拉详情再改。
goodsBasic、goodsProperty、skuList[]等嵌套字段定义见 partial.update 对应章节(结构一致)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── language
├── goodsId ← 必填
├── goodsBasic
├── goodsServicePromise
├── goodsProperty
├── goodsOriginInfo
├── bulletPoints
├── goodsDesc
├── guideFileInfo
├── goodsSizeChartList
├── goodsSizeImage
├── skuList ← 必填(全量)
├── goodsTrademark
├── goodsVehiclePropertyRelation
├── secondHand
└── modifyId与 partial.update 的差异:
| 字段 | partial.update | goods.update(本接口) |
|---|---|---|
skuList | 选填,可只传要改的 SKU | 必填,须传完整 SKU 列表 |
saveMode | 有 | 无(官方入参未列出) |
request 内字段一览
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| language | STRING | 否 | Language |
| goodsId | LONG | 是 | Product Number |
| goodsBasic | OBJECT | 否 | goods basic → goodsBasic |
| goodsServicePromise | OBJECT | 否 | goods service promise → partial 文档 |
| goodsProperty | OBJECT | 否 | goods property → partial 文档 |
| goodsOriginInfo | OBJECT | 否 | Country/region of Origin → partial 文档 |
| bulletPoints | STRING[] | 否 | bullet points |
| goodsDesc | STRING | 否 | goods desc |
| guideFileInfo | OBJECT | 否 | guide file info → partial 文档 |
| goodsSizeChartList | OBJECT | 否 | goods size chart list → partial 文档 |
| goodsSizeImage | STRING[] | 否 | The URL of the size chart image |
| skuList | OBJECT[] | 是 | sku list → partial 文档 |
| goodsTrademark | OBJECT | 否 | goods trademark → partial 文档 |
| goodsVehiclePropertyRelation | OBJECT | 否 | Vehicle data → partial 文档 |
| secondHand | OBJECT | 否 | second hand info → partial 文档 |
| modifyId | STRING | 否 | Product information modification ID;goods 唯一,后续可凭此 ID 查审核结果 |
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456,
"goodsBasic": { "goodsName": "Full Title", "goodsGallery": { "goodsCarouselImage": ["https://..."] } },
"goodsProperty": { "goodsProperties": [{ "vid": 100, "value": "Cotton" }] },
"skuList": [{ "skuId": 999, "weight": "500", "weightUnit": "g", "length": "10", "width": "10", "height": "10", "volumeUnit": "cm", "images": ["https://..."] }]
}
}勿使用发品接口字段名(productName、carouselImageUrls、productPropertyReqs等)。skuList放在request下,不要放进goodsBasic。
---
Response(Temu body 解析后)
| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | success |
| errorCode | INTEGER | error code |
| errorMsg | STRING | error message |
| result.goodsId | LONG | Product ID |
| result.productType | INTEGER | 1 Normal product,2 Custom product,3 Made-to-order product |
| result.skuInfoList | OBJECT[] | Sku information list |
`result.skuInfoList[]`
| 参数 | 类型 | 说明 |
|---|---|---|
| skuId | LONG | Sku id |
| outSkuSn | STRING | External sku code |
| specList | OBJECT[] | Specification information |
| specList[].specId | LONG | Specification id |
| specList[].parentSpecId | LONG | Parent Specification id |
---
示例
# 先查详情,再组完整 request
python scripts/global_manage_detail_query.py '{"accessToken":"TOKEN","goodsId":123456}'
python scripts/global_manage_goods_update.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456,
"language": "en",
"goodsBasic": {
"goodsName": "Updated Full Product",
"goodsGallery": {
"goodsCarouselImage": ["https://..."],
"detailImage": ["https://..."]
}
},
"goodsDesc": "Updated description",
"skuList": [{
"skuId": 58224724203874,
"weight": "500",
"weightUnit": "g",
"length": "10",
"width": "10",
"height": "10",
"volumeUnit": "cm",
"images": ["https://..."]
}]
}
}'视频封面 — bg.local.goods.videocoverimage.get
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_videocoverimage_get.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=2a343c65a03d42d380e9ad835aa7b54b |
| 网关 | POST /temu/proxy,type=bg.local.goods.videocoverimage.get,业务载荷放在 Body 的 params |
Description: Obtain cover image of video frame(按视频 vid 批量获取视频封面图)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
└── vidList[] ← 视频 vid 列表request 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| vidList | STRING[] | 否 | vid list for video(待查询封面的视频 vid 列表) |
实际调用时通常传入至少一个vid;vid来自商品详情或视频上传接口返回,勿与规格属性值vid混淆(以 Partner 上下文为准)。
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"vidList": ["video-vid-001", "video-vid-002"]
}
}{
"accessToken": "TOKEN",
"request": {
"vidList": ["58224724203874"]
}
}勿使用旧字段 videoUrl;官方入参为 `request.vidList`。---
Response(Temu body 解析后)
response
├── result
│ └── videoInfoMap ← MAP: vid → 视频详情
│ └── [vid]
│ └── coverImage
├── success
├── errorCode
└── errorMsgresponse 顶层字段
| 参数 | 类型 | 说明 |
|---|---|---|
| result | OBJECT | 业务结果对象 |
| success | BOOLEAN | success(当前请求是否成功) |
| errorCode | INTEGER | error code(错误码) |
| errorMsg | STRING | error message(错误信息) |
result
| 参数 | 类型 | 说明 |
|---|---|---|
| videoInfoMap | MAP | Video Information(视频信息映射) |
result.videoInfoMap(MAP 键值)
| 键 / 值 | 类型 | 说明 |
|---|---|---|
$key(vid) | STRING | vid(视频 ID,与入参 vidList 中元素对应) |
$value | OBJECT | Video Details(该视频详情) |
videoInfoMap.$value
| 参数 | 类型 | 说明 |
|---|---|---|
| coverImage | STRING | Video Cover image(视频封面图 URL) |
批量查询时遍历 `result.videoInfoMap`,以 key(vid) 与入参对照;某vid无 key 或coverImage为空时,表示该视频暂无封面或查询失败(以实网返回为准)。
响应示例(结构示意)
{
"success": true,
"errorCode": 0,
"errorMsg": "",
"result": {
"videoInfoMap": {
"video-vid-001": {
"coverImage": "https://cdn.example.com/cover1.jpg"
},
"video-vid-002": {
"coverImage": "https://cdn.example.com/cover2.jpg"
}
}
}
}---
示例
python scripts/global_manage_videocoverimage_get.py '{
"accessToken": "TOKEN",
"request": {
"vidList": ["video-vid-001"]
}
}'Manage Product — 接口文档索引
每个 type 单独一份文档,经 POST /temu/proxy 调用。网关与鉴权见 ../api.md;目录与 sub_menu_code 见 ../partner-global-catalog.md。
查询(7)
| type | 文档 |
|---|---|
bg.local.goods.list.query | bg-local-goods-list-query.md |
temu.local.goods.list.retrieve | temu-local-goods-list-retrieve.md |
bg.local.goods.detail.query | bg-local-goods-detail-query.md |
bg.local.goods.sku.list.query | bg-local-goods-sku-list-query.md |
temu.local.sku.list.retrieve | temu-local-sku-list-retrieve.md |
bg.local.goods.publish.status.get | bg-local-goods-publish-status-get.md |
temu.local.goods.spec.info.get | temu-local-goods-spec-info-get.md |
编辑 / 删除(3)
| type | 文档 |
|---|---|
bg.local.goods.partial.update | bg-local-goods-partial-update.md |
bg.local.goods.update | bg-local-goods-update.md |
temu.local.goods.delete | temu-local-goods-delete.md |
库存 / 上下架(4)
| type | 文档 |
|---|---|
temu.local.goods.sku.stock.query | temu-local-goods-sku-stock-query.md |
bg.local.goods.stock.edit | bg-local-goods-stock-edit.md |
bg.local.goods.sale.status.set | bg-local-goods-sale-status-set.md |
temu.local.goods.pre.sale.status.edit | temu-local-goods-pre-sale-status-edit.md |
属性 / 合规 / 辅助(10)
| type | 文档 |
|---|---|
bg.local.goods.category.check | bg-local-goods-category-check.md |
bg.local.goods.property.get | bg-local-goods-property-get.md |
bg.local.goods.property.relations | bg-local-goods-property-relations.md |
bg.local.goods.property.relations.level.template | bg-local-goods-property-relations-level-template.md |
bg.local.goods.property.relations.template | bg-local-goods-property-relations-template.md |
bg.local.goods.out.sn.set | bg-local-goods-out-sn-set.md |
bg.local.goods.sku.out.sn.set | bg-local-goods-sku-out-sn-set.md |
bg.local.compliance.goods.list.query | bg-local-compliance-goods-list-query.md |
bg.local.goods.compliance.edit | bg-local-goods-compliance-edit.md |
bg.local.goods.videocoverimage.get | bg-local-goods-videocoverimage-get.md |
删除商品 — temu.local.goods.delete
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_goods_delete.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=97853cce1f5140e0aa302b5e530a8c99 |
| 网关 | POST /temu/proxy,type=temu.local.goods.delete,业务载荷放在 Body 的 params |
Description: Product deletion.
---
Request(params)
与同族接口一致,业务字段建议放在 `request` 下(goodsId 为必填,以 Partner 入参页为准):
{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456
}
}| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| request | OBJECT | 否 | 请求体 |
| request.goodsId | LONG | 是 | 待删除商品 ID |
---
Response(Temu body 解析后)
response
├── success ← 整单请求是否成功
├── errorCode
├── errorMsg
└── result ← Specific information
├── success ← delete result(删除操作结果)
└── errorMsg ← error message(删除失败时的说明)| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | Whether it was successful or not(顶层,整单请求) |
| errorCode | INTEGER | Error code |
| errorMsg | STRING | Error message(顶层) |
| result | OBJECT | Specific information |
| result.success | BOOLEAN | delete result(业务层删除是否成功) |
| result.errorMsg | STRING | error message(业务层删除相关说明) |
注意区分两层success:顶层表示 API 调用是否成功;`result.success` 表示商品删除操作本身是否成功。result下无errorCode字段(以官方文档为准)。
---
示例
python scripts/global_manage_goods_delete.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456
}
}'商品列表搜索(Retrieve)— temu.local.goods.list.retrieve
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_goods_list_retrieve.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=9775b60761c54bf38022c77c717183a9 |
| 网关 | POST /temu/proxy,type=temu.local.goods.list.retrieve,业务载荷放在 Body 的 params |
Description: local goods list search(游标分页检索,与 bg.local.goods.list.query 的页码分页模型不同)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── pageSize / pageToken ← 游标分页(无 pageNo)
├── orderField / orderType
├── goodsSearchType ← 必填(STRING 枚举)
├── goodsIdList / outGoodsSnList
├── skuIdList / outSkuSnList
├── catIdList
├── goodsName
├── goodsCreateTimeFrom / goodsCreateTimeTo
├── goodsStatusChangeTimeFrom / goodsStatusChangeTimeTo
└── goodsSearchTagsrequest 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageSize | INTEGER | 否 | 每页条数,上限 100;文档亦提及可按 25 条/页 |
| pageToken | STRING | 否 | 翻页 token;多页结果时传上一页返回的 token 取下一页 |
| orderField | STRING | 否 | 排序属性,如 create_time(按创建时间) |
| orderType | INTEGER | 否 | 0 降序(默认),1 升序 |
| goodsSearchType | STRING | 是 | 商品状态筛选,枚举见下表 |
| goodsIdList | STRING[] | 否 | Product ID,支持批量,最多 100 |
| outGoodsSnList | STRING[] | 否 | Out Goods Sn,支持批量,最多 100 |
| skuIdList | STRING[] | 否 | Sku ID,支持批量,最多 200 |
| outSkuSnList | STRING[] | 否 | OutSkuSn 搜索,最多 200 |
| catIdList | STRING[] | 否 | Category id 搜索,最多 100 |
| goodsName | STRING | 否 | 商品标题 |
| goodsCreateTimeFrom | LONG | 否 | 商品创建时间起,Unix 毫秒 |
| goodsCreateTimeTo | LONG | 否 | 商品创建时间止,Unix 毫秒 |
| goodsStatusChangeTimeFrom | LONG | 否 | 商品状态变更时间起,Unix 毫秒 |
| goodsStatusChangeTimeTo | LONG | 否 | 商品状态变更时间止,Unix 毫秒 |
| goodsSearchTags | INTEGER[] | 否 | 1 Low traffic,4 Restricted traffic |
goodsSearchType 枚举(STRING)
| 值 | 说明 |
|---|---|
ALL | ALL = Active + InActive |
ACTIVE | Active(在售/可用) |
INACTIVE | InActive(不可用) |
INCOMPLETE | Incomplete(未完成) |
DRAFT | Draft(草稿) |
DELETED | Deleted(已删除) |
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"pageSize": 25,
"goodsSearchType": "ACTIVE"
}
}{
"accessToken": "TOKEN",
"request": {
"pageSize": 50,
"pageToken": "NEXT_PAGE_TOKEN_FROM_PREVIOUS_RESPONSE",
"goodsSearchType": "ALL",
"goodsIdList": ["123456789"],
"orderField": "create_time",
"orderType": 0
}
}勿使用旧字段page、keyword、goodsStatus、goodsIds、sortField/sortOrder;官方为 `pageToken` + `goodsSearchType`(STRING)+ `request` 包装。
---
Response(Temu body 解析后)
| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | success |
| errorCode | INTEGER | error code |
| errorMsg | STRING | error message |
| result | OBJECT | Specific information(子字段在 Partner 文档中展开) |
官方 Response 表中 `result` 未在提供的片段中展开。游标分页列表接口通常会在 result 内返回 商品列表 与 下一页 `pageToken`,具体字段名以 Partner 后台为准。
列表项字段可能与 bg.local.goods.list.query 的 result.goodsList[] 相近,但不可假定完全一致(尤其 ID 类型多为 STRING、状态字段命名可能不同),以实网返回为准。
---
与 bg.local.goods.list.query 对比
| 项 | temu.local.goods.list.retrieve | bg.local.goods.list.query |
|---|---|---|
| 分页 | pageToken + pageSize | pageNo + pageSize(均必填) |
| 主状态筛选 | goodsSearchType(STRING:ALL/ACTIVE/…) | goodsSearchType(INTEGER 1/4/5/6) |
| 新版状态 | — | goodsStatusFilterType(必填) |
| 创建时间 | goodsCreateTimeFrom / To(毫秒) | crtFrom / crtTo(毫秒) |
| 状态变更时间 | goodsStatusChangeTimeFrom / To | goodsStatusChangeTimeFrom / To |
| ID 列表 | goodsIdList(STRING[]) | goodsIdList(LONG[]) |
| 搜索 | goodsName | searchText(goodsName 或 goodsId) |
与 temu.local.sku.list.retrieve 对比
| 项 | temu.local.goods.list.retrieve | temu.local.sku.list.retrieve |
|---|---|---|
| 检索粒度 | 商品(goods) | SKU |
| 必填状态字段 | goodsSearchType | skuSearchType |
| 状态变更时间 | goodsStatusChangeTimeFrom / To | skuStatusChangeTimeFrom / To |
goodsSearchType 含 ALL | 是 | SKU 侧为 ACTIVE/INACTIVE 等(无 ALL) |
---
示例
python scripts/global_manage_goods_list_retrieve.py '{
"accessToken": "TOKEN",
"request": {
"pageSize": 25,
"goodsSearchType": "ACTIVE",
"goodsName": "keyword"
}
}'# 翻页
python scripts/global_manage_goods_list_retrieve.py '{
"accessToken": "TOKEN",
"request": {
"pageSize": 25,
"pageToken": "TOKEN_FROM_LAST_PAGE",
"goodsSearchType": "ALL"
}
}'预售状态编辑 — temu.local.goods.pre.sale.status.edit
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_pre_sale_status_edit.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=2a343c65a03d42d380e9ad835aa7b54b |
| 网关 | POST /temu/proxy,type=temu.local.goods.pre.sale.status.edit,业务载荷放在 Body 的 params |
Description: 编辑商品 SKU 的预售状态(开启/关闭预售及预售库存、结束时间等)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── goodsId
├── targetPreSaleStatus
└── skuInfoList[] ← 必填,最多 100 条
├── skuId ← 必填
├── targetPreSaleStock
└── preSaleEndTimerequest 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| goodsId | LONG | 是 | Goods Id |
| targetPreSaleStatus | INTEGER | 是 | 目标预售状态,见下表 |
| skuInfoList | OBJECT[] | 是 | SKU info List,最多 100 条 |
targetPreSaleStatus
| 值 | 说明 |
|---|---|
1 | open(开启预售) |
2 | close(关闭预售) |
skuInfoList[]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| skuId | LONG | 是 | Product SKU ID |
| targetPreSaleStock | INTEGER | 否 | Target Pre Sale Stock(目标预售库存;开启预售时通常需填) |
| preSaleEndTime | LONG | 否 | Pre Sale End Time(预售结束时间,时间戳格式以 Partner/实网为准) |
商品级 `targetPreSaleStatus` 与 SKU 列表 `skuInfoList` 同时必填;关闭预售(2)时targetPreSaleStock/preSaleEndTime多为选填。
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456789,
"targetPreSaleStatus": 1,
"skuInfoList": [
{
"skuId": 58224724203874,
"targetPreSaleStock": 100,
"preSaleEndTime": 1735689600000
}
]
}
}{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456789,
"targetPreSaleStatus": 2,
"skuInfoList": [
{ "skuId": 58224724203874 },
{ "skuId": 58224724203875 }
]
}
}勿使用旧字段skuPreSaleList、productSkuId、preSaleStatus、preSaleDeliveryDays。
---
Response(Temu body 解析后)
response
├── success
├── errorCode
├── errorMsg
└── result
├── goodsId
├── code / msg ← 商品级结果
└── skuOperateResultInfoList[]
├── skuId
├── code
└── msg| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | Whether it was successful or not(请求级) |
| errorCode | INTEGER | Error code |
| errorMsg | STRING | Error message |
| result | OBJECT | Specific information |
result 内字段
| 参数 | 类型 | 说明 |
|---|---|---|
| goodsId | LONG | Goods Id |
| code | INTEGER | 主错误码,0 表示成功 |
| msg | STRING | 主错误信息 |
| skuOperateResultInfoList | OBJECT[] | SKU operate result info list(逐 SKU 结果) |
result.skuOperateResultInfoList[]
| 参数 | 类型 | 说明 |
|---|---|---|
| skuId | LONG | Product SKU ID |
| code | INTEGER | SKU 错误码,0 表示该 SKU 成功 |
| msg | STRING | SKU 错误信息 |
批量编辑时需检查 `result.code`(整体)及每条 `skuOperateResultInfoList[].code`(单 SKU)。顶层 `success` 为 false 时以errorCode/errorMsg为准。
---
示例
python scripts/global_manage_pre_sale_status_edit.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456789,
"targetPreSaleStatus": 1,
"skuInfoList": [
{
"skuId": 58224724203874,
"targetPreSaleStock": 50,
"preSaleEndTime": 1735689600000
}
]
}
}'# 关闭多个 SKU 预售
python scripts/global_manage_pre_sale_status_edit.py '{
"accessToken": "TOKEN",
"request": {
"goodsId": 123456789,
"targetPreSaleStatus": 2,
"skuInfoList": [
{ "skuId": 58224724203874 },
{ "skuId": 58224724203875 }
]
}
}'规格信息查询 — temu.local.goods.spec.info.get
| 项 | 值 |
|---|---|
| 脚本 | scripts/global_manage_spec_info_get.py |
| Partner 文档 | https://partner-global.temu.com/documentation?menu_code=fb16b05f7a904765aac4af3a24b87d4a&sub_menu_code=1094942488d844acaf9d7a3f2c097acd |
| 网关 | POST /temu/proxy,type=temu.local.goods.spec.info.get,业务载荷放在 Body 的 params |
Description: 按规格 ID 列表查询规格信息(可配合 language 取多语言展示)。
---
Request 结构(官方顶层)
params
└── request (OBJECT, 选填)
├── language
└── specIdList ← 必填request 内字段
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| language | STRING | 否 | Language |
| specIdList | LONG[] | 是 | Specification Id List |
网关 params 写法
{
"accessToken": "TOKEN",
"request": {
"specIdList": [1001, 1002]
}
}{
"accessToken": "TOKEN",
"request": {
"language": "en",
"specIdList": [1001]
}
}勿使用旧文档中的parentSpecId、languages(单数/复数混用);官方入参仅为 `language` + `specIdList`(LONG[],必填)。
---
Response(Temu body 解析后)
| 参数 | 类型 | 说明 |
|---|---|---|
| success | BOOLEAN | success |
| errorCode | INTEGER | error code |
| errorMsg | STRING | error message |
| result | OBJECT | Specific information(子字段在 Partner 文档中展开) |
官方 Response 表中 `result` 未在提供的片段中展开,具体规格信息字段名与结构以 Partner 后台为准。
---
示例
python scripts/global_manage_spec_info_get.py '{
"accessToken": "TOKEN",
"request": {
"specIdList": [1001, 1002],
"language": "en"
}
}'商品编辑 / 删除 API(已拆分)
- 索引:apis/README.md → 编辑 / 删除(3)
bg.local.goods.partial.update:apis/bg-local-goods-partial-update.md
商品查询 API(已拆分)
各接口参数已迁至 `apis/` 目录,每个 type 一个文件:
- 索引:apis/README.md → 查询(7)
旧合并文档不再维护,请直接打开对应 apis/<type-slug>.md。
属性 / 合规 / 辅助 API(已拆分)
- 索引:apis/README.md → 属性 / 合规 / 辅助(10)
库存 / 价格 / 上下架 API(已拆分)
- 索引:apis/README.md → 库存 / 价格 / 上下架(5)
#!/usr/bin/env python3
"""bg.local.goods.category.check — 类目预检."""
import _global_product_script as m
if __name__ == "__main__":
m.run_cli("bg.local.goods.category.check", "global_manage_category_check.py '<JSON>'")