{"id":"65c41c7c-e1cf-45e7-bdbf-93db253c8f3d","entityType":"agent","slug":"clawhub-linkfox-ai-linkfox-temu-order-us","name":"Temu美国站-订单","canonicalUrl":"https://www.xpersona.co/agent/clawhub-linkfox-ai-linkfox-temu-order-us","canonicalPath":"/agent/clawhub-linkfox-ai-linkfox-temu-order-us","generatedAt":"2026-10-10T21:49:10.252Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:12:31.653Z","emptyReason":null},"description":"Temu 美国站订单管理 API，经 LinkFox 网关转发 Partner US 订单接口：订单列表/详情/收货地址/金额/合并发货/定制/SN鉴真上传(bg.order.*、temu.local.order.verification.upload)、发货、物流等。当用户提到 Temu US 订单、上传SN、IMEI、二手鉴真、verification upload、定制商品、合并发货、订单金额、parentOrderSn、order-shipping 时触发。商品管理用 linkfox-temu-manage-product-us；发品用 linkfox-temu-add-product-us；价格用 linkfox-temu-price-us。","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-temu-order-us","sourceUrl":"https://clawhub.ai/linkfox-ai/linkfox-temu-order-us","homepage":"https://clawhub.ai/linkfox-ai/skills/linkfox-temu-order-us","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/linkfox-ai/linkfox-temu-order-us","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/linkfox-ai/skills/linkfox-temu-order-us","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Temu美国站-订单 technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:12:31.653Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:12:31.653Z","emptyReason":null},"stars":null,"forks":null,"downloads":1324,"packageName":null,"latestVersion":"1.0.6","tractionLabel":"1.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:12:31.653Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T17:12:31.653Z","lastCrawledAt":"2026-10-10T17:12:31.653Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T17:12:31.653Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.6","createdAt":"2026-08-14T15:17:14.483Z","changelog":"Update from 1.0.5 to 1.0.6","fileCount":40,"zipByteSize":65642},{"version":"1.0.5","createdAt":"2026-08-07T11:20:13.793Z","changelog":"Update from 1.0.4 to 1.0.5","fileCount":40,"zipByteSize":65656},{"version":"1.0.4","createdAt":"2026-07-13T12:38:33.872Z","changelog":"Update from 1.0.3 to 1.0.4","fileCount":38,"zipByteSize":56712},{"version":"1.0.3","createdAt":"2026-07-06T11:45:16.635Z","changelog":"Update from 1.0.2 to 1.0.3","fileCount":38,"zipByteSize":56083},{"version":"1.0.2","createdAt":"2026-07-03T09:45:11.488Z","changelog":"Update from 1.0.0 to 1.0.2","fileCount":37,"zipByteSize":54575},{"version":"1.0.0","createdAt":"2026-05-27T08:33:18.206Z","changelog":"Initial release","fileCount":38,"zipByteSize":52934}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-temu-order-us","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-temu-order-us` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/linkfox-ai/linkfox-temu-order-us before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-temu-order-us/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-temu-order-us/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-temu-order-us/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-temu-order-us/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-temu-order-us/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-temu-order-us/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T21:49:10.249Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-temu-order-us/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-temu-order-us/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-temu-order-us/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-temu-order-us/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:12:31.653Z","emptyReason":null},"readme":"Skill: Temu美国站-订单\n\nOwner: linkfox-ai\n\nSummary: Temu 美国站订单管理 API，经 LinkFox 网关转发 Partner US 订单接口：订单列表/详情/收货地址/金额/合并发货/定制/SN鉴真上传(bg.order.*、temu.local.order.verification.upload)、发货、物流等。当用户提到 Temu US 订单、上传SN、IMEI、二手鉴真、verification upload、定制商品、合并发货、订单金额、parentOrderSn、order-shipping 时触发。商品管理用 linkfox-temu-manage-product-us；发品用 linkfox-temu-add-product-us；价格用 linkfox-temu-price-us。\n\nTags: latest:1.0.6\n\nVersion history:\n\nv1.0.6 | 2026-08-14T15:17:14.483Z | user\n\nUpdate from 1.0.5 to 1.0.6\n\nv1.0.5 | 2026-08-07T11:20:13.793Z | user\n\nUpdate from 1.0.4 to 1.0.5\n\nv1.0.4 | 2026-07-13T12:38:33.872Z | user\n\nUpdate from 1.0.3 to 1.0.4\n\nv1.0.3 | 2026-07-06T11:45:16.635Z | user\n\nUpdate from 1.0.2 to 1.0.3\n\nv1.0.2 | 2026-07-03T09:45:11.488Z | user\n\nUpdate from 1.0.0 to 1.0.2\n\nv1.0.0 | 2026-05-27T08:33:18.206Z | user\n\nInitial release\n\nArchive index:\n\nArchive v1.0.6: 40 files, 65642 bytes\n\nFiles: references/access-token.md (4604b), references/api.md (4821b), references/apis/bg-order-amount-query.md (6397b), references/apis/bg-order-combinedshipment-list-get.md (4078b), references/apis/bg-order-customization-get.md (7041b), references/apis/bg-order-decryptshippinginfo-get.md (4423b), references/apis/bg-order-detail-v2-get.md (13078b), references/apis/bg-order-list-v2-get.md (15766b), references/apis/bg-order-shippinginfo-v2-get.md (4596b), references/apis/README.md (1580b), references/apis/temu-local-order-verification-upload.md (5037b), references/authorization-flow.md (1186b), references/onboarding.md (2046b), references/partner-us-catalog.md (4031b), scripts/_temu_auth_guide.py (6198b), scripts/_temu_common.py (12433b), scripts/_temu_token_store.py (4273b), scripts/_temu_us_common.py (3168b), scripts/_us_order_script.py (512b), scripts/check_linkfox_token.py (1798b), scripts/get_temu_access_token.py (1843b), scripts/list_temu_access_tokens.py (652b), scripts/onboarding.py (24089b), scripts/save_temu_access_token.py (1377b), scripts/temu_file_download.py (1681b), scripts/temu_proxy.py (2124b), scripts/temu_token_guide.py (1594b), scripts/temu_us_file_download.py (689b), scripts/temu_us_proxy.py (933b), scripts/us_order_amount_query.py (257b), scripts/us_order_combinedshipment_list_get.py (282b), scripts/us_order_customization_get.py (264b), scripts/us_order_decryptshippinginfo_get.py (282b), scripts/us_order_detail_v2_get.py (237b), scripts/us_order_list_v2_get.py (231b), scripts/us_order_shippinginfo_v2_get.py (261b), scripts/us_order_verification_upload.py (292b), skill-card.md (2873b), SKILL.md (8628b), _meta.json (140b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: linkfox-temu-order-us\ndescription: Temu 美国站订单管理 API，经 LinkFox 网关转发 Partner US 订单接口：订单列表/详情/收货地址/金额/合并发货/定制/SN鉴真上传(bg.order.*、temu.local.order.verification.upload)、发货、物流等。当用户提到 Temu US 订单、上传SN、IMEI、二手鉴真、verification upload、定制商品、合并发货、订单金额、parentOrderSn、order-shipping 时触发。商品管理用 linkfox-temu-manage-product-us；发品用 linkfox-temu-add-product-us；价格用 linkfox-temu-price-us。\n---\n\n# Temu 美国站订单管理 API（Manage Order）\n\n本 skill（`linkfox-temu-order-us`）覆盖 Partner Platform for US **订单管理**相关 `bg.order.*` / `temu.local.order.*` 接口（`menu_code` 与各 `sub_menu_code` 以 Partner 后台为准，见 [partner-us-catalog.md](./references/partner-us-catalog.md)）。欧洲站请用 **`linkfox-temu-order-eu`**；全球站（非 US/EU）请用 **`linkfox-temu-order-global`**。\n\n> 当前已接入 **8** 个接口；其余订单接口将按 Partner 文档逐条补充到 `references/apis/` 与 `us_order_*.py`。\n\n**网关（本 skill 内置）**：\n\n| 能力 | 方法 | 路径 |\n|------|------|------|\n| 订单 OpenAPI（`us_order_*`、`temu_us_proxy`） | POST | `https://tool-gateway.linkfox.com/temu/proxy` |\n| 加签文件下载 | POST | `https://tool-gateway.linkfox.com/temu/fileDownload` |\n\n## 相关 skill\n\n| 场景 | skill |\n|------|--------|\n| 商品列表/详情/编辑/库存/上下架 | `linkfox-temu-manage-product-us` |\n| 发品、类目、V2 add | `linkfox-temu-add-product-us` |\n| 价格/供货价、定价单 | `linkfox-temu-price-us` |\n| 取消订单（买家+卖家） | `linkfox-temu-cancel-order-us` |\n| 退货与退款 | `linkfox-temu-returns-refunds-us` |\n| 履约/发货（含自发货） | `linkfox-temu-fulfillment-us` |\n| 网关与 Temu token | 本 skill `scripts/` |\n\n## 调用方式\n\n- **API 端点**：`POST /temu/proxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/<脚本名>.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/<skill-name>-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\n\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\n\n\n| 文档 | 内容 |\n|------|------|\n| [api.md](./references/api.md) | 网关、鉴权、错误码、扩展流程 |\n| [partner-us-catalog.md](./references/partner-us-catalog.md) | 接口目录 + Partner URL + 脚本（随接入更新） |\n| [apis/README.md](./references/apis/README.md) | **按接口分文件**（`apis/<type-slug>.md`） |\n\n## 解决认证和积分问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示积分或余额不足**：消息含\"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## 默认参数\n\n| 字段 | 默认 | 说明 |\n|------|------|------|\n| site | `us` | Partner US |\n| managementType | `semi-managed` | 半托管 |\n| tokenPurpose | `order-shipping` | 订单/发货场景 token（见 [access-token.md](./references/access-token.md)） |\n\n## 鉴权\n\n1. **LinkFox**：`LINKFOXAGENT_API_KEY` → Header `Authorization` + `Token`\n2. **Temu**：`accessToken` 或 `storeKey`（`storeKey` 时建议带 `tokenPurpose=order-shipping`）\n\n## Scripts（按 type）\n\n| 脚本 | type | 状态 |\n|------|------|------|\n| `us_order_list_v2_get.py` | `bg.order.list.v2.get` | 已接入 |\n| `us_order_detail_v2_get.py` | `bg.order.detail.v2.get` | 已接入 |\n| `us_order_shippinginfo_v2_get.py` | `bg.order.shippinginfo.v2.get` | 已接入 |\n| `us_order_decryptshippinginfo_get.py` | `bg.order.decryptshippinginfo.get` | 已接入 |\n| `us_order_amount_query.py` | `bg.order.amount.query` | 已接入 |\n| `us_order_combinedshipment_list_get.py` | `bg.order.combinedshipment.list.get` | 已接入 |\n| `us_order_customization_get.py` | `bg.order.customization.get` | 已接入 |\n| `us_order_verification_upload.py` | `temu.local.order.verification.upload` | 已接入 |\n| `temu_us_proxy.py` | 任意 `type` | 通用 |\n| `temu_us_file_download.py` | 加签文件下载 | 通用 |\n\n## 接入新接口（约定）\n\n你每提供一条 Partner 文档（`type` + 参数表 + 可选 `sub_menu_code`），将：\n\n1. 新增 `references/apis/<type-slug>.md`（完整入参/出参层级）\n2. 新增 `scripts/us_order_<slug>.py`（调用 `_us_order_script.run_cli`）\n3. 更新 [partner-us-catalog.md](./references/partner-us-catalog.md)、[apis/README.md](./references/apis/README.md) 与本表\n\n## 示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<key>\"\n\n# 订单列表 V2（待发货 parentOrderStatus=2）\npython scripts/us_order_list_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"pageNumber\": 1,\n    \"pageSize\": 20,\n    \"parentOrderStatus\": 2\n  }\n}'\n\n# 按父订单号查询（最多 20 个）\npython scripts/us_order_list_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"request\": {\n    \"parentOrderSnList\": [\"PO-123456789\"]\n  }\n}'\n\n# 订单详情 V2（须 parentOrderSn）\npython scripts/us_order_detail_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 收货地址 V2（传 parentOrderSn）\npython scripts/us_order_shippinginfo_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 敏感收货地址解密（传 parentOrderSn）\npython scripts/us_order_decryptshippinginfo_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 订单金额/供货价（ERP 对账，传 parentOrderSn）\npython scripts/us_order_amount_query.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 可合并发货订单组（request 可为空对象）\npython scripts/us_order_combinedshipment_list_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {}\n}'\n\n# 定制商品内容（子订单号 orderSn，单次最多 10 个）\npython scripts/us_order_customization_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"orderSnList\": [\"SO-123456789\", \"SO-987654321\"]\n  }\n}'\n\n# 上传 SN/IMEI 或二手鉴真（orderList[].orderSn）\npython scripts/us_order_verification_upload.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"orderList\": [\n      {\n        \"orderSn\": \"SO-123456789\",\n        \"verificationInfo\": [\n          {\n            \"serialNumber\": \"SN-001234567890\",\n            \"imeiNumberList\": [\"352099001761481\"]\n          }\n        ]\n      }\n    ]\n  }\n}'\n```\n\n**Feedback：** `skillName`：`linkfox-temu-order-us`\n\n## 网关与授权脚本\n\n| 脚本 | 说明 |\n|------|------|\n| `check_linkfox_token.py` | 校验 LinkFox 用户 Token |\n| `temu_token_guide.py` | Temu accessToken 后台授权步骤 |\n| `save_temu_access_token.py` | 保存 accessToken 到本地 |\n| `list_temu_access_tokens.py` | 列出已保存 token |\n| `get_temu_access_token.py` | 读取已保存 token |\n| `temu_proxy.py` | 通用网关转发（多 site） |\n| `temu_file_download.py` | 加签文件下载（多 site） |\n\n授权说明：[references/access-token.md](./references/access-token.md)\n\n## 积分消耗规则\n\n不消耗积分。\n\nFile v1.0.6:references/apis/README.md\n\n# Order — 接口文档索引\n\n每个 `type` 单独一份文档，经 `POST /temu/proxy` 调用。网关与鉴权见 [../api.md](../api.md)；目录与 `sub_menu_code` 见 [../partner-us-catalog.md](../partner-us-catalog.md)。\n\n## 查询（4）\n\n| type | 文档 |\n|------|------|\n| `bg.order.list.v2.get` | [bg-order-list-v2-get.md](./bg-order-list-v2-get.md) |\n| `bg.order.detail.v2.get` | [bg-order-detail-v2-get.md](./bg-order-detail-v2-get.md) |\n| `bg.order.shippinginfo.v2.get` | [bg-order-shippinginfo-v2-get.md](./bg-order-shippinginfo-v2-get.md) |\n| `bg.order.decryptshippinginfo.get` | [bg-order-decryptshippinginfo-get.md](./bg-order-decryptshippinginfo-get.md) |\n\n## 金额 / ERP（1）\n\n| type | 文档 |\n|------|------|\n| `bg.order.amount.query` | [bg-order-amount-query.md](./bg-order-amount-query.md) |\n\n## 发货 / 物流（1）\n\n| type | 文档 |\n|------|------|\n| `bg.order.combinedshipment.list.get` | [bg-order-combinedshipment-list-get.md](./bg-order-combinedshipment-list-get.md) |\n\n## 定制商品（1）\n\n| type | 文档 |\n|------|------|\n| `bg.order.customization.get` | [bg-order-customization-get.md](./bg-order-customization-get.md) |\n\n## 核验 / 鉴真上传（1）\n\n| type | 文档 |\n|------|------|\n| `temu.local.order.verification.upload` | [temu-local-order-verification-upload.md](./temu-local-order-verification-upload.md) |\n\n## 发货 / 物流（待补充）\n\n| type | 文档 |\n|------|------|\n| _待用户提供 Partner 文档_ | — |\n\n## 其他（待补充）\n\n| type | 文档 |\n|------|------|\n| _待用户提供 Partner 文档_ | — |\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-temu-order-us\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1786720634483\n}\n\nFile v1.0.6:references/access-token.md\n\n# Temu accessToken 授权与获取\n\nTemu **没有** LinkFox 侧自动 OAuth；`accessToken` 须在 Temu 卖家后台「服务市场 → 授权管理」**手动复制**。与 `LINKFOXAGENT_API_KEY`（LinkFox 用户鉴权）是两套令牌。（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\n\n## 两种鉴权（勿混淆）\n\n| 令牌 | 用途 | 获取方式 |\n|------|------|----------|\n| **LinkFox 用户 Token** | 调用 `/temu/proxy`、`/temu/fileDownload` **必填** | `LINKFOXAGENT_API_KEY` 或请求 JSON 的 `token`；Header `Authorization` + `Token`（同 amazon-store-auth）（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理） |\n| **Temu accessToken** | Temu 业务 API（经紫鸟转发） | Temu 卖家后台授权后复制 |\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/check_linkfox_token.py\n```\n\n## tokenPurpose 与场景\n\n| tokenPurpose | 店铺类型 | 推荐 site | 授权应用 |\n|--------------|----------|-----------|----------|\n| `product-inventory` | 半托管 | `cn` / `partner` | 酷鸟卖家助手 |\n| `order-shipping` | 半托管 | `us` / `global` / `eu` | Cyber-ERP酷鸟助手 |\n| `full-managed` | 全托管 | `cn` / `partner` | 酷鸟卖家助手 |\n| `local-native` | 本土（美/欧主体） | `us` 等 | Cyber-ERP |\n\n## 1. 半托管 — 商品/库存 Token\n\n1. 登录 [seller.kuajingmaihuo.com](https://seller.kuajingmaihuo.com) 或 [agentseller.temu.com](https://agentseller.temu.com)\n2. **系统管理** → **服务市场** → **授权管理**\n3. **获取授权** → 选择 **「酷鸟卖家助手」**\n4. 全选常规和特殊授权 → 确认 → **复制 access_token**\n5. 调用 API：`site=cn` 或 `partner`，`managementType=semi-managed`\n\n## 2. 半托管 — 订单/发货 Token\n\n1. 登录 Temu 卖家后台\n2. 右上角 **Seller Central** → 切换到目标区域（美区 / 欧区 / 全球）\n3. **服务市场** → **授权管理**\n4. **获取授权** → 选择 **「Cyber-ERP酷鸟助手」**\n5. 全选授权 → 确认 → 复制 token\n6. 调用 API：`site=us` / `global` / `eu`，`managementType=semi-managed`\n\n## 3. 全托管店铺\n\n1. 登录 Temu 平台\n2. **系统管理** → **服务市场** → **授权管理**\n3. **获取授权** → **「酷鸟卖家助手」** → 全选 → 复制 token\n4. 调用 API：`managementType=full-managed`，`site` 通常 `cn` 或 `partner`\n\n## 4. 本土店铺（美区、欧区主体）\n\n1. 登录 Temu\n2. **Apps And Services** → **Manage Your Apps**\n3. **Authorize a new app** → 搜索 **「Cyber-ERP」**\n4. 一般权限与敏感权限全选 → 确认 → 复制 token\n\n## 站点与 OpenAPI 网关\n\n| site | 说明 | Temu 网关 |\n|------|------|-----------|\n| cn | 中国站 | openapi.kuajingmaihuo.com |\n| partner | Partner 网关 | openapi-b-partner.temu.com |\n| us | 美国站 | openapi-b-us.temu.com |\n| global | 全球区 | openapi-b-global.temu.com |\n| eu | 欧洲站 | openapi-b-eu.temu.com |\n\n## 本地保存 Token（推荐）\n\n默认存储：`~/.linkfox/temu-access-tokens.json`（可用 `TEMU_TOKEN_STORE_PATH` 覆盖）。\n\n```bash\n# 查看授权步骤\npython scripts/temu_token_guide.py '{\"shopType\":\"semi-managed\",\"tokenPurpose\":\"product-inventory\",\"site\":\"cn\"}'\n\n# 保存 token\npython scripts/save_temu_access_token.py '{\n  \"storeKey\": \"my-shop\",\n  \"label\": \"中国半托管\",\n  \"site\": \"cn\",\n  \"managementType\": \"semi-managed\",\n  \"tokenPurpose\": \"product-inventory\",\n  \"accessToken\": \"PASTE_TOKEN\"\n}'\n\n# 列出已保存（脱敏）\npython scripts/list_temu_access_tokens.py\n\n# 用 storeKey 调 API（无需每次粘贴 token）\npython scripts/temu_proxy.py '{\n  \"storeKey\": \"my-shop\",\n  \"site\": \"cn\",\n  \"managementType\": \"semi-managed\",\n  \"tokenPurpose\": \"product-inventory\",\n  \"type\": \"bg.goods.category.mapping\",\n  \"params\": {\"goodsName\": \"测试\", \"goodsNameEn\": \"Test\"}\n}'\n```\n\n## 注意事项\n\n1. **子账号**：可能无法进入服务市场，需主账号授权。\n2. **多站点**：美国站、英国站等需分别登录对应后台获取 Token。\n3. **有效期**：Token 会过期，过期后重新在后台复制并 `save_temu_access_token.py`。\n4. **IP 白名单**：需联系紫鸟开放平台配置调用 IP。\n5. **参数小写**：`site`、`managementType` 必须小写。\n\n## 脚本一览\n\n| 脚本 | 说明 |\n|------|------|\n| `temu_token_guide.py` | 按店铺类型/用途输出授权步骤 |\n| `save_temu_access_token.py` | 保存 accessToken 到本地 |\n| `list_temu_access_tokens.py` | 列出已保存 token（默认脱敏）|\n| `get_temu_access_token.py` | 读取指定 store 的 token |\n\nFile v1.0.6:references/api.md\n\n# linkfox-temu-order-us — API 参考\r\n\r\nTemu **美国站订单管理**（Partner US **Order / 订单发货** 相关接口），经本 skill `temu_us_proxy`（`POST /temu/proxy`） 转发。Temu 的 `type` 写在 Body，**不是** URL 路径。\r\n\r\n> 网关与鉴权：本 skill `scripts/`（`LINKFOXAGENT_API_KEY`、`accessToken` / `storeKey`）。订单场景 token 见 `references/access-token.md`（`tokenPurpose=order-shipping`）。（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\r\n\r\n---\r\n\r\n## 调用规范\r\n\r\n| 项 | 说明 |\r\n|----|------|\r\n| 网关根地址 | `${LINKFOX_TOOL_GATEWAY}`（可用 `TEMU_API_BASE_URL` / `STORE_API_BASE_URL` 覆盖） |\r\n| 订单 OpenAPI | `POST /temu/proxy` |\r\n| 加签文件下载 | `POST /temu/fileDownload`（`temu_us_file_download.py`） |\r\n| LinkFox 鉴权 | Header **`Authorization`** 与 **`Token`**（同值）；或 `LINKFOX_AGENT_API_KEY` / `LINKFOXAGENT_API_KEY`；或 JSON `token`（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理） |\r\n| Temu 鉴权 | Body `accessToken`，或 `storeKey` + `site` + `managementType` + `tokenPurpose` |\r\n| 默认 | `site=us`，`managementType=semi-managed`，`tokenPurpose=order-shipping` |\r\n| 上游 OpenAPI（US） | `https://openapi-b-us.temu.com/openapi/router`（网关按 `site` 解析） |\r\n\r\n### 网关请求 Body（`/temu/proxy`）\r\n\r\n| 参数 | 类型 | 必填 | 说明 |\r\n|------|------|------|------|\r\n| site | string | 是 | `us`（本 skill 默认） |\r\n| managementType | string | 是 | `semi-managed` |\r\n| accessToken | string | 与 storeKey 二选一 | Temu 店铺令牌 |\r\n| storeKey | string | 与 accessToken 二选一 | `~/.linkfox/temu-access-tokens.json` 中的键 |\r\n| tokenPurpose | string | 否 | 建议 **`order-shipping`**（订单/发货） |\r\n| type | string | 是 | Temu 接口名，如 Partner 文档中的 `bg.*` / `temu.*` |\r\n| params | object | 否 | 业务参数；多数接口业务块在 **`params.request`** |\r\n\r\n### 网关响应\r\n\r\n| 字段 | 类型 | 说明 |\r\n|------|------|------|\r\n| body | string | Temu 原始 JSON 字符串；脚本解析为 `temuBody` |\r\n| code | integer | 网关错误码：`1002` 参数/Token，`1003` 转发失败 |\r\n\r\n解析顺序：**网关 `code`** → `JSON.parse(body)` → `success` / `errorCode` / `errorMsg` / `result`。\r\n\r\n### 脚本调用\r\n\r\n```bash\r\nexport LINKFOXAGENT_API_KEY=\"<key>\"\r\npython scripts/us_order_list_v2_get.py '{\"accessToken\":\"TOKEN\",\"tokenPurpose\":\"order-shipping\",\"request\":{\"pageNumber\":1,\"pageSize\":20,\"parentOrderStatus\":2}}'\r\n```\r\n\r\n业务字段可放在顶层或嵌套 `params`；含 `request` 时通常整体作为 `params` 转发。\r\n\r\n---\r\n\r\n## 接口一览\r\n\r\n完整 `sub_menu_code` 与 Partner 文档 URL 见 [partner-us-catalog.md](./partner-us-catalog.md)。\r\n\r\n**每个接口单独一份文档**：[apis/README.md](./apis/README.md)（随接入递增）。\r\n\r\n已接入接口见 [apis/README.md](./apis/README.md)。\r\n\r\n---\r\n\r\n## 典型订单管理流程\r\n\r\n```text\r\n1. bg.order.list.v2.get（本 skill）                    → 按状态/时间/父单号分页查订单列表\r\n2. bg.order.detail.v2.get（本 skill）                  → 按 parentOrderSn 拉父单+子单完整详情\r\n3. bg.order.shippinginfo.v2.get（本 skill）            → 按 parentOrderSn 拉收货地址（含 warning）\r\n4. bg.order.decryptshippinginfo.get（本 skill）        → 按 parentOrderSn 拉**敏感/解密**收货地址\r\n5. bg.order.amount.query（本 skill）                   → 按 parentOrderSn 拉供货价/金额（ERP 对账）\r\n6. bg.order.combinedshipment.list.get（本 skill）      → 拉可合并发货的父订单组\r\n7. bg.order.customization.get（本 skill）              → 按 orderSnList（≤10）拉定制商品内容\r\n8. temu.local.order.verification.upload（本 skill）  → 上传 SN/IMEI 或二手鉴真编码\r\n9. （待补充）合并发货确认/面单等                        → 填运单、确认发货\r\n10. 取消订单（买家+卖家）                               → **`linkfox-temu-cancel-order-us`**\r\n11. 履约/发货（购标、自发货、合作仓、跟踪）         → **`linkfox-temu-fulfillment-us`**\r\n```\r\n\r\n商品信息请用 **`linkfox-temu-manage-product-us`**；发品请用 **`linkfox-temu-add-product-us`**；取消订单请用 **`linkfox-temu-cancel-order-us`**；履约/发货请用 **`linkfox-temu-fulfillment-us`**。\r\n\r\n---\r\n\r\n## 网关错误码\r\n\r\n| code | 说明 | 处理 |\r\n|------|------|------|\r\n| 1002 | 参数或 LinkFox Token 无效 | 修正参数与 `LINKFOXAGENT_API_KEY` |\r\n| 1003 | 转发失败 | 检查 Temu token、`tokenPurpose`、白名单、网络 |\r\n\r\n---\r\n\r\n## Feedback API\r\n\r\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\r\n- `skillName`: **`linkfox-temu-order-us`**\n\nFile v1.0.6:references/apis/bg-order-amount-query.md\n\n# 订单金额/供货价查询 — `bg.order.amount.query`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_amount_query.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.amount.query`，业务载荷放在 Body 的 `params` |\n\n**Description:** Provide the supply price information corresponding to the orders for the self-developed ERP（为自研 ERP 提供订单对应的供货价/金额信息）。\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`。建议使用 **`tokenPurpose=order-shipping`**。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    └── parentOrderSn (STRING, 必填)\n```\n\n### `request`\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| parentOrderSn | STRING | **是** | Parent order number（父订单号） |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    ├── parentOrderMap\n    │   ├── parentOrderSn\n    │   ├── basePriceTotal\n    │   ├── shippingAmountTotal\n    │   ├── taxTotal\n    │   ├── discountFromSeller\n    │   ├── discountFromTEMU\n    │   ├── refundsTotal\n    │   ├── estimatedRevenueDeduction\n    │   ├── estimatedRevenue\n    │   ├── retailPriceTotal\n    │   ├── customerPaid\n    │   ├── totalDiscount\n    │   └── signOnDelivery\n    ├── orderList[]\n    │   ├── orderSn\n    │   ├── basePrice\n    │   ├── unitBasePrice\n    │   ├── quantity\n    │   ├── unitRetailPrice\n    │   ├── discountFromSeller\n    │   ├── discountFromTEMU\n    │   └── shipAmountTotal\n    └── warning[]\n```\n\n> 下列带 **`currency` + `amount`** 的金额块结构相同，见 [金额块（MoneyAmount）](#金额块moneyamount)。\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success |\n| errorCode | INTEGER | error code |\n| errorMsg | STRING | error message |\n| result | OBJECT | 订单金额结果 |\n\n### `result`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderMap | OBJECT | Parent order information（父订单金额汇总） |\n| orderList | OBJECT[] | Order information（子订单金额明细） |\n| warning | STRING[] | warning message（告警信息） |\n\n### `parentOrderMap`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderSn | STRING | Parent order number（父订单号） |\n| basePriceTotal | OBJECT | Base price total（基础价/供货价合计） |\n| shippingAmountTotal | OBJECT | Shipping total（运费合计） |\n| taxTotal | OBJECT | Consumer's paid tax: Calculated on realPrice（消费者已付税费，按 realPrice 计算） |\n| discountFromSeller | OBJECT | Discount from seller（卖家折扣） |\n| discountFromTEMU | OBJECT | Discount from Temu（平台折扣） |\n| refundsTotal | OBJECT | Refunds total（退款合计） |\n| estimatedRevenueDeduction | OBJECT | Estimated revenue deduction（预估收入扣减） |\n| estimatedRevenue | OBJECT | Estimated revenue（预估收入） |\n| retailPriceTotal | OBJECT | Retail price total — Total promotional sale price of the products（零售价/促销售价合计） |\n| customerPaid | OBJECT | Total paid — payment of the order from the customer（消费者实付合计） |\n| totalDiscount | OBJECT | the amount of discount（折扣合计） |\n| signOnDelivery | OBJECT | amount of signature on delivery（签收服务费） |\n\n#### `parentOrderMap` 金额字段公式（官方说明）\n\n| 字段 | 公式 / 说明 |\n|------|-------------|\n| estimatedRevenue | `estimatedRevenue = basePriceTotal + shippingAmountTotal - estimatedRevenueDeduction + signOnDelivery` |\n| customerPaid | `customerPaid = retailPriceTotal + shippingAmountTotal + taxTotal - refundsTotal + signOnDelivery - totalDiscount` |\n| totalDiscount | `totalDiscount = discountFromTEMU + discountFromSeller` |\n| signOnDelivery | 消费者未购买该服务时返回 **NULL**；签收服务费已退款时返回 **0** |\n\n### `orderList[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| orderSn | STRING | Order number (sub-order number)（子订单号） |\n| basePrice | OBJECT | Base price（子单基础价/供货价） |\n| unitBasePrice | OBJECT | Base price subtotal — unit base price（单位基础价小计） |\n| quantity | INTEGER | The quantity of original single items in order（订单原始单品数量） |\n| unitRetailPrice | OBJECT | Unit retail price（单位零售价） |\n| discountFromSeller | OBJECT | Discount from seller for this product（该商品卖家折扣） |\n| discountFromTEMU | OBJECT | Discount from TEMU for this product（该商品平台折扣） |\n| shipAmountTotal | OBJECT | shipping cost — Total shipping fee of this product（该商品运费合计） |\n\n---\n\n## 金额块（MoneyAmount）\n\n以下字段均为 **OBJECT**，结构一致：\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| currency | STRING | currency（币种代码） |\n| amount | LONG | The minimum currency unit of the local currency（本地货币**最小单位**金额）。例如美国：**Cents（分）** |\n\n适用字段：`basePriceTotal`、`shippingAmountTotal`、`taxTotal`、`discountFromSeller`、`discountFromTEMU`、`refundsTotal`、`estimatedRevenueDeduction`、`estimatedRevenue`、`retailPriceTotal`、`customerPaid`、`totalDiscount`、`signOnDelivery`，以及 `orderList[]` 中的 `basePrice`、`unitBasePrice`、`unitRetailPrice`、`discountFromSeller`、`discountFromTEMU`、`shipAmountTotal`。\n\n> 展示为美元等主币种时，需将 `amount` 除以 100（美国站）。\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_amount_query.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n```\n\nERP 对账时可与 `bg.order.detail.v2.get` 的子单 `orderSn` 对齐查看 `orderList[]` 各行金额。\n\nFile v1.0.6:references/apis/bg-order-combinedshipment-list-get.md\n\n# 可合并发货订单组列表 — `bg.order.combinedshipment.list.get`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_combinedshipment_list_get.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.combinedshipment.list.get`，业务载荷放在 Body 的 `params` |\n\n**Description:** The `bg.order.combinedshipment.list.get` interface is designed for merchants to retrieve **combined shipping groups**, including lists of parent orders that can be combined for shipping（供商家查询**可合并发货**的订单组，每组包含可合并发货的父订单列表）。\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`（官方无额外筛选字段，可传空对象）。建议使用 **`tokenPurpose=order-shipping`**。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    └── （无子字段；可传 {} 或不传 request）\n```\n\n### `request`\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| _(无)_ | — | — | 官方入参表仅声明 `request` 对象，**无其它业务筛选字段**；调用时通常传空对象 `{}` 或省略 `request` |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {}\n}\n```\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\"\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    └── combinedShippingGroups[] (OBJECT[])\n        └── combinedShippingGroup[] (OBJECT[])\n            ├── parentOrderSn\n            ├── parentOrderStatus\n            ├── parentOrderTime\n            ├── mallId\n            └── semiUniqueId\n```\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success |\n| errorCode | INTEGER | error code |\n| errorMsg | STRING | error message |\n| result | OBJECT | 可合并发货组列表等业务结果 |\n\n### `result`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| combinedShippingGroups | OBJECT[] | Combined shipping groups（可合并发货组列表）；每组内包含可合并发货的父订单列表 |\n\n### `combinedShippingGroups[]` 元素\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| combinedShippingGroup | OBJECT[] | A list of parent orders that can be combined for shipping（本组内可合并发货的父订单列表） |\n\n### `combinedShippingGroup[]` 元素\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderSn | STRING | parent order number（父订单号） |\n| parentOrderStatus | INTEGER | Status of the parent order（父订单状态），见下表 |\n| parentOrderTime | INTEGER | Time when the parent order was placed（父订单下单时间，秒级时间戳） |\n| mallId | LONG | mallId（店铺/商城 ID） |\n| semiUniqueId | STRING | Unique identifier for semi-managed stores（半托管店铺唯一标识） |\n\n#### `parentOrderStatus`（出参）\n\n| 值 | 说明 |\n|----|------|\n| `1` | PENDING（待处理） |\n| `2` | UN_SHIPPING（待发货） |\n| `3` | CANCELED（已取消） |\n| `4` | SHIPPED（已发货） |\n| `41` | PARTIALLY_SHIPPED（部分发货，仅 local mall） |\n| `5` | DELIVERED / RECEIPTED（已签收） |\n| `51` | PARTIALLY_DELIVERED（部分签收，仅 local mall） |\n\n> 与 `bg.order.list.v2.get` 出参中 `parentOrderMap.parentOrderStatus` 含义一致；具体以 Partner 文档为准。\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_combinedshipment_list_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {}\n}'\n```\n\n典型流程：本接口拉**可合并发货**父单组 → 对组内 `parentOrderSn` 调用 `bg.order.shippinginfo.v2.get` / `bg.order.decryptshippinginfo.get` 取地址 → 后续合并发货/面单接口（待接入）。\n\nFile v1.0.6:references/apis/bg-order-customization-get.md\n\n# 订单定制商品内容批量查询 — `bg.order.customization.get`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_customization_get.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.customization.get`，业务载荷放在 Body 的 `params` |\n\n**Description:** Self developed sellers and third-party ISVs obtain **customized product content information in bulk** through Open API（自研卖家与第三方 ISV 通过 Open API **批量**获取订单的定制商品内容信息）。\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`。建议使用 **`tokenPurpose=order-shipping`**。  \n> 入参为**子订单号** `orderSn`（非 `parentOrderSn`），可从 `bg.order.list.v2.get` / `bg.order.detail.v2.get` 的 `orderList[].orderSn` 取得。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    └── orderSnList[] (STRING[], 否)\n```\n\n### `request` 内字段\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| orderSnList | STRING[] | 否 | orderSnList（子订单号列表）；**单次最多查询 10 个订单** |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"orderSnList\": [\"SO-001\", \"SO-002\"]\n  }\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result[] (OBJECT[])\n    ├── orderSn\n    ├── customizedType\n    ├── customizedData          ← 仅 customizedType=2 时返回\n    ├── previewList[]           ← 仅 customizedType=2 时返回\n    │   ├── previewType\n    │   ├── imageUrl\n    │   ├── customizedText\n    │   └── customizedAreaId\n    ├── templateId\n    ├── templateType\n    ├── customizedText          ← 仅 customizedType=1 时返回（result 层级）\n    └── customizedSvgList[]\n        └── compressedFileUrl\n```\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success |\n| errorCode | INTEGER | error code |\n| errorMsg | STRING | error message |\n| result | OBJECT[] | 各子订单的定制内容列表（与请求的 `orderSnList` 对应） |\n\n### `result[]` 元素\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| orderSn | STRING | OrderSn corresponding to customized information（对应该定制信息的子订单号） |\n| customizedType | INTEGER | Customized type（定制类型），见下表 |\n| customizedData | STRING | Graphic customization content, in **json format**（图文定制内容，JSON 字符串）；**仅当 `customizedType=2` 时返回** |\n| previewList | OBJECT[] | Graphic customization preview information（图文定制预览信息）；**仅当 `customizedType=2` 时返回** |\n| templateId | LONG | Customization template ID when user created customized information（用户创建定制信息时的模板 ID）；商品无模板时为 `null` |\n| templateType | INTEGER | Customization template type when user created customized information（定制模板类型）；商品无模板时为 `null`，见下表 |\n| customizedText | STRING | Customization text（纯文本定制内容）；**仅当 `customizedType=1` 时返回**（位于 `result[]` 元素顶层，与 `previewList[].customizedText` 不同） |\n| customizedSvgList | OBJECT[] | Customized information list in **SVG format**（SVG 格式定制信息列表） |\n\n#### `customizedType`\n\n| 值 | 说明 |\n|----|------|\n| `1` | pure text customization, no customized templates（纯文本定制，无定制模板） |\n| `2` | customized graphics and text, with customized templates available（图文定制，有定制模板） |\n\n#### `templateType`\n\n| 值 | 说明 |\n|----|------|\n| `1` | only image（仅图片） |\n| `2` | only text（仅文字） |\n| `3` | text and image（文字 + 图片） |\n\n> 商品无定制模板时，`templateId` / `templateType` 为 `null`。\n\n### `previewList[]` 元素\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| previewType | INTEGER | type of preview item（预览项类型），见下表 |\n| imageUrl | STRING | Image URL（图片 URL） |\n| customizedText | STRING | Customized Text（预览项中的定制文字） |\n| customizedAreaId | STRING | Customized Area ID（定制区域 ID）；**仅当 `templateType=3` 且 `previewType=3` 或 `4` 时返回** |\n\n#### `previewType`\n\n| 值 | 说明 |\n|----|------|\n| `1` | overall preview image（整体预览图；若商品未配置定制区域，则为商家上传的效果图） |\n| `3` | user uploaded image（用户上传图片） |\n| `4` | customized text（定制文字） |\n\n### `customizedSvgList[]` 元素\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| compressedFileUrl | STRING | Image URL and Compression file URL（图片/压缩包下载 URL）；调用方需 **GET** 该 URL 拉取文件；**创建后 10 分钟内有效**，过期需重新调本接口获取新 URL |\n\n#### 下载 `compressedFileUrl` 的 TOA 请求头\n\n对 `compressedFileUrl` 发起 **GET** 时，需在 Header 携带以下公共参数（与 Partner 文档一致）：\n\n| Header | 说明 |\n|--------|------|\n| `toa-app-key` | `${app_key}` |\n| `toa-access-token` | `${access_token}` |\n| `toa-random` | 32 位随机数字符串 |\n| `toa-timestamp` | 时间戳 |\n| `toa-sign` | 签名（见下） |\n\n**`toa-sign` 计算逻辑：**\n\n1. 将 Header 中参与签名的参数按参数名 **ASCII 升序**排序：`toa-app-key`、`toa-access-token`、`toa-random`、`toa-timestamp`\n2. 按 `参数名 + 参数值` 依次拼接（中间**无**分隔符），得到长字符串\n3. 在拼接结果**首尾**各拼接一次 `app_secret`，得到签名字符串\n4. 对签名字符串做 **MD5**，再将密文转为**大写**，即为 `toa-sign`\n\n> 实际 `app_key` / `access_token` / `app_secret` 以店铺授权与 Partner 应用配置为准；经 LinkFox 网关调用本 `type` 时，业务 JSON 仍走 `POST /temu/proxy`，**文件下载**为对上述 URL 的独立 GET + TOA 头。\n\n---\n\n## 字段返回条件速查\n\n| 字段 | 返回条件 |\n|------|----------|\n| `customizedText`（`result[]` 顶层） | `customizedType=1` |\n| `customizedData`、`previewList` | `customizedType=2` |\n| `previewList[].customizedAreaId` | `templateType=3` 且 `previewType=3` 或 `4` |\n| `templateId`、`templateType` | 有定制模板时；无模板为 `null` |\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_customization_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"orderSnList\": [\"SO-123456789\", \"SO-987654321\"]\n  }\n}'\n```\n\n典型流程：`bg.order.detail.v2.get` 取得 `orderList[].orderSn` → 本接口批量拉定制内容（≤10 条）→ 若需 SVG/压缩包，用返回的 `compressedFileUrl` + TOA 头 GET 下载。\n\nFile v1.0.6:references/apis/bg-order-decryptshippinginfo-get.md\n\n# 订单收货地址解密查询 — `bg.order.decryptshippinginfo.get`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_decryptshippinginfo_get.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.decryptshippinginfo.get`，业务载荷放在 Body 的 `params` |\n\n**Description:** The `bg.order.decryptshippinginfo.get` interface is designed to retrieve **sensitive shipping address information** for a specific order（获取指定订单的**敏感**收货地址信息，通常为解密后的明文姓名、电话、地址等）。\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`。建议使用 **`tokenPurpose=order-shipping`**。  \n> **隐私提示**：返回含收件人姓名、电话、详细地址等 PII，请按合规要求存储与展示，勿写入日志或公开渠道。\n\n与 `bg.order.shippinginfo.v2.get` 的区别：本接口用于获取**解密/敏感**收货信息；若仅需常规收货地址（含 `warning` 限制提示），见 [bg-order-shippinginfo-v2-get.md](./bg-order-shippinginfo-v2-get.md)。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    └── parentOrderSn (STRING, 否)\n```\n\n### `request` 内字段\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| parentOrderSn | STRING | 否 | parentOrderSn（父订单号）；查询指定订单敏感收货地址时**应传入** |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    ├── receiptName\n    ├── receiptAdditionalName\n    ├── mobile\n    ├── backupMobile\n    ├── mail\n    ├── regionName1\n    ├── regionName2\n    ├── regionName3\n    ├── regionName4\n    ├── addressLine1\n    ├── addressLine2\n    ├── addressLine3\n    ├── postCode\n    ├── addressLineAll\n    └── addressExtra\n        ├── firstName\n        ├── lastName\n        ├── additionalFirstName\n        └── additionalLastName\n```\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success |\n| errorCode | INTEGER | error code |\n| errorMsg | STRING | error message |\n| result | OBJECT | 解密后的敏感收货地址等业务结果 |\n\n### `result`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| receiptName | STRING | Name（收件人姓名） |\n| receiptAdditionalName | STRING | Additional Name（附加姓名） |\n| mobile | STRING | Phone Number（手机号） |\n| backupMobile | STRING | Alternate Phone（备用电话） |\n| mail | STRING | Virtual Email（虚拟邮箱） |\n| regionName1 | STRING | regionName1（一级行政区名称） |\n| regionName2 | STRING | regionName2（二级行政区名称） |\n| regionName3 | STRING | regionName3（三级行政区名称） |\n| regionName4 | STRING | regionName4（四级行政区名称） |\n| addressLine1 | STRING | addressLine1（地址行 1） |\n| addressLine2 | STRING | addressLine2（地址行 2） |\n| addressLine3 | STRING | addressLine3（地址行 3） |\n| postCode | STRING | postCode（邮编） |\n| addressLineAll | STRING | addressLineAll（完整地址行，通常为 addressLine1 + Line2 + Line3 拼接） |\n| addressExtra | OBJECT | addressExtra（姓名拆分等扩展信息） |\n\n### `addressExtra`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| firstName | STRING | firstName（名） |\n| lastName | STRING | lastName（姓） |\n| additionalFirstName | STRING | additionalFirstName（附加名） |\n| additionalLastName | STRING | additionalLastName（附加姓） |\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_decryptshippinginfo_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n```\n\n典型流程：`bg.order.list.v2.get` / `bg.order.detail.v2.get` 取得 `parentOrderSn` → 本接口拉**解密**收货地址 → 打单发货（`bg.order.shippinginfo.v2.get` 可用于带 `warning` 的常规地址查询）。\n\nFile v1.0.6:references/apis/bg-order-detail-v2-get.md\n\n# 订单详情查询 V2 — `bg.order.detail.v2.get`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_detail_v2_get.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.detail.v2.get`，业务载荷放在 Body 的 `params` |\n\n**Description:** The `bg.order.detail.v2.get` interface is designed for merchants to retrieve detailed information about a specific order within their respective stores. This functionality provides merchants with access to comprehensive order details, enabling them to process, fulfill, and manage individual orders with precision.\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`。建议使用 **`tokenPurpose=order-shipping`**。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    ├── parentOrderSn (STRING, 必填)\n    └── fulfillmentTypeList[] (STRING[], 否)\n```\n\n### `request`\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| parentOrderSn | STRING | **是** | Parent order number（父订单号） |\n| fulfillmentTypeList | STRING[] | 否 | The type of order fulfillment（订单履约类型），见下表 |\n\n#### `fulfillmentTypeList[]`\n\n| 值 | 说明 |\n|----|------|\n| `fulfillBySeller` | fulfill by seller（卖家履约） |\n| `fulfillByCooperativeWarehouse` | fulfill by Cooperative Warehouse（合作仓履约） |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\",\n    \"fulfillmentTypeList\": [\"fulfillBySeller\"]\n  }\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    ├── parentOrderMap\n    │   ├── parentOrderSn\n    │   ├── parentOrderStatus\n    │   ├── parentOrderTime\n    │   ├── expectShipLatestTime\n    │   ├── parentOrderPendingFinishTime\n    │   ├── latestDeliveryTime\n    │   ├── parentShippingTime\n    │   ├── siteId\n    │   ├── regionId\n    │   ├── parentOrderLabel[]\n    │   │   ├── name\n    │   │   └── value\n    │   ├── fulfillmentWarning[]\n    │   ├── hasShippingFee\n    │   ├── regionName1 / regionName2 / regionName3\n    │   ├── orderPaymentType\n    │   ├── batchOrderNumberList[]\n    │   ├── shippingMethod\n    │   ├── isShipmentConsolidatedByMainMall\n    │   └── parentConfirmTime\n    └── orderList[]\n        ├── orderSn\n        ├── quantity\n        ├── canceledQuantityBeforeShipment\n        ├── originalOrderQuantity\n        ├── goodsId\n        ├── packageSnInfo[]\n        │   ├── packageSn\n        │   ├── packageDeliveryType\n        │   └── callSuccess\n        ├── packageAbnormalTypeList[]\n        ├── skuId\n        ├── spec\n        ├── originalSpecName\n        ├── thumbUrl\n        ├── goodsName\n        ├── originalGoodsName\n        ├── orderStatus\n        ├── productList[]\n        │   ├── productId\n        │   ├── productSkuId\n        │   ├── soldFactor\n        │   └── extCode\n        ├── orderLabel[]\n        │   ├── name\n        │   └── value\n        ├── fulfillmentWarning[]\n        ├── fulfillmentType\n        ├── inventoryDeductionWarehouseId\n        ├── inventoryDeductionWarehouseName\n        ├── orderPaymentType\n        ├── isCancelledDuringPending\n        ├── earliestTimeBuyShippingLabel\n        ├── earliestTimeGetShippingDocument\n        ├── orderShippingTime\n        ├── isShipmentConsolidatedByMainMall\n        ├── orderCreateTime\n        ├── qualificationUploadEndTime\n        └── hasUploadedEvidence\n```\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success |\n| errorCode | INTEGER | error code |\n| errorMsg | STRING | error message |\n| result | OBJECT | result |\n\n### `result`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderMap | OBJECT | Parent order information（父订单信息） |\n| orderList | OBJECT[] | Order information（子订单列表） |\n\n### `parentOrderMap`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderSn | STRING | Parent order number（父订单号） |\n| parentOrderStatus | INTEGER | Status of the parent order：`1` PENDING；`2` UN_SHIPPING；`3` CANCELED；`4` SHIPPED；`41` PARTIALLY_SHIPPED；`5` DELIVERED；`51` PARTIALLY_DELIVERED |\n| parentOrderTime | INTEGER | Time when the parent order was placed（下单时间，秒） |\n| expectShipLatestTime | INTEGER | Latest shipment time（最晚发货时间，秒） |\n| parentOrderPendingFinishTime | INTEGER | Time when the parent order finish pending（待处理完成时间，秒） |\n| latestDeliveryTime | INTEGER | Latest delivery time（最晚送达时间，秒） |\n| parentShippingTime | INTEGER | Time when the parent order was shipped（父订单发货时间，秒） |\n| siteId | LONG | Site ID |\n| regionId | LONG | Region ID，e.g. USA - **211** |\n| parentOrderLabel | OBJECT[] | List of PO order status labels（父订单状态标签） |\n| fulfillmentWarning | STRING[] | Fulfillment Prompt（履约提示），见下表 |\n| hasShippingFee | BOOLEAN | 用户实付运费是否为零：`true` 为零，`false` 非零（**only for local mall**） |\n| regionName1 | STRING | Address region 1（地址区域 1） |\n| regionName2 | STRING | Address region 2 |\n| regionName3 | STRING | Address region 3 |\n| orderPaymentType | STRING | Order payment type：`COD`、`PPD` |\n| batchOrderNumberList | STRING[] | batchOrderNumberList；**仅合作仓履约**有值，否则为空 |\n| shippingMethod | INTEGER | delivery channel type：`1` Standard Shipping，`2` Store Delivery，`3` Customer Pickup |\n| isShipmentConsolidatedByMainMall | BOOLEAN | 为 `true` 表示 PO 已由主站合并发货，需在主站侧确认发货/面单 |\n| parentConfirmTime | INTEGER | Confirmation time of parent order in seconds (timestamp) |\n\n#### `parentOrderMap.parentOrderLabel[]` — `name` 常见值\n\n| name | 说明 |\n|------|------|\n| `soon_to_be_overdue` | 即将逾期 |\n| `past_due` | 已逾期 |\n| `pending_buyer_cancellation` | 买家取消待处理 |\n| `pending_buyer_address_change` | 买家改地址待处理 |\n| `pending_risk_control_alert` | 风控预警待处理 |\n| `signature_required_on_delivery` | 需要签收 |\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| name | STRING | Label name |\n| value | INTEGER | Whether the label exists：`0` = no label，`1` = label exists |\n\n#### `parentOrderMap.fulfillmentWarning[]`\n\n| 值 | 说明 |\n|----|------|\n| `SUGGEST_SIGNATURE_ON_DELIVERY` | It is recommended to purchase signature service for this order to ensure fulfillment |\n| `CONFIRMED_CHANGED_ADDRESS` | Address has been changed and confirmed; pull the order again for the latest address |\n| `RESTRICT_FEDEX_SELF_SHIPPING` | Restricted from confirming shipment by FedEx tracking number |\n| `RESTRICT_USPS_SELF_SHIPPING` | Restricted from confirming shipment by USPS tracking number |\n| `RESTRICT_SELF_SHIPPING` | Restricted from confirming shipment by tracking number |\n| `BLOCK_LOGISTICS_PROVIDERS_{Name1,Name2,...}` | Consumer blocked some logistics providers (names in response) |\n| `REQUIRES_CUSTOMER_PICKUP` | This order can only be fulfilled via customer pickup |\n\n### `orderList[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| orderSn | STRING | Order number (sub-order number)（子订单号） |\n| quantity | INTEGER | The quantity seller needs to fulfill：`quantity = originalOrderQuantity - canceledQuantityBeforeShipment` |\n| canceledQuantityBeforeShipment | INTEGER | The quantity of canceled before shipment |\n| originalOrderQuantity | INTEGER | originalOrderQuantity |\n| goodsId | LONG | Goods ID |\n| packageSnInfo | OBJECT[] | package information（包裹信息） |\n| packageAbnormalTypeList | STRING[] | Logistics anomalies after shipment，见下表 |\n| skuId | LONG | Sku id；**It is only valid for LOCAL sellers not SEMI sellers** |\n| spec | STRING | Product specification description for customer |\n| originalSpecName | STRING | Product specification for seller；**Only for orders whose confirmation time is within no more than six months** |\n| thumbUrl | STRING | Thumbnail image URL |\n| goodsName | STRING | Product name for customer |\n| originalGoodsName | STRING | Product name for seller；**Only for orders whose confirmation time is within no more than six months** |\n| orderStatus | INTEGER | Status of the order：`1` PENDING；`2` UN_SHIPPING；`3` CANCELED；`4` SHIPPED；`41` PARTIALLY_SHIPPED；`5` DELIVERED；`51` PARTIALLY_DELIVERED |\n| productList | OBJECT[] | Product information；**仅 SEMI 卖家有效，非 LOCAL** |\n| orderLabel | OBJECT[] | The label of order（子订单标签） |\n| fulfillmentWarning | STRING[] | Fulfillment Prompt（子订单履约提示），见下表 |\n| fulfillmentType | STRING | `fulfillBySeller` / `fulfillByCooperativeWarehouse` |\n| inventoryDeductionWarehouseId | STRING | The id of inventory deduction warehouse |\n| inventoryDeductionWarehouseName | STRING | The name of inventory deduction warehouse |\n| orderPaymentType | STRING | Order payment type：`COD`、`PPD` |\n| isCancelledDuringPending | BOOLEAN | Whether the order is completely cancelled during the pending period |\n| earliestTimeBuyShippingLabel | INTEGER | Order can only buy shipping label after this time |\n| earliestTimeGetShippingDocument | INTEGER | Order can only get shipping document after this time |\n| orderShippingTime | INTEGER | Time when the order was shipped；若含未发货或延迟包裹，返回 **null** |\n| isShipmentConsolidatedByMainMall | BOOLEAN | 主站合并发货标记 |\n| orderCreateTime | INTEGER | The time when the order was created |\n| qualificationUploadEndTime | LONG | Deadline for uploading order qualification documents |\n| hasUploadedEvidence | BOOLEAN | Whether the merchant has uploaded verification information such as SN, IMEI, and appraisal report |\n\n### `packageSnInfo[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| packageSn | STRING | package number of this order |\n| packageDeliveryType | INTEGER | Package delivery type：`1` Seller non-integrated；`2` Seller Temu-integrated；`3` Cooperative warehouse non-integrated；`4` Cooperative warehouse Temu-integrated |\n| callSuccess | BOOLEAN | Whether the latest request `bg.logistics.shipment.create` is successful；与 Temu 非集成物流无关 |\n\n#### `orderList[].packageAbnormalTypeList[]`\n\n| 值 | 说明 |\n|----|------|\n| `WRONG_SHIPPING_ADDRESS` | Wrong shipping address |\n| `SUSPECTED_ERROR_PROVIDER` | Suspected error provider |\n| `NO_TRACK` | No track |\n| `TRACK_TOO_EARLY` | Track too early |\n| `OVERTIME_COLLECTION` | Overtime collection |\n| `TRACK_COLLECT_FAIL` | Track collect fail |\n| `SIGNED_BUT_UNRECEIVED_TASK` | Signed but unreceived task |\n\n#### `productList[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| productId | LONG | Product Id |\n| productSkuId | LONG | Product sku id；**It is only valid for SEMI sellers not LOCAL sellers** |\n| soldFactor | LONG | Conversion factor between product quantity and item quantity |\n| extCode | STRING | Item code |\n\n#### `orderList[].orderLabel[]` — `name` 常见值\n\n`customized_products`、`US_to_CA`、`is_US_to_CA_BBC`、`Y2_advance_sale`、`pre_sale_order`、`made_to_order`、`vacation_order`、`second_hand_collectible_order`、`second_hand_luxury_order`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| name | STRING | Label name |\n| value | INTEGER | Is there a label：`0` = no label，`1` = labeled；BBC orders need to judge combined with `is_US_to_CA_BBC` |\n\n#### `orderList[].fulfillmentWarning[]`\n\n| 值 | 说明 |\n|----|------|\n| `SAVE_SN_INFORMATION_FOR_RETURN` | It is recommended to save sn information for this order to identify the authenticity of the returned goods |\n| `REQUIRES_AUTHENTICATION_REPORT_SUBMISSION` | Requires submission of an authentication report in Temu Seller Center；超时自动取消并可能处罚 |\n| `REQUIRES_AGE_VERIFICATION` | It is recommended to purchase the age verification service for the signatory |\n| `SPECIFIC_LOGISTICS_REQUIRED` | It is required to choose specific logistics to fulfill this order |\n| `REQUIRES_CUSTOMER_PICKUP` | This order can only be fulfilled via customer pickup |\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_detail_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n```\n\n可先通过 `bg.order.list.v2.get` 获取 `parentOrderSn`，再调用本接口拉取完整详情。\n\nFile v1.0.6:references/apis/bg-order-list-v2-get.md\n\n# 订单列表查询 V2 — `bg.order.list.v2.get`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_list_v2_get.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.list.v2.get`，业务载荷放在 Body 的 `params` |\n\n**Description:** The `bg.order.list.v2.get` interface is designed to support batch return of corresponding order lists based on filtering criteria（按筛选条件批量返回订单列表）。\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`。建议使用 **`tokenPurpose=order-shipping`**。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    ├── pageNumber\n    ├── pageSize\n    ├── parentOrderStatus\n    ├── parentOrderSnList[]\n    ├── createAfter / createBefore\n    ├── expectShipLatestTimeStart / expectShipLatestTimeEnd\n    ├── updateAtStart / updateAtEnd\n    ├── parentConfirmTimeStart / parentConfirmTimeEnd\n    ├── regionId\n    ├── fulfillmentTypeList[]\n    ├── parentOrderLabel[]\n    ├── packageAbnormalTypeList[]\n    ├── sortby\n    ├── hasPreSaleOrder\n    ├── hasQualificationRequiredOrder\n    └── skuId\n```\n\n### `request` 内字段\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| pageNumber | INTEGER | 否 | Page number for pagination（页码），**默认 1** |\n| pageSize | INTEGER | 否 | Page size for pagination（每页条数），**默认 10**，**最大 100** |\n| parentOrderStatus | INTEGER | 否 | Parent order status（父订单状态）；**默认查询全部** |\n| parentOrderSnList | STRING[] | 否 | List of parent order numbers（父订单号列表），**单次最多 20 条** |\n| createAfter | INTEGER | 否 | Start time for querying parent order creation, in seconds (timestamp)；**须与 `createBefore` 成对使用** |\n| createBefore | INTEGER | 否 | End time for querying parent order creation, in seconds (timestamp)，**闭区间**；**须与 `createAfter` 成对使用** |\n| expectShipLatestTimeStart | INTEGER | 否 | Start time for querying expected latest shipment, in seconds |\n| expectShipLatestTimeEnd | INTEGER | 否 | End time for querying expected latest shipment, in seconds |\n| updateAtStart | INTEGER | 否 | Start time for querying order update / status change, in seconds (timestamp)；**须与 `updateAtEnd` 成对使用** |\n| updateAtEnd | INTEGER | 否 | End time for querying order update / status change, in seconds (timestamp)，**闭区间**；**须与 `updateAtStart` 成对使用** |\n| parentConfirmTimeStart | INTEGER | 否 | 父订单确认开始时间（秒级时间戳）；**须与 `parentConfirmTimeEnd` 成对使用** |\n| parentConfirmTimeEnd | INTEGER | 否 | 父订单确认结束时间（秒级时间戳）；**须与 `parentConfirmTimeStart` 成对使用** |\n| regionId | LONG | 否 | Region ID（区域 ID），例如 USA - **211** |\n| fulfillmentTypeList | STRING[] | 否 | 订单履约类型列表，见下表 |\n| parentOrderLabel | STRING[] | 否 | PO 订单状态标签筛选，见下表 |\n| packageAbnormalTypeList | STRING[] | 否 | 发货后物流异常类型筛选，见下表 |\n| sortby | STRING | 否 | Sort by（排序字段），**默认按订单创建时间**；输出为**倒序** |\n| hasPreSaleOrder | BOOLEAN | 否 | Whether the parent order contains presale orders for inventory in transit（父订单是否含在途预售子单） |\n| hasQualificationRequiredOrder | BOOLEAN | 否 | Whether the parent order contains orders that require qualification upload（是否含需上传资质子单） |\n| skuId | LONG | 否 | SKU ID |\n\n#### `parentOrderStatus`（入参筛选）\n\n| 值 | 说明 |\n|----|------|\n| `0` | All（全部） |\n| `1` | PENDING（待处理） |\n| `2` | UN_SHIPPING（待发货） |\n| `3` | CANCELED（已取消） |\n| `4` | SHIPPED（已发货） |\n| `5` | RECEIPTED（已签收） |\n| `41` | Partially shipped（部分发货，仅 local mall） |\n| `51` | Partially received（部分签收，仅 local mall） |\n\n#### `fulfillmentTypeList[]`\n\n| 值 | 说明 |\n|----|------|\n| `fulfillBySeller` | fulfill by seller（卖家履约） |\n| `fulfillByCooperativeWarehouse` | fulfill by Cooperative Warehouse（合作仓履约） |\n\n#### `parentOrderLabel[]`（筛选）\n\n| 值 | 说明 |\n|----|------|\n| `soon_to_be_overdue` | 即将逾期 |\n| `past_due` | 已逾期 |\n| `pending_buyer_cancellation` | 买家待取消 |\n| `pending_buyer_address_change` | 买家待改地址 |\n| `pending_risk_control_alert` | 风控预警待处理 |\n| `signature_required_on_delivery` | 签收需签名 |\n\n#### `packageAbnormalTypeList[]`（筛选）\n\n| 值 | 说明 |\n|----|------|\n| `WRONG_SHIPPING_ADDRESS` | 收货地址错误 |\n| `SUSPECTED_ERROR_PROVIDER` | 疑似承运商异常 |\n| `NO_TRACK` | 无轨迹 |\n| `TRACK_TOO_EARLY` | 轨迹过早 |\n| `OVERTIME_COLLECTION` | 揽收超时 |\n| `TRACK_COLLECT_FAIL` | 揽收失败 |\n\n#### `sortby`\n\n| 值 | 说明 |\n|----|------|\n| `createTime` | 按创建时间排序（**默认**） |\n| `updateTime` | 按更新时间排序 |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"pageNumber\": 1,\n    \"pageSize\": 20,\n    \"parentOrderStatus\": 2\n  }\n}\n```\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"request\": {\n    \"parentOrderSnList\": [\"PO-123456789\"],\n    \"createAfter\": 1700000000,\n    \"createBefore\": 1700086400,\n    \"sortby\": \"updateTime\"\n  }\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    ├── pageItems[]\n    │   ├── parentOrderMap\n    │   │   ├── parentOrderSn\n    │   │   ├── parentOrderStatus\n    │   │   ├── parentOrderTime\n    │   │   ├── expectShipLatestTime\n    │   │   ├── parentOrderPendingFinishTime\n    │   │   ├── latestDeliveryTime\n    │   │   ├── parentShippingTime\n    │   │   ├── siteId\n    │   │   ├── regionId\n    │   │   ├── parentOrderLabel[]\n    │   │   │   ├── name\n    │   │   │   └── value\n    │   │   ├── fulfillmentWarning[]\n    │   │   ├── hasShippingFee\n    │   │   ├── updateTime\n    │   │   ├── orderPaymentType\n    │   │   ├── batchOrderNumberList[]\n    │   │   ├── shippingMethod\n    │   │   ├── isShipmentConsolidatedByMainMall\n    │   │   └── parentConfirmTime\n    │   └── orderList[]\n    │       ├── orderSn\n    │       ├── quantity\n    │       ├── canceledQuantityBeforeShipment\n    │       ├── originalOrderQuantity\n    │       ├── goodsId\n    │       ├── skuId\n    │       ├── spec\n    │       ├── originalSpecName\n    │       ├── thumbUrl\n    │       ├── goodsName\n    │       ├── originalGoodsName\n    │       ├── orderStatus\n    │       ├── productList[]\n    │       │   ├── productId\n    │       │   ├── productSkuId\n    │       │   ├── soldFactor\n    │       │   └── extCode\n    │       ├── packageAbnormalTypeList[]\n    │       ├── orderLabel[]\n    │       │   ├── name\n    │       │   └── value\n    │       ├── fulfillmentWarning[]\n    │       ├── fulfillmentType\n    │       ├── inventoryDeductionWarehouseId\n    │       ├── inventoryDeductionWarehouseName\n    │       ├── orderPaymentType\n    │       ├── isCancelledDuringPending\n    │       ├── earliestTimeBuyShippingLabel\n    │       ├── earliestTimeGetShippingDocument\n    │       ├── orderShippingTime\n    │       ├── isShipmentConsolidatedByMainMall\n    │       ├── orderCreateTime\n    │       └── qualificationUploadEndTime\n    └── totalItemNum\n```\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success（当前请求是否成功） |\n| errorCode | INTEGER | error code（错误码） |\n| errorMsg | STRING | error message（错误信息） |\n| result | OBJECT | 业务结果 |\n\n### `result`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| pageItems | OBJECT[] | Page items（分页订单条目） |\n| totalItemNum | INTEGER | Total number of matching records（匹配记录总数） |\n\n### `result.pageItems[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderMap | OBJECT | Parent order information（父订单信息） |\n| orderList | OBJECT[] | Order information（子订单列表） |\n\n### `parentOrderMap`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderSn | STRING | Parent order number（父订单号） |\n| parentOrderStatus | INTEGER | Status of the parent order，见下表（**出参枚举**） |\n| parentOrderTime | INTEGER | Time when the parent order was placed（下单时间，秒） |\n| expectShipLatestTime | INTEGER | Latest shipment time（最晚发货时间，秒） |\n| parentOrderPendingFinishTime | INTEGER | Time when the parent order finish pending（待处理完成时间，秒） |\n| latestDeliveryTime | INTEGER | Latest delivery time（最晚送达时间，秒） |\n| parentShippingTime | INTEGER | Time when the parent order was shipped（父订单发货时间，秒） |\n| siteId | LONG | Site ID |\n| regionId | LONG | Region ID，例如 USA - **211** |\n| parentOrderLabel | OBJECT[] | List of PO order status labels（父订单标签列表） |\n| fulfillmentWarning | STRING[] | Fulfillment Prompt（履约提示），见下表 |\n| hasShippingFee | BOOLEAN | 用户实付运费是否为零：`true` 为零，`false` 非零（**仅 local mall**） |\n| updateTime | LONG | Order update time, in seconds（订单更新时间，秒） |\n| orderPaymentType | STRING | Order payment type：`COD`、`PPD` |\n| batchOrderNumberList | STRING[] | 批次单号列表；**仅合作仓履约**有值，否则为空 |\n| shippingMethod | INTEGER | delivery channel type：`1` Standard Shipping，`2` Store Delivery，`3` Customer Pickup |\n| isShipmentConsolidatedByMainMall | BOOLEAN | 为 `true` 表示主站已合并发货，需在主站侧确认发货/面单 |\n| parentConfirmTime | INTEGER | Confirmation time of parent order, in seconds (timestamp) |\n\n#### `parentOrderStatus`（出参）\n\n| 值 | 说明 |\n|----|------|\n| `1` | PENDING |\n| `2` | UN_SHIPPING |\n| `3` | CANCELED |\n| `4` | SHIPPED |\n| `41` | PARTIALLY_SHIPPED |\n| `5` | DELIVERED |\n| `51` | PARTIALLY_DELIVERED |\n\n#### `parentOrderMap.parentOrderLabel[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| name | STRING | Label name（标签名） |\n| value | INTEGER | Whether the label exists：`0` 无标签，`1` 有标签 |\n\n#### `parentOrderMap.fulfillmentWarning[]`（父订单）\n\n| 值 | 说明 |\n|----|------|\n| `SUGGEST_SIGNATURE_ON_DELIVERY` | 建议购买签收服务 |\n| `CONFIRMED_CHANGED_ADDRESS` | 地址已变更并确认，建议重新拉单获取最新地址 |\n| `RESTRICT_FEDEX_SELF_SHIPPING` | 限制使用 FedEx 运单号确认发货 |\n| `RESTRICT_USPS_SELF_SHIPPING` | 限制使用 USPS 运单号确认发货 |\n| `RESTRICT_SELF_SHIPPING` | 限制使用运单号确认发货 |\n| `BLOCK_LOGISTICS_PROVIDERS_{Name1,Name2,...}` | 买家屏蔽部分物流商（名称在响应中展开） |\n| `REQUIRES_CUSTOMER_PICKUP` | 仅支持买家自提履约 |\n\n### `orderList[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| orderSn | STRING | Order number (sub-order number)（子订单号） |\n| quantity | INTEGER | 卖家需履约数量：`quantity = originalOrderQuantity - canceledQuantityBeforeShipment` |\n| canceledQuantityBeforeShipment | INTEGER | 发货前取消数量 |\n| originalOrderQuantity | INTEGER | 原始下单数量 |\n| goodsId | LONG | Goods ID |\n| skuId | LONG | Sku id；**仅 LOCAL 卖家有效，非 SEMI** |\n| spec | STRING | Product specification description for customer（买家可见规格描述） |\n| originalSpecName | STRING | Product specification for seller；**确认时间在近 6 个月内**的订单建议填写 |\n| thumbUrl | STRING | Thumbnail image URL |\n| goodsName | STRING | Product name for customer |\n| originalGoodsName | STRING | Product name for seller；**确认时间在近 6 个月内**的订单建议填写 |\n| orderStatus | INTEGER | Status of the order：`1` PENDING；`2` UN_SHIPPING；`3` CANCELED；`4` SHIPPED；`41` PARTIALLY_SHIPPED；`5` DELIVERED；`51` PARTIALLY_DELIVERED |\n| productList | OBJECT[] | Product SKU info；**仅 SEMI 卖家有效，非 LOCAL** |\n| packageAbnormalTypeList | STRING[] | 发货后物流异常类型，见下表（含 `SIGNED_BUT_UNRECEIVED_TASK`） |\n| orderLabel | OBJECT[] | The label of order（子订单标签） |\n| fulfillmentWarning | STRING[] | Fulfillment Prompt（子订单履约提示），见下表 |\n| fulfillmentType | STRING | `fulfillBySeller` / `fulfillByCooperativeWarehouse` |\n| inventoryDeductionWarehouseId | STRING | The id of inventory deduction warehouse |\n| inventoryDeductionWarehouseName | STRING | The name of inventory deduction warehouse |\n| orderPaymentType | STRING | `COD`、`PPD` |\n| isCancelledDuringPending | BOOLEAN | Whether the order is completely cancelled during the pending period |\n| earliestTimeBuyShippingLabel | INTEGER | Order can only buy shipping label after this time |\n| earliestTimeGetShippingDocument | INTEGER | Order can only get shipping document after this time |\n| orderShippingTime | INTEGER | Time when the order was shipped；含未发货/延迟包裹时可能为 `null` |\n| isShipmentConsolidatedByMainMall | BOOLEAN | 主站合并发货标记，同 `parentOrderMap` |\n| orderCreateTime | INTEGER | The time when the order was created |\n| qualificationUploadEndTime | LONG | Deadline for uploading order qualification documents |\n\n#### `productList[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| productId | LONG | productId |\n| productSkuId | LONG | SKU ID of the product variation |\n| soldFactor | LONG | 商品数量与件数换算因子 |\n| extCode | STRING | Item code |\n\n#### `orderList[].packageAbnormalTypeList[]`（出参，比入参多一项）\n\n| 值 | 说明 |\n|----|------|\n| `WRONG_SHIPPING_ADDRESS` | 收货地址错误 |\n| `SUSPECTED_ERROR_PROVIDER` | 疑似承运商异常 |\n| `NO_TRACK` | 无轨迹 |\n| `TRACK_TOO_EARLY` | 轨迹过早 |\n| `OVERTIME_COLLECTION` | 揽收超时 |\n| `TRACK_COLLECT_FAIL` | 揽收失败 |\n| `SIGNED_BUT_UNRECEIVED_TASK` | 已签收但未收货任务 |\n\n#### `orderList[].orderLabel[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| name | STRING | Label name，如 `customized_products`、`pre_sale_order`、`made_to_order` 等 |\n| value | INTEGER | `0` 无标签，`1` 有标签；BBC 订单需结合 `is_US_to_CA_BBC` 判断 |\n\n#### `orderList[].fulfillmentWarning[]`\n\n| 值 | 说明 |\n|----|------|\n| `SAVE_SN_INFORMATION_FOR_RETURN` | 建议保存 SN 便于退货鉴真 |\n| `REQUIRES_AUTHENTICATION_REPORT_SUBMISSION` | 须在卖家中心提交鉴定报告，超时自动取消并可能处罚 |\n| `REQUIRES_AGE_VERIFICATION` | 建议购买签收人年龄验证服务 |\n| `SPECIFIC_LOGISTICS_REQUIRED` | 须选择指定物流履约 |\n| `REQUIRES_CUSTOMER_PICKUP` | 仅支持买家自提 |\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_list_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"pageNumber\": 1,\n    \"pageSize\": 20,\n    \"parentOrderStatus\": 2\n  }\n}'\n```\n\nFile v1.0.6:references/apis/bg-order-shippinginfo-v2-get.md\n\n# 订单收货地址查询 V2 — `bg.order.shippinginfo.v2.get`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_shippinginfo_v2_get.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.shippinginfo.v2.get`，业务载荷放在 Body 的 `params` |\n\n**Description:** The `bg.order.shippinginfo.v2.get` interface is designed to retrieve shipping address information for a specific order. This functionality is crucial for merchants and logistics providers to ensure that orders are shipped to the correct location.\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`。建议使用 **`tokenPurpose=order-shipping`**。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    └── parentOrderSn (STRING, 否)\n```\n\n### `request`\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| parentOrderSn | STRING | 否 | parentOrderSn（父订单号）；查询指定订单收货地址时**应传入** |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    ├── receiptName\n    ├── receiptAdditionalName\n    ├── mobile\n    ├── backupMobile\n    ├── mail\n    ├── regionName1\n    ├── regionName2\n    ├── regionName3\n    ├── regionName4\n    ├── addressLine1\n    ├── addressLine2\n    ├── addressLine3\n    ├── postCode\n    ├── addressLineAll\n    ├── addressExtra\n    │   ├── firstName\n    │   ├── lastName\n    │   ├── additionalFirstName\n    │   └── additionalLastName\n    └── warning\n        ├── isRestriction\n        └── reason\n```\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success |\n| errorCode | INTEGER | error code |\n| errorMsg | STRING | error message |\n| result | OBJECT | 收货地址等业务结果 |\n\n### `result`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| receiptName | STRING | Name（收件人姓名） |\n| receiptAdditionalName | STRING | Additional Name（附加姓名） |\n| mobile | STRING | Phone Number（手机号） |\n| backupMobile | STRING | Alternate Phone（备用电话） |\n| mail | STRING | Virtual Email（虚拟邮箱） |\n| regionName1 | STRING | First-Level Administrative Division Name（一级行政区名称） |\n| regionName2 | STRING | Secondary Administrative Division Name（二级行政区名称） |\n| regionName3 | STRING | Third-Level Administrative Division Name（三级行政区名称） |\n| regionName4 | STRING | Fourth-Level Administrative Division Name（四级行政区名称） |\n| addressLine1 | STRING | Address Line 1（地址行 1） |\n| addressLine2 | STRING | Address Line 2（地址行 2） |\n| addressLine3 | STRING | Address Line 3（地址行 3） |\n| postCode | STRING | Postal Code（邮编） |\n| addressLineAll | STRING | Address Line 1 + Line 2 + Line 3（拼接完整地址行） |\n| addressExtra | OBJECT | addressExtra（姓名拆分等扩展信息） |\n| warning | OBJECT | warning information（地址/履约限制提示） |\n\n### `addressExtra`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| firstName | STRING | First Name |\n| lastName | STRING | Last Name |\n| additionalFirstName | STRING | Additional First Name |\n| additionalLastName | STRING | Additional Last Name |\n\n### `warning`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| isRestriction | BOOLEAN | isRestriction（是否存在地址返回限制） |\n| reason | INTEGER | When there is an address return restriction, it indicates the restriction scenario |\n\n#### `warning.reason` 枚举\n\n| 值 | 说明 |\n|----|------|\n| `1` | COD |\n| `2` | Restricting self shipment（限制自发货） |\n| `3` | Promise only buy shipping（仅承诺购买平台物流） |\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_shippinginfo_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n```\n\n发货前典型流程：`bg.order.list.v2.get` / `bg.order.detail.v2.get` 取得 `parentOrderSn` → 本接口拉收货地址 → 后续发货/面单接口（待接入）。\n\nArchive v1.0.5: 40 files, 65656 bytes\n\nFiles: references/access-token.md (4604b), references/api.md (4821b), references/apis/bg-order-amount-query.md (6397b), references/apis/bg-order-combinedshipment-list-get.md (4078b), references/apis/bg-order-customization-get.md (7041b), references/apis/bg-order-decryptshippinginfo-get.md (4423b), references/apis/bg-order-detail-v2-get.md (13078b), references/apis/bg-order-list-v2-get.md (15766b), references/apis/bg-order-shippinginfo-v2-get.md (4596b), references/apis/README.md (1580b), references/apis/temu-local-order-verification-upload.md (5037b), references/authorization-flow.md (1186b), references/onboarding.md (2046b), references/partner-us-catalog.md (4031b), scripts/_temu_auth_guide.py (6198b), scripts/_temu_common.py (12432b), scripts/_temu_token_store.py (4273b), scripts/_temu_us_common.py (3167b), scripts/_us_order_script.py (512b), scripts/check_linkfox_token.py (1797b), scripts/get_temu_access_token.py (1843b), scripts/list_temu_access_tokens.py (652b), scripts/onboarding.py (24089b), scripts/save_temu_access_token.py (1377b), scripts/temu_file_download.py (1681b), scripts/temu_proxy.py (2124b), scripts/temu_token_guide.py (1594b), scripts/temu_us_file_download.py (689b), scripts/temu_us_proxy.py (933b), scripts/us_order_amount_query.py (257b), scripts/us_order_combinedshipment_list_get.py (282b), scripts/us_order_customization_get.py (264b), scripts/us_order_decryptshippinginfo_get.py (282b), scripts/us_order_detail_v2_get.py (237b), scripts/us_order_list_v2_get.py (231b), scripts/us_order_shippinginfo_v2_get.py (261b), scripts/us_order_verification_upload.py (292b), skill-card.md (3064b), SKILL.md (8628b), _meta.json (140b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: linkfox-temu-order-us\ndescription: Temu 美国站订单管理 API，经 LinkFox 网关转发 Partner US 订单接口：订单列表/详情/收货地址/金额/合并发货/定制/SN鉴真上传(bg.order.*、temu.local.order.verification.upload)、发货、物流等。当用户提到 Temu US 订单、上传SN、IMEI、二手鉴真、verification upload、定制商品、合并发货、订单金额、parentOrderSn、order-shipping 时触发。商品管理用 linkfox-temu-manage-product-us；发品用 linkfox-temu-add-product-us；价格用 linkfox-temu-price-us。\n---\n\n# Temu 美国站订单管理 API（Manage Order）\n\n本 skill（`linkfox-temu-order-us`）覆盖 Partner Platform for US **订单管理**相关 `bg.order.*` / `temu.local.order.*` 接口（`menu_code` 与各 `sub_menu_code` 以 Partner 后台为准，见 [partner-us-catalog.md](./references/partner-us-catalog.md)）。欧洲站请用 **`linkfox-temu-order-eu`**；全球站（非 US/EU）请用 **`linkfox-temu-order-global`**。\n\n> 当前已接入 **8** 个接口；其余订单接口将按 Partner 文档逐条补充到 `references/apis/` 与 `us_order_*.py`。\n\n**网关（本 skill 内置）**：\n\n| 能力 | 方法 | 路径 |\n|------|------|------|\n| 订单 OpenAPI（`us_order_*`、`temu_us_proxy`） | POST | `https://tool-gateway.linkfox.com/temu/proxy` |\n| 加签文件下载 | POST | `https://tool-gateway.linkfox.com/temu/fileDownload` |\n\n## 相关 skill\n\n| 场景 | skill |\n|------|--------|\n| 商品列表/详情/编辑/库存/上下架 | `linkfox-temu-manage-product-us` |\n| 发品、类目、V2 add | `linkfox-temu-add-product-us` |\n| 价格/供货价、定价单 | `linkfox-temu-price-us` |\n| 取消订单（买家+卖家） | `linkfox-temu-cancel-order-us` |\n| 退货与退款 | `linkfox-temu-returns-refunds-us` |\n| 履约/发货（含自发货） | `linkfox-temu-fulfillment-us` |\n| 网关与 Temu token | 本 skill `scripts/` |\n\n## 调用方式\n\n- **API 端点**：`POST /temu/proxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/<脚本名>.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/<skill-name>-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\n\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\n\n\n| 文档 | 内容 |\n|------|------|\n| [api.md](./references/api.md) | 网关、鉴权、错误码、扩展流程 |\n| [partner-us-catalog.md](./references/partner-us-catalog.md) | 接口目录 + Partner URL + 脚本（随接入更新） |\n| [apis/README.md](./references/apis/README.md) | **按接口分文件**（`apis/<type-slug>.md`） |\n\n## 解决认证和积分问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示积分或余额不足**：消息含\"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## 默认参数\n\n| 字段 | 默认 | 说明 |\n|------|------|------|\n| site | `us` | Partner US |\n| managementType | `semi-managed` | 半托管 |\n| tokenPurpose | `order-shipping` | 订单/发货场景 token（见 [access-token.md](./references/access-token.md)） |\n\n## 鉴权\n\n1. **LinkFox**：`LINKFOXAGENT_API_KEY` → Header `Authorization` + `Token`\n2. **Temu**：`accessToken` 或 `storeKey`（`storeKey` 时建议带 `tokenPurpose=order-shipping`）\n\n## Scripts（按 type）\n\n| 脚本 | type | 状态 |\n|------|------|------|\n| `us_order_list_v2_get.py` | `bg.order.list.v2.get` | 已接入 |\n| `us_order_detail_v2_get.py` | `bg.order.detail.v2.get` | 已接入 |\n| `us_order_shippinginfo_v2_get.py` | `bg.order.shippinginfo.v2.get` | 已接入 |\n| `us_order_decryptshippinginfo_get.py` | `bg.order.decryptshippinginfo.get` | 已接入 |\n| `us_order_amount_query.py` | `bg.order.amount.query` | 已接入 |\n| `us_order_combinedshipment_list_get.py` | `bg.order.combinedshipment.list.get` | 已接入 |\n| `us_order_customization_get.py` | `bg.order.customization.get` | 已接入 |\n| `us_order_verification_upload.py` | `temu.local.order.verification.upload` | 已接入 |\n| `temu_us_proxy.py` | 任意 `type` | 通用 |\n| `temu_us_file_download.py` | 加签文件下载 | 通用 |\n\n## 接入新接口（约定）\n\n你每提供一条 Partner 文档（`type` + 参数表 + 可选 `sub_menu_code`），将：\n\n1. 新增 `references/apis/<type-slug>.md`（完整入参/出参层级）\n2. 新增 `scripts/us_order_<slug>.py`（调用 `_us_order_script.run_cli`）\n3. 更新 [partner-us-catalog.md](./references/partner-us-catalog.md)、[apis/README.md](./references/apis/README.md) 与本表\n\n## 示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<key>\"\n\n# 订单列表 V2（待发货 parentOrderStatus=2）\npython scripts/us_order_list_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"pageNumber\": 1,\n    \"pageSize\": 20,\n    \"parentOrderStatus\": 2\n  }\n}'\n\n# 按父订单号查询（最多 20 个）\npython scripts/us_order_list_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"request\": {\n    \"parentOrderSnList\": [\"PO-123456789\"]\n  }\n}'\n\n# 订单详情 V2（须 parentOrderSn）\npython scripts/us_order_detail_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 收货地址 V2（传 parentOrderSn）\npython scripts/us_order_shippinginfo_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 敏感收货地址解密（传 parentOrderSn）\npython scripts/us_order_decryptshippinginfo_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 订单金额/供货价（ERP 对账，传 parentOrderSn）\npython scripts/us_order_amount_query.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 可合并发货订单组（request 可为空对象）\npython scripts/us_order_combinedshipment_list_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {}\n}'\n\n# 定制商品内容（子订单号 orderSn，单次最多 10 个）\npython scripts/us_order_customization_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"orderSnList\": [\"SO-123456789\", \"SO-987654321\"]\n  }\n}'\n\n# 上传 SN/IMEI 或二手鉴真（orderList[].orderSn）\npython scripts/us_order_verification_upload.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"orderList\": [\n      {\n        \"orderSn\": \"SO-123456789\",\n        \"verificationInfo\": [\n          {\n            \"serialNumber\": \"SN-001234567890\",\n            \"imeiNumberList\": [\"352099001761481\"]\n          }\n        ]\n      }\n    ]\n  }\n}'\n```\n\n**Feedback：** `skillName`：`linkfox-temu-order-us`\n\n## 网关与授权脚本\n\n| 脚本 | 说明 |\n|------|------|\n| `check_linkfox_token.py` | 校验 LinkFox 用户 Token |\n| `temu_token_guide.py` | Temu accessToken 后台授权步骤 |\n| `save_temu_access_token.py` | 保存 accessToken 到本地 |\n| `list_temu_access_tokens.py` | 列出已保存 token |\n| `get_temu_access_token.py` | 读取已保存 token |\n| `temu_proxy.py` | 通用网关转发（多 site） |\n| `temu_file_download.py` | 加签文件下载（多 site） |\n\n授权说明：[references/access-token.md](./references/access-token.md)\n\n## 积分消耗规则\n\n不消耗积分。\n\nFile v1.0.5:references/apis/README.md\n\n# Order — 接口文档索引\n\n每个 `type` 单独一份文档，经 `POST /temu/proxy` 调用。网关与鉴权见 [../api.md](../api.md)；目录与 `sub_menu_code` 见 [../partner-us-catalog.md](../partner-us-catalog.md)。\n\n## 查询（4）\n\n| type | 文档 |\n|------|------|\n| `bg.order.list.v2.get` | [bg-order-list-v2-get.md](./bg-order-list-v2-get.md) |\n| `bg.order.detail.v2.get` | [bg-order-detail-v2-get.md](./bg-order-detail-v2-get.md) |\n| `bg.order.shippinginfo.v2.get` | [bg-order-shippinginfo-v2-get.md](./bg-order-shippinginfo-v2-get.md) |\n| `bg.order.decryptshippinginfo.get` | [bg-order-decryptshippinginfo-get.md](./bg-order-decryptshippinginfo-get.md) |\n\n## 金额 / ERP（1）\n\n| type | 文档 |\n|------|------|\n| `bg.order.amount.query` | [bg-order-amount-query.md](./bg-order-amount-query.md) |\n\n## 发货 / 物流（1）\n\n| type | 文档 |\n|------|------|\n| `bg.order.combinedshipment.list.get` | [bg-order-combinedshipment-list-get.md](./bg-order-combinedshipment-list-get.md) |\n\n## 定制商品（1）\n\n| type | 文档 |\n|------|------|\n| `bg.order.customization.get` | [bg-order-customization-get.md](./bg-order-customization-get.md) |\n\n## 核验 / 鉴真上传（1）\n\n| type | 文档 |\n|------|------|\n| `temu.local.order.verification.upload` | [temu-local-order-verification-upload.md](./temu-local-order-verification-upload.md) |\n\n## 发货 / 物流（待补充）\n\n| type | 文档 |\n|------|------|\n| _待用户提供 Partner 文档_ | — |\n\n## 其他（待补充）\n\n| type | 文档 |\n|------|------|\n| _待用户提供 Partner 文档_ | — |\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-temu-order-us\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1786101613793\n}\n\nFile v1.0.5:references/access-token.md\n\n# Temu accessToken 授权与获取\n\nTemu **没有** LinkFox 侧自动 OAuth；`accessToken` 须在 Temu 卖家后台「服务市场 → 授权管理」**手动复制**。与 `LINKFOXAGENT_API_KEY`（LinkFox 用户鉴权）是两套令牌。（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\n\n## 两种鉴权（勿混淆）\n\n| 令牌 | 用途 | 获取方式 |\n|------|------|----------|\n| **LinkFox 用户 Token** | 调用 `/temu/proxy`、`/temu/fileDownload` **必填** | `LINKFOXAGENT_API_KEY` 或请求 JSON 的 `token`；Header `Authorization` + `Token`（同 amazon-store-auth）（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理） |\n| **Temu accessToken** | Temu 业务 API（经紫鸟转发） | Temu 卖家后台授权后复制 |\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/check_linkfox_token.py\n```\n\n## tokenPurpose 与场景\n\n| tokenPurpose | 店铺类型 | 推荐 site | 授权应用 |\n|--------------|----------|-----------|----------|\n| `product-inventory` | 半托管 | `cn` / `partner` | 酷鸟卖家助手 |\n| `order-shipping` | 半托管 | `us` / `global` / `eu` | Cyber-ERP酷鸟助手 |\n| `full-managed` | 全托管 | `cn` / `partner` | 酷鸟卖家助手 |\n| `local-native` | 本土（美/欧主体） | `us` 等 | Cyber-ERP |\n\n## 1. 半托管 — 商品/库存 Token\n\n1. 登录 [seller.kuajingmaihuo.com](https://seller.kuajingmaihuo.com) 或 [agentseller.temu.com](https://agentseller.temu.com)\n2. **系统管理** → **服务市场** → **授权管理**\n3. **获取授权** → 选择 **「酷鸟卖家助手」**\n4. 全选常规和特殊授权 → 确认 → **复制 access_token**\n5. 调用 API：`site=cn` 或 `partner`，`managementType=semi-managed`\n\n## 2. 半托管 — 订单/发货 Token\n\n1. 登录 Temu 卖家后台\n2. 右上角 **Seller Central** → 切换到目标区域（美区 / 欧区 / 全球）\n3. **服务市场** → **授权管理**\n4. **获取授权** → 选择 **「Cyber-ERP酷鸟助手」**\n5. 全选授权 → 确认 → 复制 token\n6. 调用 API：`site=us` / `global` / `eu`，`managementType=semi-managed`\n\n## 3. 全托管店铺\n\n1. 登录 Temu 平台\n2. **系统管理** → **服务市场** → **授权管理**\n3. **获取授权** → **「酷鸟卖家助手」** → 全选 → 复制 token\n4. 调用 API：`managementType=full-managed`，`site` 通常 `cn` 或 `partner`\n\n## 4. 本土店铺（美区、欧区主体）\n\n1. 登录 Temu\n2. **Apps And Services** → **Manage Your Apps**\n3. **Authorize a new app** → 搜索 **「Cyber-ERP」**\n4. 一般权限与敏感权限全选 → 确认 → 复制 token\n\n## 站点与 OpenAPI 网关\n\n| site | 说明 | Temu 网关 |\n|------|------|-----------|\n| cn | 中国站 | openapi.kuajingmaihuo.com |\n| partner | Partner 网关 | openapi-b-partner.temu.com |\n| us | 美国站 | openapi-b-us.temu.com |\n| global | 全球区 | openapi-b-global.temu.com |\n| eu | 欧洲站 | openapi-b-eu.temu.com |\n\n## 本地保存 Token（推荐）\n\n默认存储：`~/.linkfox/temu-access-tokens.json`（可用 `TEMU_TOKEN_STORE_PATH` 覆盖）。\n\n```bash\n# 查看授权步骤\npython scripts/temu_token_guide.py '{\"shopType\":\"semi-managed\",\"tokenPurpose\":\"product-inventory\",\"site\":\"cn\"}'\n\n# 保存 token\npython scripts/save_temu_access_token.py '{\n  \"storeKey\": \"my-shop\",\n  \"label\": \"中国半托管\",\n  \"site\": \"cn\",\n  \"managementType\": \"semi-managed\",\n  \"tokenPurpose\": \"product-inventory\",\n  \"accessToken\": \"PASTE_TOKEN\"\n}'\n\n# 列出已保存（脱敏）\npython scripts/list_temu_access_tokens.py\n\n# 用 storeKey 调 API（无需每次粘贴 token）\npython scripts/temu_proxy.py '{\n  \"storeKey\": \"my-shop\",\n  \"site\": \"cn\",\n  \"managementType\": \"semi-managed\",\n  \"tokenPurpose\": \"product-inventory\",\n  \"type\": \"bg.goods.category.mapping\",\n  \"params\": {\"goodsName\": \"测试\", \"goodsNameEn\": \"Test\"}\n}'\n```\n\n## 注意事项\n\n1. **子账号**：可能无法进入服务市场，需主账号授权。\n2. **多站点**：美国站、英国站等需分别登录对应后台获取 Token。\n3. **有效期**：Token 会过期，过期后重新在后台复制并 `save_temu_access_token.py`。\n4. **IP 白名单**：需联系紫鸟开放平台配置调用 IP。\n5. **参数小写**：`site`、`managementType` 必须小写。\n\n## 脚本一览\n\n| 脚本 | 说明 |\n|------|------|\n| `temu_token_guide.py` | 按店铺类型/用途输出授权步骤 |\n| `save_temu_access_token.py` | 保存 accessToken 到本地 |\n| `list_temu_access_tokens.py` | 列出已保存 token（默认脱敏）|\n| `get_temu_access_token.py` | 读取指定 store 的 token |\n\nFile v1.0.5:references/api.md\n\n# linkfox-temu-order-us — API 参考\r\n\r\nTemu **美国站订单管理**（Partner US **Order / 订单发货** 相关接口），经本 skill `temu_us_proxy`（`POST /temu/proxy`） 转发。Temu 的 `type` 写在 Body，**不是** URL 路径。\r\n\r\n> 网关与鉴权：本 skill `scripts/`（`LINKFOXAGENT_API_KEY`、`accessToken` / `storeKey`）。订单场景 token 见 `references/access-token.md`（`tokenPurpose=order-shipping`）。（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\r\n\r\n---\r\n\r\n## 调用规范\r\n\r\n| 项 | 说明 |\r\n|----|------|\r\n| 网关根地址 | `${LINKFOX_TOOL_GATEWAY}`（可用 `TEMU_API_BASE_URL` / `STORE_API_BASE_URL` 覆盖） |\r\n| 订单 OpenAPI | `POST /temu/proxy` |\r\n| 加签文件下载 | `POST /temu/fileDownload`（`temu_us_file_download.py`） |\r\n| LinkFox 鉴权 | Header **`Authorization`** 与 **`Token`**（同值）；或 `LINKFOX_AGENT_API_KEY` / `LINKFOXAGENT_API_KEY`；或 JSON `token`（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理） |\r\n| Temu 鉴权 | Body `accessToken`，或 `storeKey` + `site` + `managementType` + `tokenPurpose` |\r\n| 默认 | `site=us`，`managementType=semi-managed`，`tokenPurpose=order-shipping` |\r\n| 上游 OpenAPI（US） | `https://openapi-b-us.temu.com/openapi/router`（网关按 `site` 解析） |\r\n\r\n### 网关请求 Body（`/temu/proxy`）\r\n\r\n| 参数 | 类型 | 必填 | 说明 |\r\n|------|------|------|------|\r\n| site | string | 是 | `us`（本 skill 默认） |\r\n| managementType | string | 是 | `semi-managed` |\r\n| accessToken | string | 与 storeKey 二选一 | Temu 店铺令牌 |\r\n| storeKey | string | 与 accessToken 二选一 | `~/.linkfox/temu-access-tokens.json` 中的键 |\r\n| tokenPurpose | string | 否 | 建议 **`order-shipping`**（订单/发货） |\r\n| type | string | 是 | Temu 接口名，如 Partner 文档中的 `bg.*` / `temu.*` |\r\n| params | object | 否 | 业务参数；多数接口业务块在 **`params.request`** |\r\n\r\n### 网关响应\r\n\r\n| 字段 | 类型 | 说明 |\r\n|------|------|------|\r\n| body | string | Temu 原始 JSON 字符串；脚本解析为 `temuBody` |\r\n| code | integer | 网关错误码：`1002` 参数/Token，`1003` 转发失败 |\r\n\r\n解析顺序：**网关 `code`** → `JSON.parse(body)` → `success` / `errorCode` / `errorMsg` / `result`。\r\n\r\n### 脚本调用\r\n\r\n```bash\r\nexport LINKFOXAGENT_API_KEY=\"<key>\"\r\npython scripts/us_order_list_v2_get.py '{\"accessToken\":\"TOKEN\",\"tokenPurpose\":\"order-shipping\",\"request\":{\"pageNumber\":1,\"pageSize\":20,\"parentOrderStatus\":2}}'\r\n```\r\n\r\n业务字段可放在顶层或嵌套 `params`；含 `request` 时通常整体作为 `params` 转发。\r\n\r\n---\r\n\r\n## 接口一览\r\n\r\n完整 `sub_menu_code` 与 Partner 文档 URL 见 [partner-us-catalog.md](./partner-us-catalog.md)。\r\n\r\n**每个接口单独一份文档**：[apis/README.md](./apis/README.md)（随接入递增）。\r\n\r\n已接入接口见 [apis/README.md](./apis/README.md)。\r\n\r\n---\r\n\r\n## 典型订单管理流程\r\n\r\n```text\r\n1. bg.order.list.v2.get（本 skill）                    → 按状态/时间/父单号分页查订单列表\r\n2. bg.order.detail.v2.get（本 skill）                  → 按 parentOrderSn 拉父单+子单完整详情\r\n3. bg.order.shippinginfo.v2.get（本 skill）            → 按 parentOrderSn 拉收货地址（含 warning）\r\n4. bg.order.decryptshippinginfo.get（本 skill）        → 按 parentOrderSn 拉**敏感/解密**收货地址\r\n5. bg.order.amount.query（本 skill）                   → 按 parentOrderSn 拉供货价/金额（ERP 对账）\r\n6. bg.order.combinedshipment.list.get（本 skill）      → 拉可合并发货的父订单组\r\n7. bg.order.customization.get（本 skill）              → 按 orderSnList（≤10）拉定制商品内容\r\n8. temu.local.order.verification.upload（本 skill）  → 上传 SN/IMEI 或二手鉴真编码\r\n9. （待补充）合并发货确认/面单等                        → 填运单、确认发货\r\n10. 取消订单（买家+卖家）                               → **`linkfox-temu-cancel-order-us`**\r\n11. 履约/发货（购标、自发货、合作仓、跟踪）         → **`linkfox-temu-fulfillment-us`**\r\n```\r\n\r\n商品信息请用 **`linkfox-temu-manage-product-us`**；发品请用 **`linkfox-temu-add-product-us`**；取消订单请用 **`linkfox-temu-cancel-order-us`**；履约/发货请用 **`linkfox-temu-fulfillment-us`**。\r\n\r\n---\r\n\r\n## 网关错误码\r\n\r\n| code | 说明 | 处理 |\r\n|------|------|------|\r\n| 1002 | 参数或 LinkFox Token 无效 | 修正参数与 `LINKFOXAGENT_API_KEY` |\r\n| 1003 | 转发失败 | 检查 Temu token、`tokenPurpose`、白名单、网络 |\r\n\r\n---\r\n\r\n## Feedback API\r\n\r\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\r\n- `skillName`: **`linkfox-temu-order-us`**\n\nFile v1.0.5:references/apis/bg-order-amount-query.md\n\n# 订单金额/供货价查询 — `bg.order.amount.query`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_amount_query.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.amount.query`，业务载荷放在 Body 的 `params` |\n\n**Description:** Provide the supply price information corresponding to the orders for the self-developed ERP（为自研 ERP 提供订单对应的供货价/金额信息）。\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`。建议使用 **`tokenPurpose=order-shipping`**。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    └── parentOrderSn (STRING, 必填)\n```\n\n### `request`\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| parentOrderSn | STRING | **是** | Parent order number（父订单号） |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    ├── parentOrderMap\n    │   ├── parentOrderSn\n    │   ├── basePriceTotal\n    │   ├── shippingAmountTotal\n    │   ├── taxTotal\n    │   ├── discountFromSeller\n    │   ├── discountFromTEMU\n    │   ├── refundsTotal\n    │   ├── estimatedRevenueDeduction\n    │   ├── estimatedRevenue\n    │   ├── retailPriceTotal\n    │   ├── customerPaid\n    │   ├── totalDiscount\n    │   └── signOnDelivery\n    ├── orderList[]\n    │   ├── orderSn\n    │   ├── basePrice\n    │   ├── unitBasePrice\n    │   ├── quantity\n    │   ├── unitRetailPrice\n    │   ├── discountFromSeller\n    │   ├── discountFromTEMU\n    │   └── shipAmountTotal\n    └── warning[]\n```\n\n> 下列带 **`currency` + `amount`** 的金额块结构相同，见 [金额块（MoneyAmount）](#金额块moneyamount)。\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success |\n| errorCode | INTEGER | error code |\n| errorMsg | STRING | error message |\n| result | OBJECT | 订单金额结果 |\n\n### `result`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderMap | OBJECT | Parent order information（父订单金额汇总） |\n| orderList | OBJECT[] | Order information（子订单金额明细） |\n| warning | STRING[] | warning message（告警信息） |\n\n### `parentOrderMap`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderSn | STRING | Parent order number（父订单号） |\n| basePriceTotal | OBJECT | Base price total（基础价/供货价合计） |\n| shippingAmountTotal | OBJECT | Shipping total（运费合计） |\n| taxTotal | OBJECT | Consumer's paid tax: Calculated on realPrice（消费者已付税费，按 realPrice 计算） |\n| discountFromSeller | OBJECT | Discount from seller（卖家折扣） |\n| discountFromTEMU | OBJECT | Discount from Temu（平台折扣） |\n| refundsTotal | OBJECT | Refunds total（退款合计） |\n| estimatedRevenueDeduction | OBJECT | Estimated revenue deduction（预估收入扣减） |\n| estimatedRevenue | OBJECT | Estimated revenue（预估收入） |\n| retailPriceTotal | OBJECT | Retail price total — Total promotional sale price of the products（零售价/促销售价合计） |\n| customerPaid | OBJECT | Total paid — payment of the order from the customer（消费者实付合计） |\n| totalDiscount | OBJECT | the amount of discount（折扣合计） |\n| signOnDelivery | OBJECT | amount of signature on delivery（签收服务费） |\n\n#### `parentOrderMap` 金额字段公式（官方说明）\n\n| 字段 | 公式 / 说明 |\n|------|-------------|\n| estimatedRevenue | `estimatedRevenue = basePriceTotal + shippingAmountTotal - estimatedRevenueDeduction + signOnDelivery` |\n| customerPaid | `customerPaid = retailPriceTotal + shippingAmountTotal + taxTotal - refundsTotal + signOnDelivery - totalDiscount` |\n| totalDiscount | `totalDiscount = discountFromTEMU + discountFromSeller` |\n| signOnDelivery | 消费者未购买该服务时返回 **NULL**；签收服务费已退款时返回 **0** |\n\n### `orderList[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| orderSn | STRING | Order number (sub-order number)（子订单号） |\n| basePrice | OBJECT | Base price（子单基础价/供货价） |\n| unitBasePrice | OBJECT | Base price subtotal — unit base price（单位基础价小计） |\n| quantity | INTEGER | The quantity of original single items in order（订单原始单品数量） |\n| unitRetailPrice | OBJECT | Unit retail price（单位零售价） |\n| discountFromSeller | OBJECT | Discount from seller for this product（该商品卖家折扣） |\n| discountFromTEMU | OBJECT | Discount from TEMU for this product（该商品平台折扣） |\n| shipAmountTotal | OBJECT | shipping cost — Total shipping fee of this product（该商品运费合计） |\n\n---\n\n## 金额块（MoneyAmount）\n\n以下字段均为 **OBJECT**，结构一致：\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| currency | STRING | currency（币种代码） |\n| amount | LONG | The minimum currency unit of the local currency（本地货币**最小单位**金额）。例如美国：**Cents（分）** |\n\n适用字段：`basePriceTotal`、`shippingAmountTotal`、`taxTotal`、`discountFromSeller`、`discountFromTEMU`、`refundsTotal`、`estimatedRevenueDeduction`、`estimatedRevenue`、`retailPriceTotal`、`customerPaid`、`totalDiscount`、`signOnDelivery`，以及 `orderList[]` 中的 `basePrice`、`unitBasePrice`、`unitRetailPrice`、`discountFromSeller`、`discountFromTEMU`、`shipAmountTotal`。\n\n> 展示为美元等主币种时，需将 `amount` 除以 100（美国站）。\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_amount_query.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n```\n\nERP 对账时可与 `bg.order.detail.v2.get` 的子单 `orderSn` 对齐查看 `orderList[]` 各行金额。\n\nFile v1.0.5:references/apis/bg-order-combinedshipment-list-get.md\n\n# 可合并发货订单组列表 — `bg.order.combinedshipment.list.get`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_combinedshipment_list_get.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.combinedshipment.list.get`，业务载荷放在 Body 的 `params` |\n\n**Description:** The `bg.order.combinedshipment.list.get` interface is designed for merchants to retrieve **combined shipping groups**, including lists of parent orders that can be combined for shipping（供商家查询**可合并发货**的订单组，每组包含可合并发货的父订单列表）。\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`（官方无额外筛选字段，可传空对象）。建议使用 **`tokenPurpose=order-shipping`**。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    └── （无子字段；可传 {} 或不传 request）\n```\n\n### `request`\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| _(无)_ | — | — | 官方入参表仅声明 `request` 对象，**无其它业务筛选字段**；调用时通常传空对象 `{}` 或省略 `request` |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {}\n}\n```\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\"\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    └── combinedShippingGroups[] (OBJECT[])\n        └── combinedShippingGroup[] (OBJECT[])\n            ├── parentOrderSn\n            ├── parentOrderStatus\n            ├── parentOrderTime\n            ├── mallId\n            └── semiUniqueId\n```\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success |\n| errorCode | INTEGER | error code |\n| errorMsg | STRING | error message |\n| result | OBJECT | 可合并发货组列表等业务结果 |\n\n### `result`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| combinedShippingGroups | OBJECT[] | Combined shipping groups（可合并发货组列表）；每组内包含可合并发货的父订单列表 |\n\n### `combinedShippingGroups[]` 元素\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| combinedShippingGroup | OBJECT[] | A list of parent orders that can be combined for shipping（本组内可合并发货的父订单列表） |\n\n### `combinedShippingGroup[]` 元素\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderSn | STRING | parent order number（父订单号） |\n| parentOrderStatus | INTEGER | Status of the parent order（父订单状态），见下表 |\n| parentOrderTime | INTEGER | Time when the parent order was placed（父订单下单时间，秒级时间戳） |\n| mallId | LONG | mallId（店铺/商城 ID） |\n| semiUniqueId | STRING | Unique identifier for semi-managed stores（半托管店铺唯一标识） |\n\n#### `parentOrderStatus`（出参）\n\n| 值 | 说明 |\n|----|------|\n| `1` | PENDING（待处理） |\n| `2` | UN_SHIPPING（待发货） |\n| `3` | CANCELED（已取消） |\n| `4` | SHIPPED（已发货） |\n| `41` | PARTIALLY_SHIPPED（部分发货，仅 local mall） |\n| `5` | DELIVERED / RECEIPTED（已签收） |\n| `51` | PARTIALLY_DELIVERED（部分签收，仅 local mall） |\n\n> 与 `bg.order.list.v2.get` 出参中 `parentOrderMap.parentOrderStatus` 含义一致；具体以 Partner 文档为准。\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_combinedshipment_list_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {}\n}'\n```\n\n典型流程：本接口拉**可合并发货**父单组 → 对组内 `parentOrderSn` 调用 `bg.order.shippinginfo.v2.get` / `bg.order.decryptshippinginfo.get` 取地址 → 后续合并发货/面单接口（待接入）。\n\nFile v1.0.5:references/apis/bg-order-customization-get.md\n\n# 订单定制商品内容批量查询 — `bg.order.customization.get`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_customization_get.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.customization.get`，业务载荷放在 Body 的 `params` |\n\n**Description:** Self developed sellers and third-party ISVs obtain **customized product content information in bulk** through Open API（自研卖家与第三方 ISV 通过 Open API **批量**获取订单的定制商品内容信息）。\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`。建议使用 **`tokenPurpose=order-shipping`**。  \n> 入参为**子订单号** `orderSn`（非 `parentOrderSn`），可从 `bg.order.list.v2.get` / `bg.order.detail.v2.get` 的 `orderList[].orderSn` 取得。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    └── orderSnList[] (STRING[], 否)\n```\n\n### `request` 内字段\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| orderSnList | STRING[] | 否 | orderSnList（子订单号列表）；**单次最多查询 10 个订单** |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"orderSnList\": [\"SO-001\", \"SO-002\"]\n  }\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result[] (OBJECT[])\n    ├── orderSn\n    ├── customizedType\n    ├── customizedData          ← 仅 customizedType=2 时返回\n    ├── previewList[]           ← 仅 customizedType=2 时返回\n    │   ├── previewType\n    │   ├── imageUrl\n    │   ├── customizedText\n    │   └── customizedAreaId\n    ├── templateId\n    ├── templateType\n    ├── customizedText          ← 仅 customizedType=1 时返回（result 层级）\n    └── customizedSvgList[]\n        └── compressedFileUrl\n```\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success |\n| errorCode | INTEGER | error code |\n| errorMsg | STRING | error message |\n| result | OBJECT[] | 各子订单的定制内容列表（与请求的 `orderSnList` 对应） |\n\n### `result[]` 元素\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| orderSn | STRING | OrderSn corresponding to customized information（对应该定制信息的子订单号） |\n| customizedType | INTEGER | Customized type（定制类型），见下表 |\n| customizedData | STRING | Graphic customization content, in **json format**（图文定制内容，JSON 字符串）；**仅当 `customizedType=2` 时返回** |\n| previewList | OBJECT[] | Graphic customization preview information（图文定制预览信息）；**仅当 `customizedType=2` 时返回** |\n| templateId | LONG | Customization template ID when user created customized information（用户创建定制信息时的模板 ID）；商品无模板时为 `null` |\n| templateType | INTEGER | Customization template type when user created customized information（定制模板类型）；商品无模板时为 `null`，见下表 |\n| customizedText | STRING | Customization text（纯文本定制内容）；**仅当 `customizedType=1` 时返回**（位于 `result[]` 元素顶层，与 `previewList[].customizedText` 不同） |\n| customizedSvgList | OBJECT[] | Customized information list in **SVG format**（SVG 格式定制信息列表） |\n\n#### `customizedType`\n\n| 值 | 说明 |\n|----|------|\n| `1` | pure text customization, no customized templates（纯文本定制，无定制模板） |\n| `2` | customized graphics and text, with customized templates available（图文定制，有定制模板） |\n\n#### `templateType`\n\n| 值 | 说明 |\n|----|------|\n| `1` | only image（仅图片） |\n| `2` | only text（仅文字） |\n| `3` | text and image（文字 + 图片） |\n\n> 商品无定制模板时，`templateId` / `templateType` 为 `null`。\n\n### `previewList[]` 元素\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| previewType | INTEGER | type of preview item（预览项类型），见下表 |\n| imageUrl | STRING | Image URL（图片 URL） |\n| customizedText | STRING | Customized Text（预览项中的定制文字） |\n| customizedAreaId | STRING | Customized Area ID（定制区域 ID）；**仅当 `templateType=3` 且 `previewType=3` 或 `4` 时返回** |\n\n#### `previewType`\n\n| 值 | 说明 |\n|----|------|\n| `1` | overall preview image（整体预览图；若商品未配置定制区域，则为商家上传的效果图） |\n| `3` | user uploaded image（用户上传图片） |\n| `4` | customized text（定制文字） |\n\n### `customizedSvgList[]` 元素\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| compressedFileUrl | STRING | Image URL and Compression file URL（图片/压缩包下载 URL）；调用方需 **GET** 该 URL 拉取文件；**创建后 10 分钟内有效**，过期需重新调本接口获取新 URL |\n\n#### 下载 `compressedFileUrl` 的 TOA 请求头\n\n对 `compressedFileUrl` 发起 **GET** 时，需在 Header 携带以下公共参数（与 Partner 文档一致）：\n\n| Header | 说明 |\n|--------|------|\n| `toa-app-key` | `${app_key}` |\n| `toa-access-token` | `${access_token}` |\n| `toa-random` | 32 位随机数字符串 |\n| `toa-timestamp` | 时间戳 |\n| `toa-sign` | 签名（见下） |\n\n**`toa-sign` 计算逻辑：**\n\n1. 将 Header 中参与签名的参数按参数名 **ASCII 升序**排序：`toa-app-key`、`toa-access-token`、`toa-random`、`toa-timestamp`\n2. 按 `参数名 + 参数值` 依次拼接（中间**无**分隔符），得到长字符串\n3. 在拼接结果**首尾**各拼接一次 `app_secret`，得到签名字符串\n4. 对签名字符串做 **MD5**，再将密文转为**大写**，即为 `toa-sign`\n\n> 实际 `app_key` / `access_token` / `app_secret` 以店铺授权与 Partner 应用配置为准；经 LinkFox 网关调用本 `type` 时，业务 JSON 仍走 `POST /temu/proxy`，**文件下载**为对上述 URL 的独立 GET + TOA 头。\n\n---\n\n## 字段返回条件速查\n\n| 字段 | 返回条件 |\n|------|----------|\n| `customizedText`（`result[]` 顶层） | `customizedType=1` |\n| `customizedData`、`previewList` | `customizedType=2` |\n| `previewList[].customizedAreaId` | `templateType=3` 且 `previewType=3` 或 `4` |\n| `templateId`、`templateType` | 有定制模板时；无模板为 `null` |\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_customization_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"orderSnList\": [\"SO-123456789\", \"SO-987654321\"]\n  }\n}'\n```\n\n典型流程：`bg.order.detail.v2.get` 取得 `orderList[].orderSn` → 本接口批量拉定制内容（≤10 条）→ 若需 SVG/压缩包，用返回的 `compressedFileUrl` + TOA 头 GET 下载。\n\nFile v1.0.5:references/apis/bg-order-decryptshippinginfo-get.md\n\n# 订单收货地址解密查询 — `bg.order.decryptshippinginfo.get`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_decryptshippinginfo_get.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.decryptshippinginfo.get`，业务载荷放在 Body 的 `params` |\n\n**Description:** The `bg.order.decryptshippinginfo.get` interface is designed to retrieve **sensitive shipping address information** for a specific order（获取指定订单的**敏感**收货地址信息，通常为解密后的明文姓名、电话、地址等）。\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`。建议使用 **`tokenPurpose=order-shipping`**。  \n> **隐私提示**：返回含收件人姓名、电话、详细地址等 PII，请按合规要求存储与展示，勿写入日志或公开渠道。\n\n与 `bg.order.shippinginfo.v2.get` 的区别：本接口用于获取**解密/敏感**收货信息；若仅需常规收货地址（含 `warning` 限制提示），见 [bg-order-shippinginfo-v2-get.md](./bg-order-shippinginfo-v2-get.md)。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    └── parentOrderSn (STRING, 否)\n```\n\n### `request` 内字段\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| parentOrderSn | STRING | 否 | parentOrderSn（父订单号）；查询指定订单敏感收货地址时**应传入** |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    ├── receiptName\n    ├── receiptAdditionalName\n    ├── mobile\n    ├── backupMobile\n    ├── mail\n    ├── regionName1\n    ├── regionName2\n    ├── regionName3\n    ├── regionName4\n    ├── addressLine1\n    ├── addressLine2\n    ├── addressLine3\n    ├── postCode\n    ├── addressLineAll\n    └── addressExtra\n        ├── firstName\n        ├── lastName\n        ├── additionalFirstName\n        └── additionalLastName\n```\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success |\n| errorCode | INTEGER | error code |\n| errorMsg | STRING | error message |\n| result | OBJECT | 解密后的敏感收货地址等业务结果 |\n\n### `result`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| receiptName | STRING | Name（收件人姓名） |\n| receiptAdditionalName | STRING | Additional Name（附加姓名） |\n| mobile | STRING | Phone Number（手机号） |\n| backupMobile | STRING | Alternate Phone（备用电话） |\n| mail | STRING | Virtual Email（虚拟邮箱） |\n| regionName1 | STRING | regionName1（一级行政区名称） |\n| regionName2 | STRING | regionName2（二级行政区名称） |\n| regionName3 | STRING | regionName3（三级行政区名称） |\n| regionName4 | STRING | regionName4（四级行政区名称） |\n| addressLine1 | STRING | addressLine1（地址行 1） |\n| addressLine2 | STRING | addressLine2（地址行 2） |\n| addressLine3 | STRING | addressLine3（地址行 3） |\n| postCode | STRING | postCode（邮编） |\n| addressLineAll | STRING | addressLineAll（完整地址行，通常为 addressLine1 + Line2 + Line3 拼接） |\n| addressExtra | OBJECT | addressExtra（姓名拆分等扩展信息） |\n\n### `addressExtra`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| firstName | STRING | firstName（名） |\n| lastName | STRING | lastName（姓） |\n| additionalFirstName | STRING | additionalFirstName（附加名） |\n| additionalLastName | STRING | additionalLastName（附加姓） |\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_decryptshippinginfo_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n```\n\n典型流程：`bg.order.list.v2.get` / `bg.order.detail.v2.get` 取得 `parentOrderSn` → 本接口拉**解密**收货地址 → 打单发货（`bg.order.shippinginfo.v2.get` 可用于带 `warning` 的常规地址查询）。\n\nFile v1.0.5:references/apis/bg-order-detail-v2-get.md\n\n# 订单详情查询 V2 — `bg.order.detail.v2.get`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_detail_v2_get.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.detail.v2.get`，业务载荷放在 Body 的 `params` |\n\n**Description:** The `bg.order.detail.v2.get` interface is designed for merchants to retrieve detailed information about a specific order within their respective stores. This functionality provides merchants with access to comprehensive order details, enabling them to process, fulfill, and manage individual orders with precision.\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`。建议使用 **`tokenPurpose=order-shipping`**。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    ├── parentOrderSn (STRING, 必填)\n    └── fulfillmentTypeList[] (STRING[], 否)\n```\n\n### `request`\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| parentOrderSn | STRING | **是** | Parent order number（父订单号） |\n| fulfillmentTypeList | STRING[] | 否 | The type of order fulfillment（订单履约类型），见下表 |\n\n#### `fulfillmentTypeList[]`\n\n| 值 | 说明 |\n|----|------|\n| `fulfillBySeller` | fulfill by seller（卖家履约） |\n| `fulfillByCooperativeWarehouse` | fulfill by Cooperative Warehouse（合作仓履约） |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\",\n    \"fulfillmentTypeList\": [\"fulfillBySeller\"]\n  }\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    ├── parentOrderMap\n    │   ├── parentOrderSn\n    │   ├── parentOrderStatus\n    │   ├── parentOrderTime\n    │   ├── expectShipLatestTime\n    │   ├── parentOrderPendingFinishTime\n    │   ├── latestDeliveryTime\n    │   ├── parentShippingTime\n    │   ├── siteId\n    │   ├── regionId\n    │   ├── parentOrderLabel[]\n    │   │   ├── name\n    │   │   └── value\n    │   ├── fulfillmentWarning[]\n    │   ├── hasShippingFee\n    │   ├── regionName1 / regionName2 / regionName3\n    │   ├── orderPaymentType\n    │   ├── batchOrderNumberList[]\n    │   ├── shippingMethod\n    │   ├── isShipmentConsolidatedByMainMall\n    │   └── parentConfirmTime\n    └── orderList[]\n        ├── orderSn\n        ├── quantity\n        ├── canceledQuantityBeforeShipment\n        ├── originalOrderQuantity\n        ├── goodsId\n        ├── packageSnInfo[]\n        │   ├── packageSn\n        │   ├── packageDeliveryType\n        │   └── callSuccess\n        ├── packageAbnormalTypeList[]\n        ├── skuId\n        ├── spec\n        ├── originalSpecName\n        ├── thumbUrl\n        ├── goodsName\n        ├── originalGoodsName\n        ├── orderStatus\n        ├── productList[]\n        │   ├── productId\n        │   ├── productSkuId\n        │   ├── soldFactor\n        │   └── extCode\n        ├── orderLabel[]\n        │   ├── name\n        │   └── value\n        ├── fulfillmentWarning[]\n        ├── fulfillmentType\n        ├── inventoryDeductionWarehouseId\n        ├── inventoryDeductionWarehouseName\n        ├── orderPaymentType\n        ├── isCancelledDuringPending\n        ├── earliestTimeBuyShippingLabel\n        ├── earliestTimeGetShippingDocument\n        ├── orderShippingTime\n        ├── isShipmentConsolidatedByMainMall\n        ├── orderCreateTime\n        ├── qualificationUploadEndTime\n        └── hasUploadedEvidence\n```\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success |\n| errorCode | INTEGER | error code |\n| errorMsg | STRING | error message |\n| result | OBJECT | result |\n\n### `result`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderMap | OBJECT | Parent order information（父订单信息） |\n| orderList | OBJECT[] | Order information（子订单列表） |\n\n### `parentOrderMap`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderSn | STRING | Parent order number（父订单号） |\n| parentOrderStatus | INTEGER | Status of the parent order：`1` PENDING；`2` UN_SHIPPING；`3` CANCELED；`4` SHIPPED；`41` PARTIALLY_SHIPPED；`5` DELIVERED；`51` PARTIALLY_DELIVERED |\n| parentOrderTime | INTEGER | Time when the parent order was placed（下单时间，秒） |\n| expectShipLatestTime | INTEGER | Latest shipment time（最晚发货时间，秒） |\n| parentOrderPendingFinishTime | INTEGER | Time when the parent order finish pending（待处理完成时间，秒） |\n| latestDeliveryTime | INTEGER | Latest delivery time（最晚送达时间，秒） |\n| parentShippingTime | INTEGER | Time when the parent order was shipped（父订单发货时间，秒） |\n| siteId | LONG | Site ID |\n| regionId | LONG | Region ID，e.g. USA - **211** |\n| parentOrderLabel | OBJECT[] | List of PO order status labels（父订单状态标签） |\n| fulfillmentWarning | STRING[] | Fulfillment Prompt（履约提示），见下表 |\n| hasShippingFee | BOOLEAN | 用户实付运费是否为零：`true` 为零，`false` 非零（**only for local mall**） |\n| regionName1 | STRING | Address region 1（地址区域 1） |\n| regionName2 | STRING | Address region 2 |\n| regionName3 | STRING | Address region 3 |\n| orderPaymentType | STRING | Order payment type：`COD`、`PPD` |\n| batchOrderNumberList | STRING[] | batchOrderNumberList；**仅合作仓履约**有值，否则为空 |\n| shippingMethod | INTEGER | delivery channel type：`1` Standard Shipping，`2` Store Delivery，`3` Customer Pickup |\n| isShipmentConsolidatedByMainMall | BOOLEAN | 为 `true` 表示 PO 已由主站合并发货，需在主站侧确认发货/面单 |\n| parentConfirmTime | INTEGER | Confirmation time of parent order in seconds (timestamp) |\n\n#### `parentOrderMap.parentOrderLabel[]` — `name` 常见值\n\n| name | 说明 |\n|------|------|\n| `soon_to_be_overdue` | 即将逾期 |\n| `past_due` | 已逾期 |\n| `pending_buyer_cancellation` | 买家取消待处理 |\n| `pending_buyer_address_change` | 买家改地址待处理 |\n| `pending_risk_control_alert` | 风控预警待处理 |\n| `signature_required_on_delivery` | 需要签收 |\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| name | STRING | Label name |\n| value | INTEGER | Whether the label exists：`0` = no label，`1` = label exists |\n\n#### `parentOrderMap.fulfillmentWarning[]`\n\n| 值 | 说明 |\n|----|------|\n| `SUGGEST_SIGNATURE_ON_DELIVERY` | It is recommended to purchase signature service for this order to ensure fulfillment |\n| `CONFIRMED_CHANGED_ADDRESS` | Address has been changed and confirmed; pull the order again for the latest address |\n| `RESTRICT_FEDEX_SELF_SHIPPING` | Restricted from confirming shipment by FedEx tracking number |\n| `RESTRICT_USPS_SELF_SHIPPING` | Restricted from confirming shipment by USPS tracking number |\n| `RESTRICT_SELF_SHIPPING` | Restricted from confirming shipment by tracking number |\n| `BLOCK_LOGISTICS_PROVIDERS_{Name1,Name2,...}` | Consumer blocked some logistics providers (names in response) |\n| `REQUIRES_CUSTOMER_PICKUP` | This order can only be fulfilled via customer pickup |\n\n### `orderList[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| orderSn | STRING | Order number (sub-order number)（子订单号） |\n| quantity | INTEGER | The quantity seller needs to fulfill：`quantity = originalOrderQuantity - canceledQuantityBeforeShipment` |\n| canceledQuantityBeforeShipment | INTEGER | The quantity of canceled before shipment |\n| originalOrderQuantity | INTEGER | originalOrderQuantity |\n| goodsId | LONG | Goods ID |\n| packageSnInfo | OBJECT[] | package information（包裹信息） |\n| packageAbnormalTypeList | STRING[] | Logistics anomalies after shipment，见下表 |\n| skuId | LONG | Sku id；**It is only valid for LOCAL sellers not SEMI sellers** |\n| spec | STRING | Product specification description for customer |\n| originalSpecName | STRING | Product specification for seller；**Only for orders whose confirmation time is within no more than six months** |\n| thumbUrl | STRING | Thumbnail image URL |\n| goodsName | STRING | Product name for customer |\n| originalGoodsName | STRING | Product name for seller；**Only for orders whose confirmation time is within no more than six months** |\n| orderStatus | INTEGER | Status of the order：`1` PENDING；`2` UN_SHIPPING；`3` CANCELED；`4` SHIPPED；`41` PARTIALLY_SHIPPED；`5` DELIVERED；`51` PARTIALLY_DELIVERED |\n| productList | OBJECT[] | Product information；**仅 SEMI 卖家有效，非 LOCAL** |\n| orderLabel | OBJECT[] | The label of order（子订单标签） |\n| fulfillmentWarning | STRING[] | Fulfillment Prompt（子订单履约提示），见下表 |\n| fulfillmentType | STRING | `fulfillBySeller` / `fulfillByCooperativeWarehouse` |\n| inventoryDeductionWarehouseId | STRING | The id of inventory deduction warehouse |\n| inventoryDeductionWarehouseName | STRING | The name of inventory deduction warehouse |\n| orderPaymentType | STRING | Order payment type：`COD`、`PPD` |\n| isCancelledDuringPending | BOOLEAN | Whether the order is completely cancelled during the pending period |\n| earliestTimeBuyShippingLabel | INTEGER | Order can only buy shipping label after this time |\n| earliestTimeGetShippingDocument | INTEGER | Order can only get shipping document after this time |\n| orderShippingTime | INTEGER | Time when the order was shipped；若含未发货或延迟包裹，返回 **null** |\n| isShipmentConsolidatedByMainMall | BOOLEAN | 主站合并发货标记 |\n| orderCreateTime | INTEGER | The time when the order was created |\n| qualificationUploadEndTime | LONG | Deadline for uploading order qualification documents |\n| hasUploadedEvidence | BOOLEAN | Whether the merchant has uploaded verification information such as SN, IMEI, and appraisal report |\n\n### `packageSnInfo[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| packageSn | STRING | package number of this order |\n| packageDeliveryType | INTEGER | Package delivery type：`1` Seller non-integrated；`2` Seller Temu-integrated；`3` Cooperative warehouse non-integrated；`4` Cooperative warehouse Temu-integrated |\n| callSuccess | BOOLEAN | Whether the latest request `bg.logistics.shipment.create` is successful；与 Temu 非集成物流无关 |\n\n#### `orderList[].packageAbnormalTypeList[]`\n\n| 值 | 说明 |\n|----|------|\n| `WRONG_SHIPPING_ADDRESS` | Wrong shipping address |\n| `SUSPECTED_ERROR_PROVIDER` | Suspected error provider |\n| `NO_TRACK` | No track |\n| `TRACK_TOO_EARLY` | Track too early |\n| `OVERTIME_COLLECTION` | Overtime collection |\n| `TRACK_COLLECT_FAIL` | Track collect fail |\n| `SIGNED_BUT_UNRECEIVED_TASK` | Signed but unreceived task |\n\n#### `productList[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| productId | LONG | Product Id |\n| productSkuId | LONG | Product sku id；**It is only valid for SEMI sellers not LOCAL sellers** |\n| soldFactor | LONG | Conversion factor between product quantity and item quantity |\n| extCode | STRING | Item code |\n\n#### `orderList[].orderLabel[]` — `name` 常见值\n\n`customized_products`、`US_to_CA`、`is_US_to_CA_BBC`、`Y2_advance_sale`、`pre_sale_order`、`made_to_order`、`vacation_order`、`second_hand_collectible_order`、`second_hand_luxury_order`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| name | STRING | Label name |\n| value | INTEGER | Is there a label：`0` = no label，`1` = labeled；BBC orders need to judge combined with `is_US_to_CA_BBC` |\n\n#### `orderList[].fulfillmentWarning[]`\n\n| 值 | 说明 |\n|----|------|\n| `SAVE_SN_INFORMATION_FOR_RETURN` | It is recommended to save sn information for this order to identify the authenticity of the returned goods |\n| `REQUIRES_AUTHENTICATION_REPORT_SUBMISSION` | Requires submission of an authentication report in Temu Seller Center；超时自动取消并可能处罚 |\n| `REQUIRES_AGE_VERIFICATION` | It is recommended to purchase the age verification service for the signatory |\n| `SPECIFIC_LOGISTICS_REQUIRED` | It is required to choose specific logistics to fulfill this order |\n| `REQUIRES_CUSTOMER_PICKUP` | This order can only be fulfilled via customer pickup |\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_detail_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n```\n\n可先通过 `bg.order.list.v2.get` 获取 `parentOrderSn`，再调用本接口拉取完整详情。\n\nFile v1.0.5:references/apis/bg-order-list-v2-get.md\n\n# 订单列表查询 V2 — `bg.order.list.v2.get`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_list_v2_get.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.list.v2.get`，业务载荷放在 Body 的 `params` |\n\n**Description:** The `bg.order.list.v2.get` interface is designed to support batch return of corresponding order lists based on filtering criteria（按筛选条件批量返回订单列表）。\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`。建议使用 **`tokenPurpose=order-shipping`**。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    ├── pageNumber\n    ├── pageSize\n    ├── parentOrderStatus\n    ├── parentOrderSnList[]\n    ├── createAfter / createBefore\n    ├── expectShipLatestTimeStart / expectShipLatestTimeEnd\n    ├── updateAtStart / updateAtEnd\n    ├── parentConfirmTimeStart / parentConfirmTimeEnd\n    ├── regionId\n    ├── fulfillmentTypeList[]\n    ├── parentOrderLabel[]\n    ├── packageAbnormalTypeList[]\n    ├── sortby\n    ├── hasPreSaleOrder\n    ├── hasQualificationRequiredOrder\n    └── skuId\n```\n\n### `request` 内字段\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| pageNumber | INTEGER | 否 | Page number for pagination（页码），**默认 1** |\n| pageSize | INTEGER | 否 | Page size for pagination（每页条数），**默认 10**，**最大 100** |\n| parentOrderStatus | INTEGER | 否 | Parent order status（父订单状态）；**默认查询全部** |\n| parentOrderSnList | STRING[] | 否 | List of parent order numbers（父订单号列表），**单次最多 20 条** |\n| createAfter | INTEGER | 否 | Start time for querying parent order creation, in seconds (timestamp)；**须与 `createBefore` 成对使用** |\n| createBefore | INTEGER | 否 | End time for querying parent order creation, in seconds (timestamp)，**闭区间**；**须与 `createAfter` 成对使用** |\n| expectShipLatestTimeStart | INTEGER | 否 | Start time for querying expected latest shipment, in seconds |\n| expectShipLatestTimeEnd | INTEGER | 否 | End time for querying expected latest shipment, in seconds |\n| updateAtStart | INTEGER | 否 | Start time for querying order update / status change, in seconds (timestamp)；**须与 `updateAtEnd` 成对使用** |\n| updateAtEnd | INTEGER | 否 | End time for querying order update / status change, in seconds (timestamp)，**闭区间**；**须与 `updateAtStart` 成对使用** |\n| parentConfirmTimeStart | INTEGER | 否 | 父订单确认开始时间（秒级时间戳）；**须与 `parentConfirmTimeEnd` 成对使用** |\n| parentConfirmTimeEnd | INTEGER | 否 | 父订单确认结束时间（秒级时间戳）；**须与 `parentConfirmTimeStart` 成对使用** |\n| regionId | LONG | 否 | Region ID（区域 ID），例如 USA - **211** |\n| fulfillmentTypeList | STRING[] | 否 | 订单履约类型列表，见下表 |\n| parentOrderLabel | STRING[] | 否 | PO 订单状态标签筛选，见下表 |\n| packageAbnormalTypeList | STRING[] | 否 | 发货后物流异常类型筛选，见下表 |\n| sortby | STRING | 否 | Sort by（排序字段），**默认按订单创建时间**；输出为**倒序** |\n| hasPreSaleOrder | BOOLEAN | 否 | Whether the parent order contains presale orders for inventory in transit（父订单是否含在途预售子单） |\n| hasQualificationRequiredOrder | BOOLEAN | 否 | Whether the parent order contains orders that require qualification upload（是否含需上传资质子单） |\n| skuId | LONG | 否 | SKU ID |\n\n#### `parentOrderStatus`（入参筛选）\n\n| 值 | 说明 |\n|----|------|\n| `0` | All（全部） |\n| `1` | PENDING（待处理） |\n| `2` | UN_SHIPPING（待发货） |\n| `3` | CANCELED（已取消） |\n| `4` | SHIPPED（已发货） |\n| `5` | RECEIPTED（已签收） |\n| `41` | Partially shipped（部分发货，仅 local mall） |\n| `51` | Partially received（部分签收，仅 local mall） |\n\n#### `fulfillmentTypeList[]`\n\n| 值 | 说明 |\n|----|------|\n| `fulfillBySeller` | fulfill by seller（卖家履约） |\n| `fulfillByCooperativeWarehouse` | fulfill by Cooperative Warehouse（合作仓履约） |\n\n#### `parentOrderLabel[]`（筛选）\n\n| 值 | 说明 |\n|----|------|\n| `soon_to_be_overdue` | 即将逾期 |\n| `past_due` | 已逾期 |\n| `pending_buyer_cancellation` | 买家待取消 |\n| `pending_buyer_address_change` | 买家待改地址 |\n| `pending_risk_control_alert` | 风控预警待处理 |\n| `signature_required_on_delivery` | 签收需签名 |\n\n#### `packageAbnormalTypeList[]`（筛选）\n\n| 值 | 说明 |\n|----|------|\n| `WRONG_SHIPPING_ADDRESS` | 收货地址错误 |\n| `SUSPECTED_ERROR_PROVIDER` | 疑似承运商异常 |\n| `NO_TRACK` | 无轨迹 |\n| `TRACK_TOO_EARLY` | 轨迹过早 |\n| `OVERTIME_COLLECTION` | 揽收超时 |\n| `TRACK_COLLECT_FAIL` | 揽收失败 |\n\n#### `sortby`\n\n| 值 | 说明 |\n|----|------|\n| `createTime` | 按创建时间排序（**默认**） |\n| `updateTime` | 按更新时间排序 |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"pageNumber\": 1,\n    \"pageSize\": 20,\n    \"parentOrderStatus\": 2\n  }\n}\n```\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"request\": {\n    \"parentOrderSnList\": [\"PO-123456789\"],\n    \"createAfter\": 1700000000,\n    \"createBefore\": 1700086400,\n    \"sortby\": \"updateTime\"\n  }\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    ├── pageItems[]\n    │   ├── parentOrderMap\n    │   │   ├── parentOrderSn\n    │   │   ├── parentOrderStatus\n    │   │   ├── parentOrderTime\n    │   │   ├── expectShipLatestTime\n    │   │   ├── parentOrderPendingFinishTime\n    │   │   ├── latestDeliveryTime\n    │   │   ├── parentShippingTime\n    │   │   ├── siteId\n    │   │   ├── regionId\n    │   │   ├── parentOrderLabel[]\n    │   │   │   ├── name\n    │   │   │   └── value\n    │   │   ├── fulfillmentWarning[]\n    │   │   ├── hasShippingFee\n    │   │   ├── updateTime\n    │   │   ├── orderPaymentType\n    │   │   ├── batchOrderNumberList[]\n    │   │   ├── shippingMethod\n    │   │   ├── isShipmentConsolidatedByMainMall\n    │   │   └── parentConfirmTime\n    │   └── orderList[]\n    │       ├── orderSn\n    │       ├── quantity\n    │       ├── canceledQuantityBeforeShipment\n    │       ├── originalOrderQuantity\n    │       ├── goodsId\n    │       ├── skuId\n    │       ├── spec\n    │       ├── originalSpecName\n    │       ├── thumbUrl\n    │       ├── goodsName\n    │       ├── originalGoodsName\n    │       ├── orderStatus\n    │       ├── productList[]\n    │       │   ├── productId\n    │       │   ├── productSkuId\n    │       │   ├── soldFactor\n    │       │   └── extCode\n    │       ├── packageAbnormalTypeList[]\n    │       ├── orderLabel[]\n    │       │   ├── name\n    │       │   └── value\n    │       ├── fulfillmentWarning[]\n    │       ├── fulfillmentType\n    │       ├── inventoryDeductionWarehouseId\n    │       ├── inventoryDeductionWarehouseName\n    │       ├── orderPaymentType\n    │       ├── isCancelledDuringPending\n    │       ├── earliestTimeBuyShippingLabel\n    │       ├── earliestTimeGetShippingDocument\n    │       ├── orderShippingTime\n    │       ├── isShipmentConsolidatedByMainMall\n    │       ├── orderCreateTime\n    │       └── qualificationUploadEndTime\n    └── totalItemNum\n```\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success（当前请求是否成功） |\n| errorCode | INTEGER | error code（错误码） |\n| errorMsg | STRING | error message（错误信息） |\n| result | OBJECT | 业务结果 |\n\n### `result`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| pageItems | OBJECT[] | Page items（分页订单条目） |\n| totalItemNum | INTEGER | Total number of matching records（匹配记录总数） |\n\n### `result.pageItems[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderMap | OBJECT | Parent order information（父订单信息） |\n| orderList | OBJECT[] | Order information（子订单列表） |\n\n### `parentOrderMap`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderSn | STRING | Parent order number（父订单号） |\n| parentOrderStatus | INTEGER | Status of the parent order，见下表（**出参枚举**） |\n| parentOrderTime | INTEGER | Time when the parent order was placed（下单时间，秒） |\n| expectShipLatestTime | INTEGER | Latest shipment time（最晚发货时间，秒） |\n| parentOrderPendingFinishTime | INTEGER | Time when the parent order finish pending（待处理完成时间，秒） |\n| latestDeliveryTime | INTEGER | Latest delivery time（最晚送达时间，秒） |\n| parentShippingTime | INTEGER | Time when the parent order was shipped（父订单发货时间，秒） |\n| siteId | LONG | Site ID |\n| regionId | LONG | Region ID，例如 USA - **211** |\n| parentOrderLabel | OBJECT[] | List of PO order status labels（父订单标签列表） |\n| fulfillmentWarning | STRING[] | Fulfillment Prompt（履约提示），见下表 |\n| hasShippingFee | BOOLEAN | 用户实付运费是否为零：`true` 为零，`false` 非零（**仅 local mall**） |\n| updateTime | LONG | Order update time, in seconds（订单更新时间，秒） |\n| orderPaymentType | STRING | Order payment type：`COD`、`PPD` |\n| batchOrderNumberList | STRING[] | 批次单号列表；**仅合作仓履约**有值，否则为空 |\n| shippingMethod | INTEGER | delivery channel type：`1` Standard Shipping，`2` Store Delivery，`3` Customer Pickup |\n| isShipmentConsolidatedByMainMall | BOOLEAN | 为 `true` 表示主站已合并发货，需在主站侧确认发货/面单 |\n| parentConfirmTime | INTEGER | Confirmation time of parent order, in seconds (timestamp) |\n\n#### `parentOrderStatus`（出参）\n\n| 值 | 说明 |\n|----|------|\n| `1` | PENDING |\n| `2` | UN_SHIPPING |\n| `3` | CANCELED |\n| `4` | SHIPPED |\n| `41` | PARTIALLY_SHIPPED |\n| `5` | DELIVERED |\n| `51` | PARTIALLY_DELIVERED |\n\n#### `parentOrderMap.parentOrderLabel[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| name | STRING | Label name（标签名） |\n| value | INTEGER | Whether the label exists：`0` 无标签，`1` 有标签 |\n\n#### `parentOrderMap.fulfillmentWarning[]`（父订单）\n\n| 值 | 说明 |\n|----|------|\n| `SUGGEST_SIGNATURE_ON_DELIVERY` | 建议购买签收服务 |\n| `CONFIRMED_CHANGED_ADDRESS` | 地址已变更并确认，建议重新拉单获取最新地址 |\n| `RESTRICT_FEDEX_SELF_SHIPPING` | 限制使用 FedEx 运单号确认发货 |\n| `RESTRICT_USPS_SELF_SHIPPING` | 限制使用 USPS 运单号确认发货 |\n| `RESTRICT_SELF_SHIPPING` | 限制使用运单号确认发货 |\n| `BLOCK_LOGISTICS_PROVIDERS_{Name1,Name2,...}` | 买家屏蔽部分物流商（名称在响应中展开） |\n| `REQUIRES_CUSTOMER_PICKUP` | 仅支持买家自提履约 |\n\n### `orderList[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| orderSn | STRING | Order number (sub-order number)（子订单号） |\n| quantity | INTEGER | 卖家需履约数量：`quantity = originalOrderQuantity - canceledQuantityBeforeShipment` |\n| canceledQuantityBeforeShipment | INTEGER | 发货前取消数量 |\n| originalOrderQuantity | INTEGER | 原始下单数量 |\n| goodsId | LONG | Goods ID |\n| skuId | LONG | Sku id；**仅 LOCAL 卖家有效，非 SEMI** |\n| spec | STRING | Product specification description for customer（买家可见规格描述） |\n| originalSpecName | STRING | Product specification for seller；**确认时间在近 6 个月内**的订单建议填写 |\n| thumbUrl | STRING | Thumbnail image URL |\n| goodsName | STRING | Product name for customer |\n| originalGoodsName | STRING | Product name for seller；**确认时间在近 6 个月内**的订单建议填写 |\n| orderStatus | INTEGER | Status of the order：`1` PENDING；`2` UN_SHIPPING；`3` CANCELED；`4` SHIPPED；`41` PARTIALLY_SHIPPED；`5` DELIVERED；`51` PARTIALLY_DELIVERED |\n| productList | OBJECT[] | Product SKU info；**仅 SEMI 卖家有效，非 LOCAL** |\n| packageAbnormalTypeList | STRING[] | 发货后物流异常类型，见下表（含 `SIGNED_BUT_UNRECEIVED_TASK`） |\n| orderLabel | OBJECT[] | The label of order（子订单标签） |\n| fulfillmentWarning | STRING[] | Fulfillment Prompt（子订单履约提示），见下表 |\n| fulfillmentType | STRING | `fulfillBySeller` / `fulfillByCooperativeWarehouse` |\n| inventoryDeductionWarehouseId | STRING | The id of inventory deduction warehouse |\n| inventoryDeductionWarehouseName | STRING | The name of inventory deduction warehouse |\n| orderPaymentType | STRING | `COD`、`PPD` |\n| isCancelledDuringPending | BOOLEAN | Whether the order is completely cancelled during the pending period |\n| earliestTimeBuyShippingLabel | INTEGER | Order can only buy shipping label after this time |\n| earliestTimeGetShippingDocument | INTEGER | Order can only get shipping document after this time |\n| orderShippingTime | INTEGER | Time when the order was shipped；含未发货/延迟包裹时可能为 `null` |\n| isShipmentConsolidatedByMainMall | BOOLEAN | 主站合并发货标记，同 `parentOrderMap` |\n| orderCreateTime | INTEGER | The time when the order was created |\n| qualificationUploadEndTime | LONG | Deadline for uploading order qualification documents |\n\n#### `productList[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| productId | LONG | productId |\n| productSkuId | LONG | SKU ID of the product variation |\n| soldFactor | LONG | 商品数量与件数换算因子 |\n| extCode | STRING | Item code |\n\n#### `orderList[].packageAbnormalTypeList[]`（出参，比入参多一项）\n\n| 值 | 说明 |\n|----|------|\n| `WRONG_SHIPPING_ADDRESS` | 收货地址错误 |\n| `SUSPECTED_ERROR_PROVIDER` | 疑似承运商异常 |\n| `NO_TRACK` | 无轨迹 |\n| `TRACK_TOO_EARLY` | 轨迹过早 |\n| `OVERTIME_COLLECTION` | 揽收超时 |\n| `TRACK_COLLECT_FAIL` | 揽收失败 |\n| `SIGNED_BUT_UNRECEIVED_TASK` | 已签收但未收货任务 |\n\n#### `orderList[].orderLabel[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| name | STRING | Label name，如 `customized_products`、`pre_sale_order`、`made_to_order` 等 |\n| value | INTEGER | `0` 无标签，`1` 有标签；BBC 订单需结合 `is_US_to_CA_BBC` 判断 |\n\n#### `orderList[].fulfillmentWarning[]`\n\n| 值 | 说明 |\n|----|------|\n| `SAVE_SN_INFORMATION_FOR_RETURN` | 建议保存 SN 便于退货鉴真 |\n| `REQUIRES_AUTHENTICATION_REPORT_SUBMISSION` | 须在卖家中心提交鉴定报告，超时自动取消并可能处罚 |\n| `REQUIRES_AGE_VERIFICATION` | 建议购买签收人年龄验证服务 |\n| `SPECIFIC_LOGISTICS_REQUIRED` | 须选择指定物流履约 |\n| `REQUIRES_CUSTOMER_PICKUP` | 仅支持买家自提 |\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_list_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"pageNumber\": 1,\n    \"pageSize\": 20,\n    \"parentOrderStatus\": 2\n  }\n}'\n```\n\nFile v1.0.5:references/apis/bg-order-shippinginfo-v2-get.md\n\n# 订单收货地址查询 V2 — `bg.order.shippinginfo.v2.get`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_shippinginfo_v2_get.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.shippinginfo.v2.get`，业务载荷放在 Body 的 `params` |\n\n**Description:** The `bg.order.shippinginfo.v2.get` interface is designed to retrieve shipping address information for a specific order. This functionality is crucial for merchants and logistics providers to ensure that orders are shipped to the correct location.\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`。建议使用 **`tokenPurpose=order-shipping`**。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    └── parentOrderSn (STRING, 否)\n```\n\n### `request`\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| parentOrderSn | STRING | 否 | parentOrderSn（父订单号）；查询指定订单收货地址时**应传入** |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    ├── receiptName\n    ├── receiptAdditionalName\n    ├── mobile\n    ├── backupMobile\n    ├── mail\n    ├── regionName1\n    ├── regionName2\n    ├── regionName3\n    ├── regionName4\n    ├── addressLine1\n    ├── addressLine2\n    ├── addressLine3\n    ├── postCode\n    ├── addressLineAll\n    ├── addressExtra\n    │   ├── firstName\n    │   ├── lastName\n    │   ├── additionalFirstName\n    │   └── additionalLastName\n    └── warning\n        ├── isRestriction\n        └── reason\n```\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success |\n| errorCode | INTEGER | error code |\n| errorMsg | STRING | error message |\n| result | OBJECT | 收货地址等业务结果 |\n\n### `result`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| receiptName | STRING | Name（收件人姓名） |\n| receiptAdditionalName | STRING | Additional Name（附加姓名） |\n| mobile | STRING | Phone Number（手机号） |\n| backupMobile | STRING | Alternate Phone（备用电话） |\n| mail | STRING | Virtual Email（虚拟邮箱） |\n| regionName1 | STRING | First-Level Administrative Division Name（一级行政区名称） |\n| regionName2 | STRING | Secondary Administrative Division Name（二级行政区名称） |\n| regionName3 | STRING | Third-Level Administrative Division Name（三级行政区名称） |\n| regionName4 | STRING | Fourth-Level Administrative Division Name（四级行政区名称） |\n| addressLine1 | STRING | Address Line 1（地址行 1） |\n| addressLine2 | STRING | Address Line 2（地址行 2） |\n| addressLine3 | STRING | Address Line 3（地址行 3） |\n| postCode | STRING | Postal Code（邮编） |\n| addressLineAll | STRING | Address Line 1 + Line 2 + Line 3（拼接完整地址行） |\n| addressExtra | OBJECT | addressExtra（姓名拆分等扩展信息） |\n| warning | OBJECT | warning information（地址/履约限制提示） |\n\n### `addressExtra`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| firstName | STRING | First Name |\n| lastName | STRING | Last Name |\n| additionalFirstName | STRING | Additional First Name |\n| additionalLastName | STRING | Additional Last Name |\n\n### `warning`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| isRestriction | BOOLEAN | isRestriction（是否存在地址返回限制） |\n| reason | INTEGER | When there is an address return restriction, it indicates the restriction scenario |\n\n#### `warning.reason` 枚举\n\n| 值 | 说明 |\n|----|------|\n| `1` | COD |\n| `2` | Restricting self shipment（限制自发货） |\n| `3` | Promise only buy shipping（仅承诺购买平台物流） |\n\n---\n\n## 示例\n\n```bash\npython scripts/us_order_shippinginfo_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n```\n\n发货前典型流程：`bg.order.list.v2.get` / `bg.order.detail.v2.get` 取得 `parentOrderSn` → 本接口拉收货地址 → 后续发货/面单接口（待接入）。\n\nArchive v1.0.4: 38 files, 56712 bytes\n\nFiles: references/access-token.md (4604b), references/api.md (4821b), references/apis/bg-order-amount-query.md (6397b), references/apis/bg-order-combinedshipment-list-get.md (4078b), references/apis/bg-order-customization-get.md (7041b), references/apis/bg-order-decryptshippinginfo-get.md (4423b), references/apis/bg-order-detail-v2-get.md (13078b), references/apis/bg-order-list-v2-get.md (15766b), references/apis/bg-order-shippinginfo-v2-get.md (4596b), references/apis/README.md (1580b), references/apis/temu-local-order-verification-upload.md (5037b), references/authorization-flow.md (1186b), references/partner-us-catalog.md (4031b), scripts/_temu_auth_guide.py (6198b), scripts/_temu_common.py (12432b), scripts/_temu_token_store.py (4273b), scripts/_temu_us_common.py (3167b), scripts/_us_order_script.py (512b), scripts/check_linkfox_token.py (1797b), scripts/get_temu_access_token.py (1843b), scripts/list_temu_access_tokens.py (652b), scripts/save_temu_access_token.py (1377b), scripts/temu_file_download.py (1681b), scripts/temu_proxy.py (2124b), scripts/temu_token_guide.py (1594b), scripts/temu_us_file_download.py (689b), scripts/temu_us_proxy.py (933b), scripts/us_order_amount_query.py (257b), scripts/us_order_combinedshipment_list_get.py (282b), scripts/us_order_customization_get.py (264b), scripts/us_order_decryptshippinginfo_get.py (282b), scripts/us_order_detail_v2_get.py (237b), scripts/us_order_list_v2_get.py (231b), scripts/us_order_shippinginfo_v2_get.py (261b), scripts/us_order_verification_upload.py (292b), skill-card.md (2948b), SKILL.md (9245b), _meta.json (140b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: linkfox-temu-order-us\ndescription: Temu 美国站订单管理 API，经 LinkFox 网关转发 Partner US 订单接口：订单列表/详情/收货地址/金额/合并发货/定制/SN鉴真上传(bg.order.*、temu.local.order.verification.upload)、发货、物流等。当用户提到 Temu US 订单、上传SN、IMEI、二手鉴真、verification upload、定制商品、合并发货、订单金额、parentOrderSn、order-shipping 时触发。商品管理用 linkfox-temu-manage-product-us；发品用 linkfox-temu-add-product-us；价格用 linkfox-temu-price-us。\n---\n\n# Temu 美国站订单管理 API（Manage Order）\n\n本 skill（`linkfox-temu-order-us`）覆盖 Partner Platform for US **订单管理**相关 `bg.order.*` / `temu.local.order.*` 接口（`menu_code` 与各 `sub_menu_code` 以 Partner 后台为准，见 [partner-us-catalog.md](./references/partner-us-catalog.md)）。欧洲站请用 **`linkfox-temu-order-eu`**；全球站（非 US/EU）请用 **`linkfox-temu-order-global`**。\n\n> 当前已接入 **8** 个接口；其余订单接口将按 Partner 文档逐条补充到 `references/apis/` 与 `us_order_*.py`。\n\n**网关（本 skill 内置）**：\n\n| 能力 | 方法 | 路径 |\n|------|------|------|\n| 订单 OpenAPI（`us_order_*`、`temu_us_proxy`） | POST | `https://tool-gateway.linkfox.com/temu/proxy` |\n| 加签文件下载 | POST | `https://tool-gateway.linkfox.com/temu/fileDownload` |\n\n## 相关 skill\n\n| 场景 | skill |\n|------|--------|\n| 商品列表/详情/编辑/库存/上下架 | `linkfox-temu-manage-product-us` |\n| 发品、类目、V2 add | `linkfox-temu-add-product-us` |\n| 价格/供货价、定价单 | `linkfox-temu-price-us` |\n| 取消订单（买家+卖家） | `linkfox-temu-cancel-order-us` |\n| 退货与退款 | `linkfox-temu-returns-refunds-us` |\n| 履约/发货（含自发货） | `linkfox-temu-fulfillment-us` |\n| 网关与 Temu token | 本 skill `scripts/` |\n\n## 调用方式\n\n- **API 端点**：`POST /temu/proxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/<脚本名>.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/<skill-name>-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\n\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\n\n\n| 文档 | 内容 |\n|------|------|\n| [api.md](./references/api.md) | 网关、鉴权、错误码、扩展流程 |\n| [partner-us-catalog.md](./references/partner-us-catalog.md) | 接口目录 + Partner URL + 脚本（随接入更新） |\n| [apis/README.md](./references/apis/README.md) | **按接口分文件**（`apis/<type-slug>.md`） |\n\n## 解决认证和积分问题\n发生以下异常情况时，采用以下措施来处理：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示积分或余额不足**：消息含\"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n### 措施\n- 优先采用skill内的 onboarding.md 引导解决问题。\n- 如找不到 onboarding.md 文件，则加载 /linkfox-onboarding 这个skill并根据它的引导来处理。如未安装请先安装：\n    - 下载 https://agent-files.linkfox.com/skills/linkfox-onboarding/release.zip，解压后安装这个skill。如需用户授权才可下载，要询问用户获得授权，你不能自己放弃下载。\n- 兜底措施：仅当前面两个措施经过所有努力都走不通时，才提示用户依据 https://skill.linkfox.com/linkfoxskills/guide.htm 指引获取API Key，或去 https://os.linkfox.com/ 补充积分。\n\n## 默认参数\n\n| 字段 | 默认 | 说明 |\n|------|------|------|\n| site | `us` | Partner US |\n| managementType | `semi-managed` | 半托管 |\n| tokenPurpose | `order-shipping` | 订单/发货场景 token（见 [access-token.md](./references/access-token.md)） |\n\n## 鉴权\n\n1. **LinkFox**：`LINKFOXAGENT_API_KEY` → Header `Authorization` + `Token`\n2. **Temu**：`accessToken` 或 `storeKey`（`storeKey` 时建议带 `tokenPurpose=order-shipping`）\n\n## Scripts（按 type）\n\n| 脚本 | type | 状态 |\n|------|------|------|\n| `us_order_list_v2_get.py` | `bg.order.list.v2.get` | 已接入 |\n| `us_order_detail_v2_get.py` | `bg.order.detail.v2.get` | 已接入 |\n| `us_order_shippinginfo_v2_get.py` | `bg.order.shippinginfo.v2.get` | 已接入 |\n| `us_order_decryptshippinginfo_get.py` | `bg.order.decryptshippinginfo.get` | 已接入 |\n| `us_order_amount_query.py` | `bg.order.amount.query` | 已接入 |\n| `us_order_combinedshipment_list_get.py` | `bg.order.combinedshipment.list.get` | 已接入 |\n| `us_order_customization_get.py` | `bg.order.customization.get` | 已接入 |\n| `us_order_verification_upload.py` | `temu.local.order.verification.upload` | 已接入 |\n| `temu_us_proxy.py` | 任意 `type` | 通用 |\n| `temu_us_file_download.py` | 加签文件下载 | 通用 |\n\n## 接入新接口（约定）\n\n你每提供一条 Partner 文档（`type` + 参数表 + 可选 `sub_menu_code`），将：\n\n1. 新增 `references/apis/<type-slug>.md`（完整入参/出参层级）\n2. 新增 `scripts/us_order_<slug>.py`（调用 `_us_order_script.run_cli`）\n3. 更新 [partner-us-catalog.md](./references/partner-us-catalog.md)、[apis/README.md](./references/apis/README.md) 与本表\n\n## 示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<key>\"\n\n# 订单列表 V2（待发货 parentOrderStatus=2）\npython scripts/us_order_list_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"pageNumber\": 1,\n    \"pageSize\": 20,\n    \"parentOrderStatus\": 2\n  }\n}'\n\n# 按父订单号查询（最多 20 个）\npython scripts/us_order_list_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"request\": {\n    \"parentOrderSnList\": [\"PO-123456789\"]\n  }\n}'\n\n# 订单详情 V2（须 parentOrderSn）\npython scripts/us_order_detail_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 收货地址 V2（传 parentOrderSn）\npython scripts/us_order_shippinginfo_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 敏感收货地址解密（传 parentOrderSn）\npython scripts/us_order_decryptshippinginfo_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 订单金额/供货价（ERP 对账，传 parentOrderSn）\npython scripts/us_order_amount_query.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 可合并发货订单组（request 可为空对象）\npython scripts/us_order_combinedshipment_list_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {}\n}'\n\n# 定制商品内容（子订单号 orderSn，单次最多 10 个）\npython scripts/us_order_customization_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"orderSnList\": [\"SO-123456789\", \"SO-987654321\"]\n  }\n}'\n\n# 上传 SN/IMEI 或二手鉴真（orderList[].orderSn）\npython scripts/us_order_verification_upload.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"orderList\": [\n      {\n        \"orderSn\": \"SO-123456789\",\n        \"verificationInfo\": [\n          {\n            \"serialNumber\": \"SN-001234567890\",\n            \"imeiNumberList\": [\"352099001761481\"]\n          }\n        ]\n      }\n    ]\n  }\n}'\n```\n\n**Feedback：** `skillName`：`linkfox-temu-order-us`\n\n## 网关与授权脚本\n\n| 脚本 | 说明 |\n|------|------|\n| `check_linkfox_token.py` | 校验 LinkFox 用户 Token |\n| `temu_token_guide.py` | Temu accessToken 后台授权步骤 |\n| `save_temu_access_token.py` | 保存 accessToken 到本地 |\n| `list_temu_access_tokens.py` | 列出已保存 token |\n| `get_temu_access_token.py` | 读取已保存 token |\n| `temu_proxy.py` | 通用网关转发（多 site） |\n| `temu_file_download.py` | 加签文件下载（多 site） |\n\n授权说明：[references/access-token.md](./references/access-token.md)\n\n## 积分消耗规则\n\n不消耗积分。\n\nFile v1.0.4:references/apis/README.md\n\n# Order — 接口文档索引\n\n每个 `type` 单独一份文档，经 `POST /temu/proxy` 调用。网关与鉴权见 [../api.md](../api.md)；目录与 `sub_menu_code` 见 [../partner-us-catalog.md](../partner-us-catalog.md)。\n\n## 查询（4）\n\n| type | 文档 |\n|------|------|\n| `bg.order.list.v2.get` | [bg-order-list-v2-get.md](./bg-order-list-v2-get.md) |\n| `bg.order.detail.v2.get` | [bg-order-detail-v2-get.md](./bg-order-detail-v2-get.md) |\n| `bg.order.shippinginfo.v2.get` | [bg-order-shippinginfo-v2-get.md](./bg-order-shippinginfo-v2-get.md) |\n| `bg.order.decryptshippinginfo.get` | [bg-order-decryptshippinginfo-get.md](./bg-order-decryptshippinginfo-get.md) |\n\n## 金额 / ERP（1）\n\n| type | 文档 |\n|------|------|\n| `bg.order.amount.query` | [bg-order-amount-query.md](./bg-order-amount-query.md) |\n\n## 发货 / 物流（1）\n\n| type | 文档 |\n|------|------|\n| `bg.order.combinedshipment.list.get` | [bg-order-combinedshipment-list-get.md](./bg-order-combinedshipment-list-get.md) |\n\n## 定制商品（1）\n\n| type | 文档 |\n|------|------|\n| `bg.order.customization.get` | [bg-order-customization-get.md](./bg-order-customization-get.md) |\n\n## 核验 / 鉴真上传（1）\n\n| type | 文档 |\n|------|------|\n| `temu.local.order.verification.upload` | [temu-local-order-verification-upload.md](./temu-local-order-verification-upload.md) |\n\n## 发货 / 物流（待补充）\n\n| type | 文档 |\n|------|------|\n| _待用户提供 Partner 文档_ | — |\n\n## 其他（待补充）\n\n| type | 文档 |\n|------|------|\n| _待用户提供 Partner 文档_ | — |\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-temu-order-us\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1783946313872\n}\n\nFile v1.0.4:references/access-token.md\n\n# Temu accessToken 授权与获取\n\nTemu **没有** LinkFox 侧自动 OAuth；`accessToken` 须在 Temu 卖家后台「服务市场 → 授权管理」**手动复制**。与 `LINKFOXAGENT_API_KEY`（LinkFox 用户鉴权）是两套令牌。（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\n\n## 两种鉴权（勿混淆）\n\n| 令牌 | 用途 | 获取方式 |\n|------|------|----------|\n| **LinkFox 用户 Token** | 调用 `/temu/proxy`、`/temu/fileDownload` **必填** | `LINKFOXAGENT_API_KEY` 或请求 JSON 的 `token`；Header `Authorization` + `Token`（同 amazon-store-auth）（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理） |\n| **Temu accessToken** | Temu 业务 API（经紫鸟转发） | Temu 卖家后台授权后复制 |\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/check_linkfox_token.py\n```\n\n## tokenPurpose 与场景\n\n| tokenPurpose | 店铺类型 | 推荐 site | 授权应用 |\n|--------------|----------|-----------|----------|\n| `product-inventory` | 半托管 | `cn` / `partner` | 酷鸟卖家助手 |\n| `order-shipping` | 半托管 | `us` / `global` / `eu` | Cyber-ERP酷鸟助手 |\n| `full-managed` | 全托管 | `cn` / `partner` | 酷鸟卖家助手 |\n| `local-native` | 本土（美/欧主体） | `us` 等 | Cyber-ERP |\n\n## 1. 半托管 — 商品/库存 Token\n\n1. 登录 [seller.kuajingmaihuo.com](https://seller.kuajingmaihuo.com) 或 [agentseller.temu.com](https://agentseller.temu.com)\n2. **系统管理** → **服务市场** → **授权管理**\n3. **获取授权** → 选择 **「酷鸟卖家助手」**\n4. 全选常规和特殊授权 → 确认 → **复制 access_token**\n5. 调用 API：`site=cn` 或 `partner`，`managementType=semi-managed`\n\n## 2. 半托管 — 订单/发货 Token\n\n1. 登录 Temu 卖家后台\n2. 右上角 **Seller Central** → 切换到目标区域（美区 / 欧区 / 全球）\n3. **服务市场** → **授权管理**\n4. **获取授权** → 选择 **「Cyber-ERP酷鸟助手」**\n5. 全选授权 → 确认 → 复制 token\n6. 调用 API：`site=us` / `global` / `eu`，`managementType=semi-managed`\n\n## 3. 全托管店铺\n\n1. 登录 Temu 平台\n2. **系统管理** → **服务市场** → **授权管理**\n3. **获取授权** → **「酷鸟卖家助手」** → 全选 → 复制 token\n4. 调用 API：`managementType=full-managed`，`site` 通常 `cn` 或 `partner`\n\n## 4. 本土店铺（美区、欧区主体）\n\n1. 登录 Temu\n2. **Apps And Services** → **Manage Your Apps**\n3. **Authorize a new app** → 搜索 **「Cyber-ERP」**\n4. 一般权限与敏感权限全选 → 确认 → 复制 token\n\n## 站点与 OpenAPI 网关\n\n| site | 说明 | Temu 网关 |\n|------|------|-----------|\n| cn | 中国站 | openapi.kuajingmaihuo.com |\n| partner | Partner 网关 | openapi-b-partner.temu.com |\n| us | 美国站 | openapi-b-us.temu.com |\n| global | 全球区 | openapi-b-global.temu.com |\n| eu | 欧洲站 | openapi-b-eu.temu.com |\n\n## 本地保存 Token（推荐）\n\n默认存储：`~/.linkfox/temu-access-tokens.json`（可用 `TEMU_TOKEN_STORE_PATH` 覆盖）。\n\n```bash\n# 查看授权步骤\npython scripts/temu_token_guide.py '{\"shopType\":\"semi-managed\",\"tokenPurpose\":\"product-inventory\",\"site\":\"cn\"}'\n\n# 保存 token\npython scripts/save_temu_access_token.py '{\n  \"storeKey\": \"my-shop\",\n  \"label\": \"中国半托管\",\n  \"site\": \"cn\",\n  \"managementType\": \"semi-managed\",\n  \"tokenPurpose\": \"product-inventory\",\n  \"accessToken\": \"PASTE_TOKEN\"\n}'\n\n# 列出已保存（脱敏）\npython scripts/list_temu_access_tokens.py\n\n# 用 storeKey 调 API（无需每次粘贴 token）\npython scripts/temu_proxy.py '{\n  \"storeKey\": \"my-shop\",\n  \"site\": \"cn\",\n  \"managementType\": \"semi-managed\",\n  \"tokenPurpose\": \"product-inventory\",\n  \"type\": \"bg.goods.category.mapping\",\n  \"params\": {\"goodsName\": \"测试\", \"goodsNameEn\": \"Test\"}\n}'\n```\n\n## 注意事项\n\n1. **子账号**：可能无法进入服务市场，需主账号授权。\n2. **多站点**：美国站、英国站等需分别登录对应后台获取 Token。\n3. **有效期**：Token 会过期，过期后重新在后台复制并 `save_temu_access_token.py`。\n4. **IP 白名单**：需联系紫鸟开放平台配置调用 IP。\n5. **参数小写**：`site`、`managementType` 必须小写。\n\n## 脚本一览\n\n| 脚本 | 说明 |\n|------|------|\n| `temu_token_guide.py` | 按店铺类型/用途输出授权步骤 |\n| `save_temu_access_token.py` | 保存 accessToken 到本地 |\n| `list_temu_access_tokens.py` | 列出已保存 token（默认脱敏）|\n| `get_temu_access_token.py` | 读取指定 store 的 token |\n\nFile v1.0.4:references/api.md\n\n# linkfox-temu-order-us — API 参考\r\n\r\nTemu **美国站订单管理**（Partner US **Order / 订单发货** 相关接口），经本 skill `temu_us_proxy`（`POST /temu/proxy`） 转发。Temu 的 `type` 写在 Body，**不是** URL 路径。\r\n\r\n> 网关与鉴权：本 skill `scripts/`（`LINKFOXAGENT_API_KEY`、`accessToken` / `storeKey`）。订单场景 token 见 `references/access-token.md`（`tokenPurpose=order-shipping`）。（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\r\n\r\n---\r\n\r\n## 调用规范\r\n\r\n| 项 | 说明 |\r\n|----|------|\r\n| 网关根地址 | `${LINKFOX_TOOL_GATEWAY}`（可用 `TEMU_API_BASE_URL` / `STORE_API_BASE_URL` 覆盖） |\r\n| 订单 OpenAPI | `POST /temu/proxy` |\r\n| 加签文件下载 | `POST /temu/fileDownload`（`temu_us_file_download.py`） |\r\n| LinkFox 鉴权 | Header **`Authorization`** 与 **`Token`**（同值）；或 `LINKFOX_AGENT_API_KEY` / `LINKFOXAGENT_API_KEY`；或 JSON `token`（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理） |\r\n| Temu 鉴权 | Body `accessToken`，或 `storeKey` + `site` + `managementType` + `tokenPurpose` |\r\n| 默认 | `site=us`，`managementType=semi-managed`，`tokenPurpose=order-shipping` |\r\n| 上游 OpenAPI（US） | `https://openapi-b-us.temu.com/openapi/router`（网关按 `site` 解析） |\r\n\r\n### 网关请求 Body（`/temu/proxy`）\r\n\r\n| 参数 | 类型 | 必填 | 说明 |\r\n|------|------|------|------|\r\n| site | string | 是 | `us`（本 skill 默认） |\r\n| managementType | string | 是 | `semi-managed` |\r\n| accessToken | string | 与 storeKey 二选一 | Temu 店铺令牌 |\r\n| storeKey | string | 与 accessToken 二选一 | `~/.linkfox/temu-access-tokens.json` 中的键 |\r\n| tokenPurpose | string | 否 | 建议 **`order-shipping`**（订单/发货） |\r\n| type | string | 是 | Temu 接口名，如 Partner 文档中的 `bg.*` / `temu.*` |\r\n| params | object | 否 | 业务参数；多数接口业务块在 **`params.request`** |\r\n\r\n### 网关响应\r\n\r\n| 字段 | 类型 | 说明 |\r\n|------|------|------|\r\n| body | string | Temu 原始 JSON 字符串；脚本解析为 `temuBody` |\r\n| code | integer | 网关错误码：`1002` 参数/Token，`1003` 转发失败 |\r\n\r\n解析顺序：**网关 `code`** → `JSON.parse(body)` → `success` / `errorCode` / `errorMsg` / `result`。\r\n\r\n### 脚本调用\r\n\r\n```bash\r\nexport LINKFOXAGENT_API_KEY=\"<key>\"\r\npython scripts/us_order_list_v2_get.py '{\"accessToken\":\"TOKEN\",\"tokenPurpose\":\"order-shipping\",\"request\":{\"pageNumber\":1,\"pageSize\":20,\"parentOrderStatus\":2}}'\r\n```\r\n\r\n业务字段可放在顶层或嵌套 `params`；含 `request` 时通常整体作为 `params` 转发。\r\n\r\n---\r\n\r\n## 接口一览\r\n\r\n完整 `sub_menu_code` 与 Partner 文档 URL 见 [partner-us-catalog.md](./partner-us-catalog.md)。\r\n\r\n**每个接口单独一份文档**：[apis/README.md](./apis/README.md)（随接入递增）。\r\n\r\n已接入接口见 [apis/README.md](./apis/README.md)。\r\n\r\n---\r\n\r\n## 典型订单管理流程\r\n\r\n```text\r\n1. bg.order.list.v2.get（本 skill）                    → 按状态/时间/父单号分页查订单列表\r\n2. bg.order.detail.v2.get（本 skill）                  → 按 parentOrderSn 拉父单+子单完整详情\r\n3. bg.order.shippinginfo.v2.get（本 skill）            → 按 parentOrderSn 拉收货地址（含 warning）\r\n4. bg.order.decryptshippinginfo.get（本 skill）        → 按 parentOrderSn 拉**敏感/解密**收货地址\r\n5. bg.order.amount.query（本 skill）                   → 按 parentOrderSn 拉供货价/金额（ERP 对账）\r\n6. bg.order.combinedshipment.list.get（本 skill）      → 拉可合并发货的父订单组\r\n7. bg.order.customization.get（本 skill）              → 按 orderSnList（≤10）拉定制商品内容\r\n8. temu.local.order.verification.upload（本 skill）  → 上传 SN/IMEI 或二手鉴真编码\r\n9. （待补充）合并发货确认/面单等                        → 填运单、确认发货\r\n10. 取消订单（买家+卖家）                               → **`linkfox-temu-cancel-order-us`**\r\n11. 履约/发货（购标、自发货、合作仓、跟踪）         → **`linkfox-temu-fulfillment-us`**\r\n```\r\n\r\n商品信息请用 **`linkfox-temu-manage-product-us`**；发品请用 **`linkfox-temu-add-product-us`**；取消订单请用 **`linkfox-temu-cancel-order-us`**；履约/发货请用 **`linkfox-temu-fulfillment-us`**。\r\n\r\n---\r\n\r\n## 网关错误码\r\n\r\n| code | 说明 | 处理 |\r\n|------|------|------|\r\n| 1002 | 参数或 LinkFox Token 无效 | 修正参数与 `LINKFOXAGENT_API_KEY` |\r\n| 1003 | 转发失败 | 检查 Temu token、`tokenPurpose`、白名单、网络 |\r\n\r\n---\r\n\r\n## Feedback API\r\n\r\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\r\n- `skillName`: **`linkfox-temu-order-us`**\n\nFile v1.0.4:references/apis/bg-order-amount-query.md\n\n# 订单金额/供货价查询 — `bg.order.amount.query`\n\n| 项 | 值 |\n|----|-----|\n| **脚本** | `scripts/us_order_amount_query.py` |\n| **Partner 文档** | https://partner-us.temu.com/documentation（`menu_code` / `sub_menu_code` 以 Partner 后台该接口页为准） |\n| **网关** | `POST /temu/proxy`，`type`=`bg.order.amount.query`，业务载荷放在 Body 的 `params` |\n\n**Description:** Provide the supply price information corresponding to the orders for the self-developed ERP（为自研 ERP 提供订单对应的供货价/金额信息）。\n\n> **网关鉴权字段**由本 skill 网关脚本处理；业务参数见下方 `request`。建议使用 **`tokenPurpose=order-shipping`**。\n\n---\n\n## Request 结构（官方业务参数）\n\n```text\nparams\n└── request (OBJECT, 选填)\n    └── parentOrderSn (STRING, 必填)\n```\n\n### `request`\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| parentOrderSn | STRING | **是** | Parent order number（父订单号） |\n\n### 网关 `params` 写法\n\n```json\n{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}\n```\n\n---\n\n## Response（Temu `body` 解析后）\n\n```text\nresponse\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    ├── parentOrderMap\n    │   ├── parentOrderSn\n    │   ├── basePriceTotal\n    │   ├── shippingAmountTotal\n    │   ├── taxTotal\n    │   ├── discountFromSeller\n    │   ├── discountFromTEMU\n    │   ├── refundsTotal\n    │   ├── estimatedRevenueDeduction\n    │   ├── estimatedRevenue\n    │   ├── retailPriceTotal\n    │   ├── customerPaid\n    │   ├── totalDiscount\n    │   └── signOnDelivery\n    ├── orderList[]\n    │   ├── orderSn\n    │   ├── basePrice\n    │   ├── unitBasePrice\n    │   ├── quantity\n    │   ├── unitRetailPrice\n    │   ├── discountFromSeller\n    │   ├── discountFromTEMU\n    │   └── shipAmountTotal\n    └── warning[]\n```\n\n> 下列带 **`currency` + `amount`** 的金额块结构相同，见 [金额块（MoneyAmount）](#金额块moneyamount)。\n\n### `response` 顶层字段\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| success | BOOLEAN | success |\n| errorCode | INTEGER | error code |\n| errorMsg | STRING | error message |\n| result | OBJECT | 订单金额结果 |\n\n### `result`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderMap | OBJECT | Parent order information（父订单金额汇总） |\n| orderList | OBJECT[] | Order information（子订单金额明细） |\n| warning | STRING[] | warning message（告警信息） |\n\n### `parentOrderMap`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| parentOrderSn | STRING | Parent order number（父订单号） |\n| basePriceTotal | OBJECT | Base price total（基础价/供货价合计） |\n| shippingAmountTotal | OBJECT | Shipping total（运费合计） |\n| taxTotal | OBJECT | Consumer's paid tax: Calculated on realPrice（消费者已付税费，按 realPrice 计算） |\n| discountFromSeller | OBJECT | Discount from seller（卖家折扣） |\n| discountFromTEMU | OBJECT | Discount from Temu（平台折扣） |\n| refundsTotal | OBJECT | Refunds total（退款合计） |\n| estimatedRevenueDeduction | OBJECT | Estimated revenue deduction（预估收入扣减） |\n| estimatedRevenue | OBJECT | Estimated revenue（预估收入） |\n| retailPriceTotal | OBJECT | Retail price total — Total promotional sale price of the products（零售价/促销售价合计） |\n| customerPaid | OBJECT | Total paid — payment of the order from the customer（消费者实付合计） |\n| totalDiscount | OBJECT | the amount of discount（折扣合计） |\n| signOnDelivery | OBJECT | amount of signature on delivery（签收服务费） |\n\n#### `parentOrderMap` 金额字段公式（官方说明）\n\n| 字段 | 公式 / 说明 |\n|------|-------------|\n| estimatedRevenue | `estimatedRevenue = basePriceTotal + shippingAmountTotal - estimatedRevenueDeduction + signOnDelivery` |\n| customerPaid | `customerPaid = retailPriceTotal + shippingAmountTotal + taxTotal - refundsTotal + signOnDelivery - totalDiscount` |\n| totalDiscount | `totalDiscount = discountFromTEMU + discountFromSeller` |\n| signOnDelivery | 消费者未购买该服务时返回 **NULL**；签收服务费已退款时返回 **0** |\n\n### `orderList[]`\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| orderSn | STRING | Order number (sub-order number)（子订单号） |\n| basePrice | OBJECT | Base price（子单基础价/供货价） |\n| unitBasePrice | OBJECT | Base price subtotal — unit base price（单位基础价小计） |\n| quantity | INTEGER | The quantity of original single items in order（订单原始单品数量） |\n| unitRetailPrice | OBJECT | Unit retail price（单位零售价） |\n| discountFromSeller | OBJECT | Discount from seller for this product（该商品卖家折扣） |\n| discountFromTEMU | OBJECT | Discount from TEMU for this product（该商品平台折扣） |\n| shipAmountTotal | OBJECT | shipping cost — Total shipping fee of this product（该商品运费合计） |\n\n---\n\n## 金额块（MoneyAmount）\n\n以下字段均为 **OBJECT**，结构一致：\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| currency | STRING | currency（币种代码） |\n| amount | LONG | The minimum currency unit of t\n\nArchive v1.0.3: 38 files, 56083 bytes\n\nFiles: references/access-token.md (4450b), references/api.md (4667b), references/apis/bg-order-amount-query.md (6397b), references/apis/bg-order-combinedshipment-list-get.md (4078b), references/apis/bg-order-customization-get.md (7041b), references/apis/bg-order-decryptshippinginfo-get.md (4423b), references/apis/bg-order-detail-v2-get.md (13078b), references/apis/bg-order-list-v2-get.md (15766b), references/apis/bg-order-shippinginfo-v2-get.md (4596b), references/apis/README.md (1580b), references/apis/temu-local-order-verification-upload.md (5037b), references/authorization-flow.md (1186b), references/partner-us-catalog.md (4031b), scripts/_temu_auth_guide.py (6198b), scripts/_temu_common.py (12432b), scripts/_temu_token_store.py (4273b), scripts/_temu_us_common.py (3167b), scripts/_us_order_script.py (512b), scripts/check_linkfox_token.py (1797b), scripts/get_temu_access_token.py (1843b), scripts/list_temu_access_tokens.py (652b), scripts/save_temu_access_token.py (1377b), scripts/temu_file_download.py (1681b), scripts/temu_proxy.py (2124b), scripts/temu_token_guide.py (1594b), scripts/temu_us_file_download.py (689b), scripts/temu_us_proxy.py (933b), scripts/us_order_amount_query.py (257b), scripts/us_order_combinedshipment_list_get.py (282b), scripts/us_order_customization_get.py (264b), scripts/us_order_decryptshippinginfo_get.py (282b), scripts/us_order_detail_v2_get.py (237b), scripts/us_order_list_v2_get.py (231b), scripts/us_order_shippinginfo_v2_get.py (261b), scripts/us_order_verification_upload.py (292b), skill-card.md (3174b), SKILL.md (8311b), _meta.json (140b)\n\nArchive v1.0.2: 37 files, 54575 bytes\n\nFiles: references/access-token.md (4450b), references/api.md (4667b), references/apis/bg-order-amount-query.md (6397b), references/apis/bg-order-combinedshipment-list-get.md (4078b), references/apis/bg-order-customization-get.md (7041b), references/apis/bg-order-decryptshippinginfo-get.md (4423b), references/apis/bg-order-detail-v2-get.md (13078b), references/apis/bg-order-list-v2-get.md (15766b), references/apis/bg-order-shippinginfo-v2-get.md (4596b), references/apis/README.md (1580b), references/apis/temu-local-order-verification-upload.md (5037b), references/authorization-flow.md (1186b), references/partner-us-catalog.md (4031b), scripts/_temu_auth_guide.py (6198b), scripts/_temu_common.py (12432b), scripts/_temu_token_store.py (4273b), scripts/_temu_us_common.py (3167b), scripts/_us_order_script.py (512b), scripts/check_linkfox_token.py (1797b), scripts/get_temu_access_token.py (1843b), scripts/list_temu_access_tokens.py (652b), scripts/save_temu_access_token.py (1377b), scripts/temu_file_download.py (1681b), scripts/temu_proxy.py (2124b), scripts/temu_token_guide.py (1594b), scripts/temu_us_file_download.py (689b), scripts/temu_us_proxy.py (933b), scripts/us_order_amount_query.py (257b), scripts/us_order_combinedshipment_list_get.py (282b), scripts/us_order_customization_get.py (264b), scripts/us_order_decryptshippinginfo_get.py (282b), scripts/us_order_detail_v2_get.py (237b), scripts/us_order_list_v2_get.py (231b), scripts/us_order_shippinginfo_v2_get.py (261b), scripts/us_order_verification_upload.py (292b), SKILL.md (8311b), _meta.json (140b)\n\nArchive v1.0.0: 38 files, 52934 bytes\n\nFiles: references/access-token.md (4450b), references/api.md (4555b), references/apis/bg-order-amount-query.md (6397b), references/apis/bg-order-combinedshipment-list-get.md (4078b), references/apis/bg-order-customization-get.md (7041b), references/apis/bg-order-decryptshippinginfo-get.md (4423b), references/apis/bg-order-detail-v2-get.md (13078b), references/apis/bg-order-list-v2-get.md (15766b), references/apis/bg-order-shippinginfo-v2-get.md (4596b), references/apis/README.md (1580b), references/apis/temu-local-order-verification-upload.md (5037b), references/authorization-flow.md (1186b), references/partner-us-catalog.md (4031b), scripts/_temu_auth_guide.py (6198b), scripts/_temu_common.py (5593b), scripts/_temu_token_store.py (4237b), scripts/_temu_us_common.py (3050b), scripts/_us_order_script.py (512b), scripts/check_linkfox_token.py (1797b), scripts/get_temu_access_token.py (1843b), scripts/list_temu_access_tokens.py (652b), scripts/save_temu_access_token.py (1377b), scripts/temu_file_download.py (1595b), scripts/temu_proxy.py (2027b), scripts/temu_token_guide.py (1594b), scripts/temu_us_file_download.py (650b), scripts/temu_us_proxy.py (887b), scripts/us_order_amount_query.py (257b), scripts/us_order_combinedshipment_list_get.py (282b), scripts/us_order_customization_get.py (264b), scripts/us_order_decryptshippinginfo_get.py (282b), scripts/us_order_detail_v2_get.py (237b), scripts/us_order_list_v2_get.py (231b), scripts/us_order_shippinginfo_v2_get.py (261b), scripts/us_order_verification_upload.py (292b), skill-card.md (2658b), SKILL.md (6866b), _meta.json (140b)","readmeExcerpt":"Skill: Temu美国站-订单 Owner: linkfox-ai Summary: Temu 美国站订单管理 API，经 LinkFox 网关转发 Partner US 订单接口：订单列表/详情/收货地址/金额/合并发货/定制/SN鉴真上传(bg.order.*、temu.local.order.verification.upload)、发货、物流等。当用户提到 Temu US 订单、上传SN、IMEI、二手鉴真、verification upload、定制商品、合并发货、订单金额、parentOrderSn、order-shipping 时触发。商品管理用 linkfox-temu-manage-product-us；发品用 linkfox-temu-add-product-us；价格用 linkfox-temu-price-us。 Tags: latest:1.0.6 Version history: v1.0.6 |","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"export LINKFOXAGENT_API_KEY=\"<key>\"\n\n# 订单列表 V2（待发货 parentOrderStatus=2）\npython scripts/us_order_list_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"pageNumber\": 1,\n    \"pageSize\": 20,\n    \"parentOrderStatus\": 2\n  }\n}'\n\n# 按父订单号查询（最多 20 个）\npython scripts/us_order_list_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"request\": {\n    \"parentOrderSnList\": [\"PO-123456789\"]\n  }\n}'\n\n# 订单详情 V2（须 parentOrderSn）\npython scripts/us_order_detail_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 收货地址 V2（传 parentOrderSn）\npython scripts/us_order_shippinginfo_v2_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 敏感收货地址解密（传 parentOrderSn）\npython scripts/us_order_decryptshippinginfo_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 订单金额/供货价（ERP 对账，传 parentOrderSn）\npython scripts/us_order_amount_query.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}'\n\n# 可合并发货订单组（request 可为空对象）\npython scripts/us_order_combinedshipment_list_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {}\n}'\n\n# 定制商品内容（子订单号 orderSn，单次最多 10 个）\npython scripts/us_order_customization_get.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"orderSnList\": [\"SO-123456789\", \"SO-987654321\"]\n  }\n}'\n\n# 上传 SN/IMEI 或二手鉴真（orderList[].orderSn）\npython scripts/us_order_verification_upload.py '{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"orderList\": [\n      {\n        \"orderSn\": \"SO-123456789\",\n        \"verificationInfo\": [\n          {\n            \"serialNumber\": \"SN-001234567890\",\n            \"imeiNumberList\": [\"352099001761481\"]\n          }\n        ]\n      }\n    ]\n  }"},{"language":"bash","snippet":"export LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/check_linkfox_token.py"},{"language":"bash","snippet":"# 查看授权步骤\npython scripts/temu_token_guide.py '{\"shopType\":\"semi-managed\",\"tokenPurpose\":\"product-inventory\",\"site\":\"cn\"}'\n\n# 保存 token\npython scripts/save_temu_access_token.py '{\n  \"storeKey\": \"my-shop\",\n  \"label\": \"中国半托管\",\n  \"site\": \"cn\",\n  \"managementType\": \"semi-managed\",\n  \"tokenPurpose\": \"product-inventory\",\n  \"accessToken\": \"PASTE_TOKEN\"\n}'\n\n# 列出已保存（脱敏）\npython scripts/list_temu_access_tokens.py\n\n# 用 storeKey 调 API（无需每次粘贴 token）\npython scripts/temu_proxy.py '{\n  \"storeKey\": \"my-shop\",\n  \"site\": \"cn\",\n  \"managementType\": \"semi-managed\",\n  \"tokenPurpose\": \"product-inventory\",\n  \"type\": \"bg.goods.category.mapping\",\n  \"params\": {\"goodsName\": \"测试\", \"goodsNameEn\": \"Test\"}\n}'"},{"language":"text","snippet":"params\n└── request (OBJECT, 选填)\n    └── parentOrderSn (STRING, 必填)"},{"language":"json","snippet":"{\n  \"accessToken\": \"TOKEN\",\n  \"tokenPurpose\": \"order-shipping\",\n  \"request\": {\n    \"parentOrderSn\": \"PO-123456789\"\n  }\n}"},{"language":"text","snippet":"response\n├── success\n├── errorCode\n├── errorMsg\n└── result\n    ├── parentOrderMap\n    │   ├── parentOrderSn\n    │   ├── basePriceTotal\n    │   ├── shippingAmountTotal\n    │   ├── taxTotal\n    │   ├── discountFromSeller\n    │   ├── discountFromTEMU\n    │   ├── refundsTotal\n    │   ├── estimatedRevenueDeduction\n    │   ├── estimatedRevenue\n    │   ├── retailPriceTotal\n    │   ├── customerPaid\n    │   ├── totalDiscount\n    │   └── signOnDelivery\n    ├── orderList[]\n    │   ├── orderSn\n    │   ├── basePrice\n    │   ├── unitBasePrice\n    │   ├── quantity\n    │   ├── unitRetailPrice\n    │   ├── discountFromSeller\n    │   ├── discountFromTEMU\n    │   └── shipAmountTotal\n    └── warning[]"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: linkfox-temu-order-us\ndescription: Temu 美国站订单管理 API，经 LinkFox 网关转发 Partner US 订单接口：订单列表/详情/收货地址/金额/合并发货/定制/SN鉴真上传(bg.order.*、temu.local.order.verification.upload)、发货、物流等。当用户提到 Temu US 订单、上传SN、IMEI、二手鉴真、verification upload、定制商品、合并发货、订单金额、parentOrderSn、order-shipping 时触发。商品管理用 linkfox-temu-manage-product-us；发品用 linkfox-temu-add-product-us；价格用 linkfox-temu-price-us。\n---\n\n# Temu 美国站订单管理 API（Manage Order）\n\n本 skill（`linkfox-temu-order-us`）覆盖 Partner Platform for US **订单管理**相关 `bg.order.*` / `temu.local.order.*` 接口（`menu_code` 与各 `sub_menu_code` 以 Partner 后台为准，见 [partner-us-catalog.md](./references/partner-us-catalog.md)）。欧洲站请用 **`linkfox-temu-order-eu`**；全球站（非 US/EU）请用 **`linkfox-temu-order-global`**。\n\n> 当前已接入 **8** 个接口；其余订单接口将按 Partner 文档逐条补充到 `references/apis/` 与 `us_order_*.py`。\n\n**网关（本 skill 内置）**：\n\n| 能力 | 方法 | 路径 |\n|------|------|------|\n| 订单 OpenAPI（`us_order_*`、`temu_us_proxy`） | POST | `https://tool-gateway.linkfox.com/temu/proxy` |\n| 加签文件下载 | POST | `https://tool-gateway.linkfox.com/temu/fileDownload` |\n\n## 相关 skill\n\n| 场景 | skill |\n|------|--------|\n| 商品列表/详情/编辑/库存/上下架 | `linkfox-temu-manage-product-us` |\n| 发品、类目、V2 add | `linkfox-temu-add-product-us` |\n| 价格/供货价、定价单 | `linkfox-temu-price-us` |\n| 取消订单（买家+卖家） | `linkfox-temu-cancel-order-us` |\n| 退货与退款 | `linkfox-temu-returns-refunds-us` |\n| 履约/发货（含自发货） | `linkfox-temu-fulfillment-us` |\n| 网关与 Temu token | 本 skill `scripts/` |\n\n## 调用方式\n\n- **API 端点**：`POST /temu/proxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/<脚本名>.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/<skill-name>-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\n\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\n\n\n| 文档 | 内容 |\n|------|------|\n| [api.md](./references/api.md) | 网关、鉴权、错误码、扩展流程 |\n| [partner-us-catalog.md](./references/partner-us-catalog.md) | 接口目录 + Partner URL + 脚本（随接入更新） |\n| [apis/README.md](./references/apis/README.md) | **按接口分文件**（`apis/<type-slug>.md`） |\n\n## 解决认证和积分问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示积分或余额不足**：消息含\"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## 默认参数\n\n| 字段 | 默认 | 说明 |\n|------|------|------|\n| site | `us` | Partner US |\n| managementType | `semi-managed` | 半托管 |\n| tokenPurpose | `order-shipping` | 订单/发货场景 token（见 [access-token.md](./references/access-token.md)） |\n\n## 鉴权\n\n1. **LinkFox**：`LINKFOXAGENT_API_KEY` → Header `Authorization` + `Token`\n2. **Temu**：`accessToken` 或 `storeKey`（`storeKey` 时建议带 `toke"},{"path":"references/apis/README.md","content":"# Order — 接口文档索引\n\n每个 `type` 单独一份文档，经 `POST /temu/proxy` 调用。网关与鉴权见 [../api.md](../api.md)；目录与 `sub_menu_code` 见 [../partner-us-catalog.md](../partner-us-catalog.md)。\n\n## 查询（4）\n\n| type | 文档 |\n|------|------|\n| `bg.order.list.v2.get` | [bg-order-list-v2-get.md](./bg-order-list-v2-get.md) |\n| `bg.order.detail.v2.get` | [bg-order-detail-v2-get.md](./bg-order-detail-v2-get.md) |\n| `bg.order.shippinginfo.v2.get` | [bg-order-shippinginfo-v2-get.md](./bg-order-shippinginfo-v2-get.md) |\n| `bg.order.decryptshippinginfo.get` | [bg-order-decryptshippinginfo-get.md](./bg-order-decryptshippinginfo-get.md) |\n\n## 金额 / ERP（1）\n\n| type | 文档 |\n|------|------|\n| `bg.order.amount.query` | [bg-order-amount-query.md](./bg-order-amount-query.md) |\n\n## 发货 / 物流（1）\n\n| type | 文档 |\n|------|------|\n| `bg.order.combinedshipment.list.get` | [bg-order-combinedshipment-list-get.md](./bg-order-combinedshipment-list-get.md) |\n\n## 定制商品（1）\n\n| type | 文档 |\n|------|------|\n| `bg.order.customization.get` | [bg-order-customization-get.md](./bg-order-customization-get.md) |\n\n## 核验 / 鉴真上传（1）\n\n| type | 文档 |\n|------|------|\n| `temu.local.order.verification.upload` | [temu-local-order-verification-upload.md](./temu-local-order-verification-upload.md) |\n\n## 发货 / 物流（待补充）\n\n| type | 文档 |\n|------|------|\n| _待用户提供 Partner 文档_ | — |\n\n## 其他（待补充）\n\n| type | 文档 |\n|------|------|\n| _待用户提供 Partner 文档_ | — |"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-temu-order-us\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1786720634483\n}"},{"path":"references/access-token.md","content":"# Temu accessToken 授权与获取\n\nTemu **没有** LinkFox 侧自动 OAuth；`accessToken` 须在 Temu 卖家后台「服务市场 → 授权管理」**手动复制**。与 `LINKFOXAGENT_API_KEY`（LinkFox 用户鉴权）是两套令牌。（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\n\n## 两种鉴权（勿混淆）\n\n| 令牌 | 用途 | 获取方式 |\n|------|------|----------|\n| **LinkFox 用户 Token** | 调用 `/temu/proxy`、`/temu/fileDownload` **必填** | `LINKFOXAGENT_API_KEY` 或请求 JSON 的 `token`；Header `Authorization` + `Token`（同 amazon-store-auth）（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理） |\n| **Temu accessToken** | Temu 业务 API（经紫鸟转发） | Temu 卖家后台授权后复制 |\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/check_linkfox_token.py\n```\n\n## tokenPurpose 与场景\n\n| tokenPurpose | 店铺类型 | 推荐 site | 授权应用 |\n|--------------|----------|-----------|----------|\n| `product-inventory` | 半托管 | `cn` / `partner` | 酷鸟卖家助手 |\n| `order-shipping` | 半托管 | `us` / `global` / `eu` | Cyber-ERP酷鸟助手 |\n| `full-managed` | 全托管 | `cn` / `partner` | 酷鸟卖家助手 |\n| `local-native` | 本土（美/欧主体） | `us` 等 | Cyber-ERP |\n\n## 1. 半托管 — 商品/库存 Token\n\n1. 登录 [seller.kuajingmaihuo.com](https://seller.kuajingmaihuo.com) 或 [agentseller.temu.com](https://agentseller.temu.com)\n2. **系统管理** → **服务市场** → **授权管理**\n3. **获取授权** → 选择 **「酷鸟卖家助手」**\n4. 全选常规和特殊授权 → 确认 → **复制 access_token**\n5. 调用 API：`site=cn` 或 `partner`，`managementType=semi-managed`\n\n## 2. 半托管 — 订单/发货 Token\n\n1. 登录 Temu 卖家后台\n2. 右上角 **Seller Central** → 切换到目标区域（美区 / 欧区 / 全球）\n3. **服务市场** → **授权管理**\n4. **获取授权** → 选择 **「Cyber-ERP酷鸟助手」**\n5. 全选授权 → 确认 → 复制 token\n6. 调用 API：`site=us` / `global` / `eu`，`managementType=semi-managed`\n\n## 3. 全托管店铺\n\n1. 登录 Temu 平台\n2. **系统管理** → **服务市场** → **授权管理**\n3. **获取授权** → **「酷鸟卖家助手」** → 全选 → 复制 token\n4. 调用 API：`managementType=full-managed`，`site` 通常 `cn` 或 `partner`\n\n## 4. 本土店铺（美区、欧区主体）\n\n1. 登录 Temu\n2. **Apps And Services** → **Manage Your Apps**\n3. **Authorize a new app** → 搜索 **「Cyber-ERP」**\n4. 一般权限与敏感权限全选 → 确认 → 复制 token\n\n## 站点与 OpenAPI 网关\n\n| site | 说明 | Temu 网关 |\n|------|------|-----------|\n| cn | 中国站 | openapi.kuajingmaihuo.com |\n| partner | Partner 网关 | openapi-b-partner.temu.com |\n| us | 美国站 | openapi-b-us.temu.com |\n| global | 全球区 | openapi-b-global.temu.com |\n| eu | 欧洲站 | openapi-b-eu.temu.com |\n\n## 本地保存 Token（推荐）\n\n默认存储：`~/.linkfox/temu-access-tokens.json`（可用 `TEMU_TOKEN_STORE_PATH` 覆盖）。\n\n```bash\n# 查看授权步骤\npython scripts/temu_token_guide.py '{\"shopType\":\"semi-managed\",\"tokenPurpose\":\"product-inventory\",\"site\":\"cn\"}'\n\n# 保存 token\npython scripts/save_temu_access_token.py '{\n  \"storeKey\": \"my-shop\",\n  \"label\": \"中国半托管\",\n  \"site\": \"cn\",\n  \"managementType\": \"semi-managed\",\n  \"tokenPurpose\": \"product-inventory\",\n  \"accessToken\": \"PASTE_TOKEN\"\n}'\n\n# 列出已保存（脱敏）\npython scripts/list_temu_access_tokens.py\n\n# 用 storeKey 调 API（无需每次粘贴 token）\npython scripts/temu_proxy.py '{\n  \"storeKey\": \"my-shop\",\n  \"site\": \"cn\",\n  \"managementType\": \"semi-managed\",\n  \"tokenPurpose\": \"product-inventory\",\n  \"type\": \"bg.goods.category.mapping\",\n  \"params\": {\"goodsName\": \"测试\", \"goodsNameEn\": \"Test\"}\n}'\n```\n\n## 注意事项\n\n1. **子账号**：可能无法进入服务市场，需主账号授权。\n2. **多站点**：美国站、英国站等需分别登录对应后台获取 Token。\n"},{"path":"references/api.md","content":"# linkfox-temu-order-us — API 参考\r\n\r\nTemu **美国站订单管理**（Partner US **Order / 订单发货** 相关接口），经本 skill `temu_us_proxy`（`POST /temu/proxy`） 转发。Temu 的 `type` 写在 Body，**不是** URL 路径。\r\n\r\n> 网关与鉴权：本 skill `scripts/`（`LINKFOXAGENT_API_KEY`、`accessToken` / `storeKey`）。订单场景 token 见 `references/access-token.md`（`tokenPurpose=order-shipping`）。（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\r\n\r\n---\r\n\r\n## 调用规范\r\n\r\n| 项 | 说明 |\r\n|----|------|\r\n| 网关根地址 | `${LINKFOX_TOOL_GATEWAY}`（可用 `TEMU_API_BASE_URL` / `STORE_API_BASE_URL` 覆盖） |\r\n| 订单 OpenAPI | `POST /temu/proxy` |\r\n| 加签文件下载 | `POST /temu/fileDownload`（`temu_us_file_download.py`） |\r\n| LinkFox 鉴权 | Header **`Authorization`** 与 **`Token`**（同值）；或 `LINKFOX_AGENT_API_KEY` / `LINKFOXAGENT_API_KEY`；或 JSON `token`（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理） |\r\n| Temu 鉴权 | Body `accessToken`，或 `storeKey` + `site` + `managementType` + `tokenPurpose` |\r\n| 默认 | `site=us`，`managementType=semi-managed`，`tokenPurpose=order-shipping` |\r\n| 上游 OpenAPI（US） | `https://openapi-b-us.temu.com/openapi/router`（网关按 `site` 解析） |\r\n\r\n### 网关请求 Body（`/temu/proxy`）\r\n\r\n| 参数 | 类型 | 必填 | 说明 |\r\n|------|------|------|------|\r\n| site | string | 是 | `us`（本 skill 默认） |\r\n| managementType | string | 是 | `semi-managed` |\r\n| accessToken | string | 与 storeKey 二选一 | Temu 店铺令牌 |\r\n| storeKey | string | 与 accessToken 二选一 | `~/.linkfox/temu-access-tokens.json` 中的键 |\r\n| tokenPurpose | string | 否 | 建议 **`order-shipping`**（订单/发货） |\r\n| type | string | 是 | Temu 接口名，如 Partner 文档中的 `bg.*` / `temu.*` |\r\n| params | object | 否 | 业务参数；多数接口业务块在 **`params.request`** |\r\n\r\n### 网关响应\r\n\r\n| 字段 | 类型 | 说明 |\r\n|------|------|------|\r\n| body | string | Temu 原始 JSON 字符串；脚本解析为 `temuBody` |\r\n| code | integer | 网关错误码：`1002` 参数/Token，`1003` 转发失败 |\r\n\r\n解析顺序：**网关 `code`** → `JSON.parse(body)` → `success` / `errorCode` / `errorMsg` / `result`。\r\n\r\n### 脚本调用\r\n\r\n```bash\r\nexport LINKFOXAGENT_API_KEY=\"<key>\"\r\npython scripts/us_order_list_v2_get.py '{\"accessToken\":\"TOKEN\",\"tokenPurpose\":\"order-shipping\",\"request\":{\"pageNumber\":1,\"pageSize\":20,\"parentOrderStatus\":2}}'\r\n```\r\n\r\n业务字段可放在顶层或嵌套 `params`；含 `request` 时通常整体作为 `params` 转发。\r\n\r\n---\r\n\r\n## 接口一览\r\n\r\n完整 `sub_menu_code` 与 Partner 文档 URL 见 [partner-us-catalog.md](./partner-us-catalog.md)。\r\n\r\n**每个接口单独一份文档**：[apis/README.md](./apis/README.md)（随接入递增）。\r\n\r\n已接入接口见 [apis/README.md](./apis/README.md)。\r\n\r\n---\r\n\r\n## 典型订单管理流程\r\n\r\n```text\r\n1. bg.order.list.v2.get（本 skill）                    → 按状态/时间/父单号分页查订单列表\r\n2. bg.order.detail.v2.get（本 skill）                  → 按 parentOrderSn 拉父单+子单完整详情\r\n3. bg.order.shippinginfo.v2.get（本 skill）            → 按 parentOrderSn 拉收货地址（含 warning）\r\n4. bg.order.decryptshippinginfo.get（本 skill）        → 按 parentOrderSn 拉**敏感/解密**收货地址\r\n5. bg.order.amount.query（本 skill）                   → 按 parentOrderSn 拉供货价/金额（ERP 对账）\r\n6. bg.order.combinedshipment.list.get（本 skill）      → 拉可合并发货的父订单组\r\n7. bg.order.customization.get（本 skill）              → 按 orderSnList（≤10）拉定制商品内容\r\n8. temu.local.order.verification.upload（本 skill）  → 上传 SN/IMEI 或二手鉴真编码\r\n9. （待补充）合并发货确认/面单等      "}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1147,"uniquenessScore":34,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T17:12:31.653Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T17:12:31.653Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T21:49:10.252Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}