{"id":"c8d06281-c025-4d24-a32b-1ed0b985b068","entityType":"agent","slug":"clawhub-linkfox-ai-linkfox-shopee-store-logistics","name":"Shopee-店铺物流","canonicalUrl":"https://www.xpersona.co/agent/clawhub-linkfox-ai-linkfox-shopee-store-logistics","canonicalPath":"/agent/clawhub-linkfox-ai-linkfox-shopee-store-logistics","generatedAt":"2026-10-12T17:30:18.332Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T19:57:36.875Z","emptyReason":null},"description":"Shopee（虾皮）店铺物流发货（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Logistics 模块全部 46 个接口：get_shipping_parameter、ship_order、get_tracking_number、create_shipping_document、download_shipping_document、get_channel_list 等。当用户提到 Shopee 物流、发货、ship_order、运单号、面单、tracking、揽收地址、物流渠道、READY_TO_SHIP 发货 时触发。即使未明确提及\"物流\"，只要涉及已授权 Shopee 店铺的发货、面单或物流轨迹查询，也应触发。","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-shopee-store-logistics","sourceUrl":"https://clawhub.ai/linkfox-ai/linkfox-shopee-store-logistics","homepage":"https://clawhub.ai/linkfox-ai/skills/linkfox-shopee-store-logistics","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/linkfox-ai/linkfox-shopee-store-logistics","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/linkfox-ai/skills/linkfox-shopee-store-logistics","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Shopee-店铺物流 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-11T19:57:36.875Z","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-11T19:57:36.875Z","emptyReason":null},"stars":null,"forks":null,"downloads":1000,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.0.6","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T19:57:36.860Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T19:57:36.875Z","lastCrawledAt":"2026-10-11T19:57:36.860Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T19:57:36.860Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.6","createdAt":"2026-09-14T05:28:39.485Z","changelog":"Update from 1.0.5 to 1.0.6","fileCount":103,"zipByteSize":104875},{"version":"1.0.5","createdAt":"2026-08-14T15:05:14.340Z","changelog":"Update from 1.0.4 to 1.0.5","fileCount":103,"zipByteSize":104927},{"version":"1.0.4","createdAt":"2026-08-07T11:03:48.302Z","changelog":"Update from 1.0.3 to 1.0.4","fileCount":103,"zipByteSize":104911},{"version":"1.0.3","createdAt":"2026-07-13T12:22:25.703Z","changelog":"Update from 1.0.2 to 1.0.3","fileCount":55,"zipByteSize":44724},{"version":"1.0.2","createdAt":"2026-07-06T11:31:01.254Z","changelog":"Update from 1.0.1 to 1.0.2","fileCount":55,"zipByteSize":44066},{"version":"1.0.1","createdAt":"2026-07-03T08:30:17.168Z","changelog":"Update from 1.0.0 to 1.0.1","fileCount":54,"zipByteSize":42576},{"version":"1.0.0","createdAt":"2026-07-02T14:52:03.930Z","changelog":"Initial release","fileCount":54,"zipByteSize":42559}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-shopee-store-logistics","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-shopee-store-logistics` 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-shopee-store-logistics 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-shopee-store-logistics/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-logistics/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-logistics/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-logistics/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-logistics/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-logistics/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-12T17:30:18.329Z"}},"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-shopee-store-logistics/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-logistics/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-logistics/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-logistics/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-11T19:57:36.875Z","emptyReason":null},"readme":"Skill: Shopee-店铺物流\n\nOwner: linkfox-ai\n\nSummary: Shopee（虾皮）店铺物流发货（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Logistics 模块全部 46 个接口：get_shipping_parameter、ship_order、get_tracking_number、create_shipping_document、download_shipping_document、get_channel_list 等。当用户提到 Shopee 物流、发货、ship_order、运单号、面单、tracking、揽收地址、物流渠道、READY_TO_SHIP 发货 时触发。即使未明确提及\"物流\"，只要涉及已授权 Shopee 店铺的发货、面单或物流轨迹查询，也应触发。\n\nTags: latest:1.0.6\n\nVersion history:\n\nv1.0.6 | 2026-09-14T05:28:39.485Z | user\n\nUpdate from 1.0.5 to 1.0.6\n\nv1.0.5 | 2026-08-14T15:05:14.340Z | user\n\nUpdate from 1.0.4 to 1.0.5\n\nv1.0.4 | 2026-08-07T11:03:48.302Z | user\n\nUpdate from 1.0.3 to 1.0.4\n\nv1.0.3 | 2026-07-13T12:22:25.703Z | user\n\nUpdate from 1.0.2 to 1.0.3\n\nv1.0.2 | 2026-07-06T11:31:01.254Z | user\n\nUpdate from 1.0.1 to 1.0.2\n\nv1.0.1 | 2026-07-03T08:30:17.168Z | user\n\nUpdate from 1.0.0 to 1.0.1\n\nv1.0.0 | 2026-07-02T14:52:03.930Z | user\n\nInitial release\n\nArchive index:\n\nArchive v1.0.6: 103 files, 104875 bytes\n\nFiles: references/api.md (13104b), references/apis/batch-ship-order.md (1361b), references/apis/batch-update-tpf-warehouse-tracking-status.md (1602b), references/apis/check-polygon-update-status.md (1462b), references/apis/create-booking-shipping-document.md (1518b), references/apis/create-shipping-document-job.md (1490b), references/apis/create-shipping-document.md (1451b), references/apis/delete-address.md (1340b), references/apis/delete-special-operating-hour.md (1488b), references/apis/download-booking-shipping-document.md (1520b), references/apis/download-shipping-document-job.md (1494b), references/apis/download-shipping-document.md (1467b), references/apis/download-to-label.md (1375b), references/apis/get-address-list.md (1393b), references/apis/get-booking-shipping-document-data-info.md (1556b), references/apis/get-booking-shipping-document-parameter.md (1563b), references/apis/get-booking-shipping-document-result.md (1537b), references/apis/get-booking-shipping-parameter.md (1498b), references/apis/get-booking-tracking-info.md (1446b), references/apis/get-booking-tracking-number.md (1466b), references/apis/get-channel-list.md (1389b), references/apis/get-mart-packaging-info.md (1426b), references/apis/get-mass-shipping-parameter.md (1518b), references/apis/get-mass-tracking-number.md (1442b), references/apis/get-operating-hour-restrictions.md (1506b), references/apis/get-operating-hours.md (1401b), references/apis/get-pause-status.md (1377b), references/apis/get-shipping-document-data-info.md (1505b), references/apis/get-shipping-document-job-status.md (1491b), references/apis/get-shipping-document-parameter.md (1656b), references/apis/get-shipping-document-result.md (1476b), references/apis/get-shipping-parameter.md (1583b), references/apis/get-tracking-info.md (1441b), references/apis/get-tracking-number.md (1543b), references/apis/mass-ship-order.md (1353b), references/apis/set-address-config.md (1395b), references/apis/set-mart-packaging-info.md (1428b), references/apis/set-pause-status.md (1379b), references/apis/ship-booking.md (1332b), references/apis/ship-order.md (1414b), references/apis/update-address.md (1368b), references/apis/update-channel.md (1358b), references/apis/update-operating-hours.md (1419b), references/apis/update-self-collection-order-logistics.md (1563b), references/apis/update-shipping-order.md (1429b), references/apis/update-tracking-status.md (1419b), references/apis/upload-serviceable-polygon.md (1477b), references/onboarding.md (1999b), scripts/_logistics_api_runner.py (4308b), scripts/_logistics_endpoints.py (11359b), scripts/_shopee_logistics_common.py (11830b), scripts/batch_ship_order.py (691b), scripts/batch_update_tpf_warehouse_tracking_status.py (847b), scripts/check_auth_dependency.py (3987b), scripts/check_polygon_update_status.py (962b), scripts/create_booking_shipping_document.py (787b), scripts/create_shipping_document_job.py (763b), scripts/create_shipping_document.py (739b), scripts/delete_address.py (679b), scripts/delete_special_operating_hour.py (769b), scripts/download_booking_shipping_document.py (799b), scripts/download_shipping_document_job.py (775b), scripts/download_shipping_document.py (751b), scripts/download_to_label.py (697b), scripts/get_address_list.py (691b), scripts/get_booking_shipping_document_data_info.py (829b), scripts/get_booking_shipping_document_parameter.py (829b), scripts/get_booking_shipping_document_result.py (811b), scripts/get_booking_shipping_parameter.py (775b), scripts/get_booking_tracking_info.py (745b), scripts/get_booking_tracking_number.py (757b), scripts/get_channel_list.py (691b), scripts/get_mart_packaging_info.py (733b), scripts/get_mass_shipping_parameter.py (757b), scripts/get_mass_tracking_number.py (739b), scripts/get_operating_hour_restrictions.py (781b), scripts/get_operating_hours.py (709b), scripts/get_pause_status.py (691b), scripts/get_shipping_document_data_info.py (781b), scripts/get_shipping_document_job_status.py (787b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: linkfox-shopee-store-logistics\ndescription: Shopee（虾皮）店铺物流发货（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Logistics 模块全部 46 个接口：get_shipping_parameter、ship_order、get_tracking_number、create_shipping_document、download_shipping_document、get_channel_list 等。当用户提到 Shopee 物流、发货、ship_order、运单号、面单、tracking、揽收地址、物流渠道、READY_TO_SHIP 发货 时触发。即使未明确提及\"物流\"，只要涉及已授权 Shopee 店铺的发货、面单或物流轨迹查询，也应触发。\n---\n\n# Shopee 店铺 Logistics\n\nShopee Open Platform **Logistics 模块**（46 个 API）。**依赖 `linkfox-shopee-store-auth`** 选店；经 **`POST /shopee/developerProxy`** 传入 `shopId`（或 `merchantId`），由服务端解析 token 转发（`path` 须 `api/v2/logistics/...`）。\n\n## 调用方式\n\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/logistics_api.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗算力；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-logistics-<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发生以下异常情况时，采用 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\nLogistics 模块索引：[v2.logistics.get_shipping_parameter](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1)\n\n---\n\n## Prerequisites（必须先读）\n\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`** 并授权店铺。\n2. **不要**在本 skill 内实现授权/令牌逻辑。\n\n---\n\n## Core Concepts\n\n- **转发链路**：`developerProxy`（`shopId`/`merchantId` 选店，服务端注入 token）→ 紫鸟 `shopee-proxy` → Shopee API\n- **典型发货流程**：`get_shipping_parameter` → `ship_order` → `get_tracking_number` → 面单（`create_shipping_document` → `download_shipping_document`）\n- **订单查询**（列表/详情）→ `linkfox-shopee-store-orders`；本 skill 负责**物流发货与面单**\n- **店铺级 API**：通常传 **`shopId`**\n\n## 可用脚本（Logistics 模块 46 个 API）\n\n| 分组 | 脚本 |\n|------|------|\n| 发货 | `get_shipping_parameter.py`、`ship_order.py`、`mass_ship_order.py`、`batch_ship_order.py`、`update_shipping_order.py` |\n| 运单/轨迹 | `get_tracking_number.py`、`get_tracking_info.py`、`update_tracking_status.py` |\n| 面单 | `get_shipping_document_parameter.py`、`create_shipping_document.py`、`download_shipping_document.py`、`create_shipping_document_job.py` 等 |\n| 地址/渠道 | `get_address_list.py`、`get_channel_list.py`、`update_address.py`、`set_address_config.py` |\n| Booking | `get_booking_shipping_parameter.py`、`ship_booking.py` 及 booking 面单系列 |\n| 通用入口 | `logistics_api.py`（JSON 含 `api` 字段） |\n\n完整列表见 `references/api.md`。共享：`_shopee_logistics_common.py`、`_logistics_endpoints.py`、`_logistics_api_runner.py`。\n\n## 接口说明（按 API）\n\n入参与响应细节放在 `references/apis/`，SKILL 只保留索引。\n\n| API | 说明文档 |\n|-----|----------|\n| `batch_ship_order` | [references/apis/batch-ship-order.md](./references/apis/batch-ship-order.md) |\n| `batch_update_tpf_warehouse_tracking_status` | [references/apis/batch-update-tpf-warehouse-tracking-status.md](./references/apis/batch-update-tpf-warehouse-tracking-status.md) |\n| `check_polygon_update_status` | [references/apis/check-polygon-update-status.md](./references/apis/check-polygon-update-status.md) |\n| `create_booking_shipping_document` | [references/apis/create-booking-shipping-document.md](./references/apis/create-booking-shipping-document.md) |\n| `create_shipping_document` | [references/apis/create-shipping-document.md](./references/apis/create-shipping-document.md) |\n| `create_shipping_document_job` | [references/apis/create-shipping-document-job.md](./references/apis/create-shipping-document-job.md) |\n| `delete_address` | [references/apis/delete-address.md](./references/apis/delete-address.md) |\n| `delete_special_operating_hour` | [references/apis/delete-special-operating-hour.md](./references/apis/delete-special-operating-hour.md) |\n| `download_booking_shipping_document` | [references/apis/download-booking-shipping-document.md](./references/apis/download-booking-shipping-document.md) |\n| `download_shipping_document` | [references/apis/download-shipping-document.md](./references/apis/download-shipping-document.md) |\n| `download_shipping_document_job` | [references/apis/download-shipping-document-job.md](./references/apis/download-shipping-document-job.md) |\n| `download_to_label` | [references/apis/download-to-label.md](./references/apis/download-to-label.md) |\n| `get_address_list` | [references/apis/get-address-list.md](./references/apis/get-address-list.md) |\n| `get_booking_shipping_document_data_info` | [references/apis/get-booking-shipping-document-data-info.md](./references/apis/get-booking-shipping-document-data-info.md) |\n| `get_booking_shipping_document_parameter` | [references/apis/get-booking-shipping-document-parameter.md](./references/apis/get-booking-shipping-document-parameter.md) |\n| `get_booking_shipping_document_result` | [references/apis/get-booking-shipping-document-result.md](./references/apis/get-booking-shipping-document-result.md) |\n| `get_booking_shipping_parameter` | [references/apis/get-booking-shipping-parameter.md](./references/apis/get-booking-shipping-parameter.md) |\n| `get_booking_tracking_info` | [references/apis/get-booking-tracking-info.md](./references/apis/get-booking-tracking-info.md) |\n| `get_booking_tracking_number` | [references/apis/get-booking-tracking-number.md](./references/apis/get-booking-tracking-number.md) |\n| `get_channel_list` | [references/apis/get-channel-list.md](./references/apis/get-channel-list.md) |\n| `get_mart_packaging_info` | [references/apis/get-mart-packaging-info.md](./references/apis/get-mart-packaging-info.md) |\n| `get_mass_shipping_parameter` | [references/apis/get-mass-shipping-parameter.md](./references/apis/get-mass-shipping-parameter.md) |\n| `get_mass_tracking_number` | [references/apis/get-mass-tracking-number.md](./references/apis/get-mass-tracking-number.md) |\n| `get_operating_hour_restrictions` | [references/apis/get-operating-hour-restrictions.md](./references/apis/get-operating-hour-restrictions.md) |\n| `get_operating_hours` | [references/apis/get-operating-hours.md](./references/apis/get-operating-hours.md) |\n| `get_pause_status` | [references/apis/get-pause-status.md](./references/apis/get-pause-status.md) |\n| `get_shipping_document_data_info` | [references/apis/get-shipping-document-data-info.md](./references/apis/get-shipping-document-data-info.md) |\n| `get_shipping_document_job_status` | [references/apis/get-shipping-document-job-status.md](./references/apis/get-shipping-document-job-status.md) |\n| `get_shipping_document_parameter` | [references/apis/get-shipping-document-parameter.md](./references/apis/get-shipping-document-parameter.md) |\n| `get_shipping_document_result` | [references/apis/get-shipping-document-result.md](./references/apis/get-shipping-document-result.md) |\n| `get_shipping_parameter` | [references/apis/get-shipping-parameter.md](./references/apis/get-shipping-parameter.md) |\n| `get_tracking_info` | [references/apis/get-tracking-info.md](./references/apis/get-tracking-info.md) |\n| `get_tracking_number` | [references/apis/get-tracking-number.md](./references/apis/get-tracking-number.md) |\n| `mass_ship_order` | [references/apis/mass-ship-order.md](./references/apis/mass-ship-order.md) |\n| `set_address_config` | [references/apis/set-address-config.md](./references/apis/set-address-config.md) |\n| `set_mart_packaging_info` | [references/apis/set-mart-packaging-info.md](./references/apis/set-mart-packaging-info.md) |\n| `set_pause_status` | [references/apis/set-pause-status.md](./references/apis/set-pause-status.md) |\n| `ship_booking` | [references/apis/ship-booking.md](./references/apis/ship-booking.md) |\n| `ship_order` | [references/apis/ship-order.md](./references/apis/ship-order.md) |\n| `update_address` | [references/apis/update-address.md](./references/apis/update-address.md) |\n| `update_channel` | [references/apis/update-channel.md](./references/apis/update-channel.md) |\n| `update_operating_hours` | [references/apis/update-operating-hours.md](./references/apis/update-operating-hours.md) |\n| `update_self_collection_order_logistics` | [references/apis/update-self-collection-order-logistics.md](./references/apis/update-self-collection-order-logistics.md) |\n| `update_shipping_order` | [references/apis/update-shipping-order.md](./references/apis/update-shipping-order.md) |\n| `update_tracking_status` | [references/apis/update-tracking-status.md](./references/apis/update-tracking-status.md) |\n| `upload_serviceable_polygon` | [references/apis/upload-serviceable-polygon.md](./references/apis/upload-serviceable-polygon.md) |\n\n模块总览 / Feedback 见 [references/api.md](./references/api.md)。\n\n## Usage Scenarios\n\n### 1. 单订单发货\n1. orders skill 获取 `order_sn`（状态 READY_TO_SHIP）\n2. `get_shipping_parameter.py`：`order_sn`\n3. `ship_order.py` 传完整 `body`\n4. `get_tracking_number.py` 获取运单号\n\n### 2. 打印面单\n1. `get_shipping_document_parameter.py`\n2. `create_shipping_document.py`\n3. `download_shipping_document.py`\n\n## 调用原则\n\n- 先看 **`developerProxy.httpStatus`**，再读 `*Response` 字段\n- GET：业务参数放 JSON 顶层（runner 拼 queryString）\n- POST：复杂接口传 `body`\n- 每个脚本 docstring 含 **官方文档 URL**（`module=95`）\n\n## Not Applicable\n\n- 店铺授权 → `linkfox-shopee-store-auth`\n- 订单查询/取消/拆单 → `linkfox-shopee-store-orders`\n- 退货退款 → `linkfox-shopee-store-returns`\n- 店铺信息 → `linkfox-shopee-store-shop`\n- 商品 listing → `linkfox-shopee-store-product`\n- FirstMile 头程 → `linkfox-shopee-store-first-mile`\n- SBS 仓储库存 → `linkfox-shopee-store-sbs`\n- FBS 巴西仓储 → `linkfox-shopee-store-fbs`\n\n## 算力消耗规则\n\n不消耗算力。\n\n**Feedback:**\n\nAuto-detect and report feedback via the Feedback API when any of the following apply:\n1. The functionality or purpose described in this skill does not match actual behavior\n2. The skill's results do not match the user's intent\n3. The user expresses dissatisfaction or praise about this skill\n4. Anything you believe could be improved\n\nCall the feedback API as specified in `references/api.md`. Do not interrupt the user's flow.\n\n---\n*For more high-quality, professional cross-border e-commerce skills, visit [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-shopee-store-logistics\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1789363719485\n}\n\nFile v1.0.6:references/api.md\n\n# linkfox-shopee-store-logistics — 参数与字段参考\n\n> 单接口入参/响应说明已拆到 **`apis/`**（按 API 一份）；本文件保留模块总览与 Feedback。\nShopee **Logistics 模块**全部 46 个 API，经 **`POST /shopee/developerProxy`** 转发。\n\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.logistics.get_shipping_parameter](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1)\n\n## 通用约定\n\n- **Base URL**：`https://tool-gateway.linkfox.com`\n- **Method**：POST（网关），上游 Method 见各接口\n- **Auth**：Header `Authorization: <api_key>`（`LINKFOXAGENT_API_KEY`）（如未配置 按 SKILL.md 的 **## 解决认证和算力问题** 处理）\n- **流程**：`POST /shopee/storeTokens` → `POST /shopee/developerProxy`\n- **path**：须 `api/v2/logistics/...`\n- **标识**：店铺级物流 API，通常传 **`shopId`**\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.logistics.{api}?module=95&type=1`\n- **复杂 POST**（如 `ship_order`）：推荐传完整 `body` 对象\n\n---\n\n## Logistics 模块总览\n\n| # | API | Method | path | 脚本 | 官方文档 |\n|---|-----|--------|------|------|----------|\n| 1 | batch_ship_order | POST | `api/v2/logistics/batch_ship_order` | `batch_ship_order.py` | [apis/batch-ship-order.md](./apis/batch-ship-order.md) |\n| 2 | batch_update_tpf_warehouse_tracking_status | POST | `api/v2/logistics/batch_update_tpf_warehouse_tracking_status` | `batch_update_tpf_warehouse_tracking_status.py` | [apis/batch-update-tpf-warehouse-tracking-status.md](./apis/batch-update-tpf-warehouse-tracking-status.md) |\n| 3 | check_polygon_update_status | GET | `api/v2/logistics/check_polygon_update_status` | `check_polygon_update_status.py` | [apis/check-polygon-update-status.md](./apis/check-polygon-update-status.md) |\n| 4 | create_booking_shipping_document | POST | `api/v2/logistics/create_booking_shipping_document` | `create_booking_shipping_document.py` | [apis/create-booking-shipping-document.md](./apis/create-booking-shipping-document.md) |\n| 5 | create_shipping_document | POST | `api/v2/logistics/create_shipping_document` | `create_shipping_document.py` | [apis/create-shipping-document.md](./apis/create-shipping-document.md) |\n| 6 | create_shipping_document_job | POST | `api/v2/logistics/create_shipping_document_job` | `create_shipping_document_job.py` | [apis/create-shipping-document-job.md](./apis/create-shipping-document-job.md) |\n| 7 | delete_address | POST | `api/v2/logistics/delete_address` | `delete_address.py` | [apis/delete-address.md](./apis/delete-address.md) |\n| 8 | delete_special_operating_hour | POST | `api/v2/logistics/delete_special_operating_hour` | `delete_special_operating_hour.py` | [apis/delete-special-operating-hour.md](./apis/delete-special-operating-hour.md) |\n| 9 | download_booking_shipping_document | GET | `api/v2/logistics/download_booking_shipping_document` | `download_booking_shipping_document.py` | [apis/download-booking-shipping-document.md](./apis/download-booking-shipping-document.md) |\n| 10 | download_shipping_document | GET | `api/v2/logistics/download_shipping_document` | `download_shipping_document.py` | [apis/download-shipping-document.md](./apis/download-shipping-document.md) |\n| 11 | download_shipping_document_job | GET | `api/v2/logistics/download_shipping_document_job` | `download_shipping_document_job.py` | [apis/download-shipping-document-job.md](./apis/download-shipping-document-job.md) |\n| 12 | download_to_label | GET | `api/v2/logistics/download_to_label` | `download_to_label.py` | [apis/download-to-label.md](./apis/download-to-label.md) |\n| 13 | get_address_list | GET | `api/v2/logistics/get_address_list` | `get_address_list.py` | [apis/get-address-list.md](./apis/get-address-list.md) |\n| 14 | get_booking_shipping_document_data_info | GET | `api/v2/logistics/get_booking_shipping_document_data_info` | `get_booking_shipping_document_data_info.py` | [apis/get-booking-shipping-document-data-info.md](./apis/get-booking-shipping-document-data-info.md) |\n| 15 | get_booking_shipping_document_parameter | GET | `api/v2/logistics/get_booking_shipping_document_parameter` | `get_booking_shipping_document_parameter.py` | [apis/get-booking-shipping-document-parameter.md](./apis/get-booking-shipping-document-parameter.md) |\n| 16 | get_booking_shipping_document_result | GET | `api/v2/logistics/get_booking_shipping_document_result` | `get_booking_shipping_document_result.py` | [apis/get-booking-shipping-document-result.md](./apis/get-booking-shipping-document-result.md) |\n| 17 | get_booking_shipping_parameter | GET | `api/v2/logistics/get_booking_shipping_parameter` | `get_booking_shipping_parameter.py` | [apis/get-booking-shipping-parameter.md](./apis/get-booking-shipping-parameter.md) |\n| 18 | get_booking_tracking_info | GET | `api/v2/logistics/get_booking_tracking_info` | `get_booking_tracking_info.py` | [apis/get-booking-tracking-info.md](./apis/get-booking-tracking-info.md) |\n| 19 | get_booking_tracking_number | GET | `api/v2/logistics/get_booking_tracking_number` | `get_booking_tracking_number.py` | [apis/get-booking-tracking-number.md](./apis/get-booking-tracking-number.md) |\n| 20 | get_channel_list | GET | `api/v2/logistics/get_channel_list` | `get_channel_list.py` | [apis/get-channel-list.md](./apis/get-channel-list.md) |\n| 21 | get_mart_packaging_info | GET | `api/v2/logistics/get_mart_packaging_info` | `get_mart_packaging_info.py` | [apis/get-mart-packaging-info.md](./apis/get-mart-packaging-info.md) |\n| 22 | get_mass_shipping_parameter | POST | `api/v2/logistics/get_mass_shipping_parameter` | `get_mass_shipping_parameter.py` | [apis/get-mass-shipping-parameter.md](./apis/get-mass-shipping-parameter.md) |\n| 23 | get_mass_tracking_number | POST | `api/v2/logistics/get_mass_tracking_number` | `get_mass_tracking_number.py` | [apis/get-mass-tracking-number.md](./apis/get-mass-tracking-number.md) |\n| 24 | get_operating_hour_restrictions | GET | `api/v2/logistics/get_operating_hour_restrictions` | `get_operating_hour_restrictions.py` | [apis/get-operating-hour-restrictions.md](./apis/get-operating-hour-restrictions.md) |\n| 25 | get_operating_hours | GET | `api/v2/logistics/get_operating_hours` | `get_operating_hours.py` | [apis/get-operating-hours.md](./apis/get-operating-hours.md) |\n| 26 | get_pause_status | GET | `api/v2/logistics/get_pause_status` | `get_pause_status.py` | [apis/get-pause-status.md](./apis/get-pause-status.md) |\n| 27 | get_shipping_document_data_info | GET | `api/v2/logistics/get_shipping_document_data_info` | `get_shipping_document_data_info.py` | [apis/get-shipping-document-data-info.md](./apis/get-shipping-document-data-info.md) |\n| 28 | get_shipping_document_job_status | GET | `api/v2/logistics/get_shipping_document_job_status` | `get_shipping_document_job_status.py` | [apis/get-shipping-document-job-status.md](./apis/get-shipping-document-job-status.md) |\n| 29 | get_shipping_document_parameter | GET | `api/v2/logistics/get_shipping_document_parameter` | `get_shipping_document_parameter.py` | [apis/get-shipping-document-parameter.md](./apis/get-shipping-document-parameter.md) |\n| 30 | get_shipping_document_result | GET | `api/v2/logistics/get_shipping_document_result` | `get_shipping_document_result.py` | [apis/get-shipping-document-result.md](./apis/get-shipping-document-result.md) |\n| 31 | get_shipping_parameter | GET | `api/v2/logistics/get_shipping_parameter` | `get_shipping_parameter.py` | [apis/get-shipping-parameter.md](./apis/get-shipping-parameter.md) |\n| 32 | get_tracking_info | GET | `api/v2/logistics/get_tracking_info` | `get_tracking_info.py` | [apis/get-tracking-info.md](./apis/get-tracking-info.md) |\n| 33 | get_tracking_number | GET | `api/v2/logistics/get_tracking_number` | `get_tracking_number.py` | [apis/get-tracking-number.md](./apis/get-tracking-number.md) |\n| 34 | mass_ship_order | POST | `api/v2/logistics/mass_ship_order` | `mass_ship_order.py` | [apis/mass-ship-order.md](./apis/mass-ship-order.md) |\n| 35 | set_address_config | POST | `api/v2/logistics/set_address_config` | `set_address_config.py` | [apis/set-address-config.md](./apis/set-address-config.md) |\n| 36 | set_mart_packaging_info | POST | `api/v2/logistics/set_mart_packaging_info` | `set_mart_packaging_info.py` | [apis/set-mart-packaging-info.md](./apis/set-mart-packaging-info.md) |\n| 37 | set_pause_status | POST | `api/v2/logistics/set_pause_status` | `set_pause_status.py` | [apis/set-pause-status.md](./apis/set-pause-status.md) |\n| 38 | ship_booking | POST | `api/v2/logistics/ship_booking` | `ship_booking.py` | [apis/ship-booking.md](./apis/ship-booking.md) |\n| 39 | ship_order | POST | `api/v2/logistics/ship_order` | `ship_order.py` | [apis/ship-order.md](./apis/ship-order.md) |\n| 40 | update_address | POST | `api/v2/logistics/update_address` | `update_address.py` | [apis/update-address.md](./apis/update-address.md) |\n| 41 | update_channel | POST | `api/v2/logistics/update_channel` | `update_channel.py` | [apis/update-channel.md](./apis/update-channel.md) |\n| 42 | update_operating_hours | POST | `api/v2/logistics/update_operating_hours` | `update_operating_hours.py` | [apis/update-operating-hours.md](./apis/update-operating-hours.md) |\n| 43 | update_self_collection_order_logistics | POST | `api/v2/logistics/update_self_collection_order_logistics` | `update_self_collection_order_logistics.py` | [apis/update-self-collection-order-logistics.md](./apis/update-self-collection-order-logistics.md) |\n| 44 | update_shipping_order | POST | `api/v2/logistics/update_shipping_order` | `update_shipping_order.py` | [apis/update-shipping-order.md](./apis/update-shipping-order.md) |\n| 45 | update_tracking_status | POST | `api/v2/logistics/update_tracking_status` | `update_tracking_status.py` | [apis/update-tracking-status.md](./apis/update-tracking-status.md) |\n| 46 | upload_serviceable_polygon | POST | `api/v2/logistics/upload_serviceable_polygon` | `upload_serviceable_polygon.py` | [apis/upload-serviceable-polygon.md](./apis/upload-serviceable-polygon.md) |\n通用入口：`logistics_api.py`（JSON 含 `\"api\": \"<上表 API 名>\"`）。\n\n---\n\n## 常用接口说明\n\n### 发货流程\n\n| API | 要点 |\n|-----|------|\n| `get_shipping_parameter` | 必填 `order_sn`；发货前获取 pickup/dropoff 参数 — [apis/get-shipping-parameter.md](./apis/get-shipping-parameter.md) |\n| `ship_order` | POST `body`：执行发货 — [apis/ship-order.md](./apis/ship-order.md) |\n| `get_tracking_number` | 必填 `order_sn`；获取运单号 — [apis/get-tracking-number.md](./apis/get-tracking-number.md) |\n| `get_tracking_info` | 物流轨迹查询 — [apis/get-tracking-info.md](./apis/get-tracking-info.md) |\n\n### 面单/文档\n\n| API | 要点 |\n|-----|------|\n| `get_shipping_document_parameter` | 必填 `order_sn` — [apis/get-shipping-document-parameter.md](./apis/get-shipping-document-parameter.md) |\n| `create_shipping_document` | 创建面单 — [apis/create-shipping-document.md](./apis/create-shipping-document.md) |\n| `get_shipping_document_result` | 查询面单生成结果 — [apis/get-shipping-document-result.md](./apis/get-shipping-document-result.md) |\n| `download_shipping_document` | 下载面单 PDF — [apis/download-shipping-document.md](./apis/download-shipping-document.md) |\n| `create_shipping_document_job` | 异步批量面单任务 — [apis/create-shipping-document-job.md](./apis/create-shipping-document-job.md) |\n\n### 地址与渠道\n\n| API | 要点 |\n|-----|------|\n| `get_address_list` | 揽收/退货地址列表 — [apis/get-address-list.md](./apis/get-address-list.md) |\n| `get_channel_list` | 可用物流渠道 — [apis/get-channel-list.md](./apis/get-channel-list.md) |\n| `update_address` / `set_address_config` | 地址管理 |\n\n### Booking 发货\n\n`get_booking_shipping_parameter`、`ship_booking`、`get_booking_tracking_number` 及 booking 面单系列 — 见上表。\n\n### 批量与其他\n\n`mass_ship_order`、`batch_ship_order`、`get_mass_shipping_parameter` 等批量接口；Mart 包装、配送 polygon、pause 状态等见上表及官方文档。\n\n---\n\n## 网关错误码\n\n| errcode | 含义 | 建议 |\n|---------|------|------|\n| 1002 | 参数/未登录 | 检查 shopId 与 API Key |\n| 1003 | 代理/网络异常 | 重试 |\n| 1004 | 无授权记录 | auth skill |\n| 1005 | path 未白名单 | 确认 `api/v2/logistics/...` |\n\n---\n\n## curl 示例\n\n```bash\nexport KEY=$LINKFOX_AGENT_API_KEY\nBASE=${LINKFOX_TOOL_GATEWAY}\n\n# 发货参数\ncurl -X POST $BASE/shopee/developerProxy -H \"Authorization: $KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"path\": \"api/v2/logistics/get_shipping_parameter\",\n    \"method\": \"GET\",\n    \"accessToken\": \"xxx\",\n    \"shopId\": \"67890\",\n    \"queryString\": \"order_sn=240101ABC\"\n  }'\n```\n\n---\n\n## Feedback API\n\n```bash\ncurl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"skillName\":\"linkfox-shopee-store-logistics\",\"sentiment\":\"POSITIVE\",\n       \"category\":\"OTHER\",\"content\":\"物流发货查询正常\"}'\n```\n\nFile v1.0.6:references/apis/batch-ship-order.md\n\n# batch_ship_order\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/batch_ship_order.py` |\n| Method / path | POST `api/v2/logistics/batch_ship_order` |\n| 官方文档 | [batch_ship_order](https://open.shopee.com/documents/v2/v2.logistics.batch_ship_order?module=95&type=1) |\n| 用途 | Batch ship orders |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Batch ship orders\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/batch_ship_order.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"batch_ship_order\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`batchShipOrder`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/batch-update-tpf-warehouse-tracking-status.md\n\n# batch_update_tpf_warehouse_tracking_status\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/batch_update_tpf_warehouse_tracking_status.py` |\n| Method / path | POST `api/v2/logistics/batch_update_tpf_warehouse_tracking_status` |\n| 官方文档 | [batch_update_tpf_warehouse_tracking_status](https://open.shopee.com/documents/v2/v2.logistics.batch_update_tpf_warehouse_tracking_status?module=95&type=1) |\n| 用途 | Batch update TPF warehouse tracking |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Batch update TPF warehouse tracking\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/batch_update_tpf_warehouse_tracking_status.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"batch_update_tpf_warehouse_tracking_status\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`batchUpdateTpfWarehouseTrackingStatus`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/check-polygon-update-status.md\n\n# check_polygon_update_status\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/check_polygon_update_status.py` |\n| Method / path | GET `api/v2/logistics/check_polygon_update_status` |\n| 官方文档 | [check_polygon_update_status](https://open.shopee.com/documents/v2/v2.logistics.check_polygon_update_status?module=95&type=1) |\n| 用途 | Polygon upload status |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**GET**\n- GET：业务字段放 JSON **顶层**，runner 拼进 `queryString`（不含 `?`）\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Polygon upload status\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/check_polygon_update_status.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"check_polygon_update_status\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`checkPolygonUpdateStatus`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/create-booking-shipping-document.md\n\n# create_booking_shipping_document\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/create_booking_shipping_document.py` |\n| Method / path | POST `api/v2/logistics/create_booking_shipping_document` |\n| 官方文档 | [create_booking_shipping_document](https://open.shopee.com/documents/v2/v2.logistics.create_booking_shipping_document?module=95&type=1) |\n| 用途 | Create booking shipping document |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Create booking shipping document\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/create_booking_shipping_document.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"create_booking_shipping_document\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`createBookingShippingDocument`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/create-shipping-document-job.md\n\n# create_shipping_document_job\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/create_shipping_document_job.py` |\n| Method / path | POST `api/v2/logistics/create_shipping_document_job` |\n| 官方文档 | [create_shipping_document_job](https://open.shopee.com/documents/v2/v2.logistics.create_shipping_document_job?module=95&type=1) |\n| 用途 | Create async shipping document job |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Create async shipping document job\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/create_shipping_document_job.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"create_shipping_document_job\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`createShippingDocumentJob`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/create-shipping-document.md\n\n# create_shipping_document\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/create_shipping_document.py` |\n| Method / path | POST `api/v2/logistics/create_shipping_document` |\n| 官方文档 | [create_shipping_document](https://open.shopee.com/documents/v2/v2.logistics.create_shipping_document?module=95&type=1) |\n| 用途 | Create shipping document/label |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Create shipping document/label\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/create_shipping_document.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"create_shipping_document\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`createShippingDocument`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/delete-address.md\n\n# delete_address\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_address.py` |\n| Method / path | POST `api/v2/logistics/delete_address` |\n| 官方文档 | [delete_address](https://open.shopee.com/documents/v2/v2.logistics.delete_address?module=95&type=1) |\n| 用途 | Delete address |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Delete address\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_address.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"delete_address\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddress`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/delete-special-operating-hour.md\n\n# delete_special_operating_hour\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_special_operating_hour.py` |\n| Method / path | POST `api/v2/logistics/delete_special_operating_hour` |\n| 官方文档 | [delete_special_operating_hour](https://open.shopee.com/documents/v2/v2.logistics.delete_special_operating_hour?module=95&type=1) |\n| 用途 | Delete special operating hour |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Delete special operating hour\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_special_operating_hour.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"delete_special_operating_hour\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteSpecialOperatingHour`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/download-booking-shipping-document.md\n\n# download_booking_shipping_document\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/download_booking_shipping_document.py` |\n| Method / path | GET `api/v2/logistics/download_booking_shipping_document` |\n| 官方文档 | [download_booking_shipping_document](https://open.shopee.com/documents/v2/v2.logistics.download_booking_shipping_document?module=95&type=1) |\n| 用途 | Download booking label |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**GET**\n- GET：业务字段放 JSON **顶层**，runner 拼进 `queryString`（不含 `?`）\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Download booking label\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/download_booking_shipping_document.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"download_booking_shipping_document\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`downloadBookingShippingDocument`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nArchive v1.0.5: 103 files, 104927 bytes\n\nFiles: references/api.md (13104b), references/apis/batch-ship-order.md (1361b), references/apis/batch-update-tpf-warehouse-tracking-status.md (1602b), references/apis/check-polygon-update-status.md (1462b), references/apis/create-booking-shipping-document.md (1518b), references/apis/create-shipping-document-job.md (1490b), references/apis/create-shipping-document.md (1451b), references/apis/delete-address.md (1340b), references/apis/delete-special-operating-hour.md (1488b), references/apis/download-booking-shipping-document.md (1520b), references/apis/download-shipping-document-job.md (1494b), references/apis/download-shipping-document.md (1467b), references/apis/download-to-label.md (1375b), references/apis/get-address-list.md (1393b), references/apis/get-booking-shipping-document-data-info.md (1556b), references/apis/get-booking-shipping-document-parameter.md (1563b), references/apis/get-booking-shipping-document-result.md (1537b), references/apis/get-booking-shipping-parameter.md (1498b), references/apis/get-booking-tracking-info.md (1446b), references/apis/get-booking-tracking-number.md (1466b), references/apis/get-channel-list.md (1389b), references/apis/get-mart-packaging-info.md (1426b), references/apis/get-mass-shipping-parameter.md (1518b), references/apis/get-mass-tracking-number.md (1442b), references/apis/get-operating-hour-restrictions.md (1506b), references/apis/get-operating-hours.md (1401b), references/apis/get-pause-status.md (1377b), references/apis/get-shipping-document-data-info.md (1505b), references/apis/get-shipping-document-job-status.md (1491b), references/apis/get-shipping-document-parameter.md (1656b), references/apis/get-shipping-document-result.md (1476b), references/apis/get-shipping-parameter.md (1583b), references/apis/get-tracking-info.md (1441b), references/apis/get-tracking-number.md (1543b), references/apis/mass-ship-order.md (1353b), references/apis/set-address-config.md (1395b), references/apis/set-mart-packaging-info.md (1428b), references/apis/set-pause-status.md (1379b), references/apis/ship-booking.md (1332b), references/apis/ship-order.md (1414b), references/apis/update-address.md (1368b), references/apis/update-channel.md (1358b), references/apis/update-operating-hours.md (1419b), references/apis/update-self-collection-order-logistics.md (1563b), references/apis/update-shipping-order.md (1429b), references/apis/update-tracking-status.md (1419b), references/apis/upload-serviceable-polygon.md (1477b), references/onboarding.md (2046b), scripts/_logistics_api_runner.py (4308b), scripts/_logistics_endpoints.py (11359b), scripts/_shopee_logistics_common.py (11600b), scripts/batch_ship_order.py (691b), scripts/batch_update_tpf_warehouse_tracking_status.py (847b), scripts/check_auth_dependency.py (3987b), scripts/check_polygon_update_status.py (962b), scripts/create_booking_shipping_document.py (787b), scripts/create_shipping_document_job.py (763b), scripts/create_shipping_document.py (739b), scripts/delete_address.py (679b), scripts/delete_special_operating_hour.py (769b), scripts/download_booking_shipping_document.py (799b), scripts/download_shipping_document_job.py (775b), scripts/download_shipping_document.py (751b), scripts/download_to_label.py (697b), scripts/get_address_list.py (691b), scripts/get_booking_shipping_document_data_info.py (829b), scripts/get_booking_shipping_document_parameter.py (829b), scripts/get_booking_shipping_document_result.py (811b), scripts/get_booking_shipping_parameter.py (775b), scripts/get_booking_tracking_info.py (745b), scripts/get_booking_tracking_number.py (757b), scripts/get_channel_list.py (691b), scripts/get_mart_packaging_info.py (733b), scripts/get_mass_shipping_parameter.py (757b), scripts/get_mass_tracking_number.py (739b), scripts/get_operating_hour_restrictions.py (781b), scripts/get_operating_hours.py (709b), scripts/get_pause_status.py (691b), scripts/get_shipping_document_data_info.py (781b), scripts/get_shipping_document_job_status.py (787b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: linkfox-shopee-store-logistics\ndescription: Shopee（虾皮）店铺物流发货（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Logistics 模块全部 46 个接口：get_shipping_parameter、ship_order、get_tracking_number、create_shipping_document、download_shipping_document、get_channel_list 等。当用户提到 Shopee 物流、发货、ship_order、运单号、面单、tracking、揽收地址、物流渠道、READY_TO_SHIP 发货 时触发。即使未明确提及\"物流\"，只要涉及已授权 Shopee 店铺的发货、面单或物流轨迹查询，也应触发。\n---\n\n# Shopee 店铺 Logistics\n\nShopee Open Platform **Logistics 模块**（46 个 API）。**依赖 `linkfox-shopee-store-auth`** 选店；经 **`POST /shopee/developerProxy`** 传入 `shopId`（或 `merchantId`），由服务端解析 token 转发（`path` 须 `api/v2/logistics/...`）。\n\n## 调用方式\n\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/logistics_api.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-logistics-<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发生以下异常情况时，采用 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\nLogistics 模块索引：[v2.logistics.get_shipping_parameter](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1)\n\n---\n\n## Prerequisites（必须先读）\n\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`** 并授权店铺。\n2. **不要**在本 skill 内实现授权/令牌逻辑。\n\n---\n\n## Core Concepts\n\n- **转发链路**：`developerProxy`（`shopId`/`merchantId` 选店，服务端注入 token）→ 紫鸟 `shopee-proxy` → Shopee API\n- **典型发货流程**：`get_shipping_parameter` → `ship_order` → `get_tracking_number` → 面单（`create_shipping_document` → `download_shipping_document`）\n- **订单查询**（列表/详情）→ `linkfox-shopee-store-orders`；本 skill 负责**物流发货与面单**\n- **店铺级 API**：通常传 **`shopId`**\n\n## 可用脚本（Logistics 模块 46 个 API）\n\n| 分组 | 脚本 |\n|------|------|\n| 发货 | `get_shipping_parameter.py`、`ship_order.py`、`mass_ship_order.py`、`batch_ship_order.py`、`update_shipping_order.py` |\n| 运单/轨迹 | `get_tracking_number.py`、`get_tracking_info.py`、`update_tracking_status.py` |\n| 面单 | `get_shipping_document_parameter.py`、`create_shipping_document.py`、`download_shipping_document.py`、`create_shipping_document_job.py` 等 |\n| 地址/渠道 | `get_address_list.py`、`get_channel_list.py`、`update_address.py`、`set_address_config.py` |\n| Booking | `get_booking_shipping_parameter.py`、`ship_booking.py` 及 booking 面单系列 |\n| 通用入口 | `logistics_api.py`（JSON 含 `api` 字段） |\n\n完整列表见 `references/api.md`。共享：`_shopee_logistics_common.py`、`_logistics_endpoints.py`、`_logistics_api_runner.py`。\n\n## 接口说明（按 API）\n\n入参与响应细节放在 `references/apis/`，SKILL 只保留索引。\n\n| API | 说明文档 |\n|-----|----------|\n| `batch_ship_order` | [references/apis/batch-ship-order.md](./references/apis/batch-ship-order.md) |\n| `batch_update_tpf_warehouse_tracking_status` | [references/apis/batch-update-tpf-warehouse-tracking-status.md](./references/apis/batch-update-tpf-warehouse-tracking-status.md) |\n| `check_polygon_update_status` | [references/apis/check-polygon-update-status.md](./references/apis/check-polygon-update-status.md) |\n| `create_booking_shipping_document` | [references/apis/create-booking-shipping-document.md](./references/apis/create-booking-shipping-document.md) |\n| `create_shipping_document` | [references/apis/create-shipping-document.md](./references/apis/create-shipping-document.md) |\n| `create_shipping_document_job` | [references/apis/create-shipping-document-job.md](./references/apis/create-shipping-document-job.md) |\n| `delete_address` | [references/apis/delete-address.md](./references/apis/delete-address.md) |\n| `delete_special_operating_hour` | [references/apis/delete-special-operating-hour.md](./references/apis/delete-special-operating-hour.md) |\n| `download_booking_shipping_document` | [references/apis/download-booking-shipping-document.md](./references/apis/download-booking-shipping-document.md) |\n| `download_shipping_document` | [references/apis/download-shipping-document.md](./references/apis/download-shipping-document.md) |\n| `download_shipping_document_job` | [references/apis/download-shipping-document-job.md](./references/apis/download-shipping-document-job.md) |\n| `download_to_label` | [references/apis/download-to-label.md](./references/apis/download-to-label.md) |\n| `get_address_list` | [references/apis/get-address-list.md](./references/apis/get-address-list.md) |\n| `get_booking_shipping_document_data_info` | [references/apis/get-booking-shipping-document-data-info.md](./references/apis/get-booking-shipping-document-data-info.md) |\n| `get_booking_shipping_document_parameter` | [references/apis/get-booking-shipping-document-parameter.md](./references/apis/get-booking-shipping-document-parameter.md) |\n| `get_booking_shipping_document_result` | [references/apis/get-booking-shipping-document-result.md](./references/apis/get-booking-shipping-document-result.md) |\n| `get_booking_shipping_parameter` | [references/apis/get-booking-shipping-parameter.md](./references/apis/get-booking-shipping-parameter.md) |\n| `get_booking_tracking_info` | [references/apis/get-booking-tracking-info.md](./references/apis/get-booking-tracking-info.md) |\n| `get_booking_tracking_number` | [references/apis/get-booking-tracking-number.md](./references/apis/get-booking-tracking-number.md) |\n| `get_channel_list` | [references/apis/get-channel-list.md](./references/apis/get-channel-list.md) |\n| `get_mart_packaging_info` | [references/apis/get-mart-packaging-info.md](./references/apis/get-mart-packaging-info.md) |\n| `get_mass_shipping_parameter` | [references/apis/get-mass-shipping-parameter.md](./references/apis/get-mass-shipping-parameter.md) |\n| `get_mass_tracking_number` | [references/apis/get-mass-tracking-number.md](./references/apis/get-mass-tracking-number.md) |\n| `get_operating_hour_restrictions` | [references/apis/get-operating-hour-restrictions.md](./references/apis/get-operating-hour-restrictions.md) |\n| `get_operating_hours` | [references/apis/get-operating-hours.md](./references/apis/get-operating-hours.md) |\n| `get_pause_status` | [references/apis/get-pause-status.md](./references/apis/get-pause-status.md) |\n| `get_shipping_document_data_info` | [references/apis/get-shipping-document-data-info.md](./references/apis/get-shipping-document-data-info.md) |\n| `get_shipping_document_job_status` | [references/apis/get-shipping-document-job-status.md](./references/apis/get-shipping-document-job-status.md) |\n| `get_shipping_document_parameter` | [references/apis/get-shipping-document-parameter.md](./references/apis/get-shipping-document-parameter.md) |\n| `get_shipping_document_result` | [references/apis/get-shipping-document-result.md](./references/apis/get-shipping-document-result.md) |\n| `get_shipping_parameter` | [references/apis/get-shipping-parameter.md](./references/apis/get-shipping-parameter.md) |\n| `get_tracking_info` | [references/apis/get-tracking-info.md](./references/apis/get-tracking-info.md) |\n| `get_tracking_number` | [references/apis/get-tracking-number.md](./references/apis/get-tracking-number.md) |\n| `mass_ship_order` | [references/apis/mass-ship-order.md](./references/apis/mass-ship-order.md) |\n| `set_address_config` | [references/apis/set-address-config.md](./references/apis/set-address-config.md) |\n| `set_mart_packaging_info` | [references/apis/set-mart-packaging-info.md](./references/apis/set-mart-packaging-info.md) |\n| `set_pause_status` | [references/apis/set-pause-status.md](./references/apis/set-pause-status.md) |\n| `ship_booking` | [references/apis/ship-booking.md](./references/apis/ship-booking.md) |\n| `ship_order` | [references/apis/ship-order.md](./references/apis/ship-order.md) |\n| `update_address` | [references/apis/update-address.md](./references/apis/update-address.md) |\n| `update_channel` | [references/apis/update-channel.md](./references/apis/update-channel.md) |\n| `update_operating_hours` | [references/apis/update-operating-hours.md](./references/apis/update-operating-hours.md) |\n| `update_self_collection_order_logistics` | [references/apis/update-self-collection-order-logistics.md](./references/apis/update-self-collection-order-logistics.md) |\n| `update_shipping_order` | [references/apis/update-shipping-order.md](./references/apis/update-shipping-order.md) |\n| `update_tracking_status` | [references/apis/update-tracking-status.md](./references/apis/update-tracking-status.md) |\n| `upload_serviceable_polygon` | [references/apis/upload-serviceable-polygon.md](./references/apis/upload-serviceable-polygon.md) |\n\n模块总览 / Feedback 见 [references/api.md](./references/api.md)。\n\n## Usage Scenarios\n\n### 1. 单订单发货\n1. orders skill 获取 `order_sn`（状态 READY_TO_SHIP）\n2. `get_shipping_parameter.py`：`order_sn`\n3. `ship_order.py` 传完整 `body`\n4. `get_tracking_number.py` 获取运单号\n\n### 2. 打印面单\n1. `get_shipping_document_parameter.py`\n2. `create_shipping_document.py`\n3. `download_shipping_document.py`\n\n## 调用原则\n\n- 先看 **`developerProxy.httpStatus`**，再读 `*Response` 字段\n- GET：业务参数放 JSON 顶层（runner 拼 queryString）\n- POST：复杂接口传 `body`\n- 每个脚本 docstring 含 **官方文档 URL**（`module=95`）\n\n## Not Applicable\n\n- 店铺授权 → `linkfox-shopee-store-auth`\n- 订单查询/取消/拆单 → `linkfox-shopee-store-orders`\n- 退货退款 → `linkfox-shopee-store-returns`\n- 店铺信息 → `linkfox-shopee-store-shop`\n- 商品 listing → `linkfox-shopee-store-product`\n- FirstMile 头程 → `linkfox-shopee-store-first-mile`\n- SBS 仓储库存 → `linkfox-shopee-store-sbs`\n- FBS 巴西仓储 → `linkfox-shopee-store-fbs`\n\n## 积分消耗规则\n\n不消耗积分。\n\n**Feedback:**\n\nAuto-detect and report feedback via the Feedback API when any of the following apply:\n1. The functionality or purpose described in this skill does not match actual behavior\n2. The skill's results do not match the user's intent\n3. The user expresses dissatisfaction or praise about this skill\n4. Anything you believe could be improved\n\nCall the feedback API as specified in `references/api.md`. Do not interrupt the user's flow.\n\n---\n*For more high-quality, professional cross-border e-commerce skills, visit [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-shopee-store-logistics\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1786719914340\n}\n\nFile v1.0.5:references/api.md\n\n# linkfox-shopee-store-logistics — 参数与字段参考\n\n> 单接口入参/响应说明已拆到 **`apis/`**（按 API 一份）；本文件保留模块总览与 Feedback。\nShopee **Logistics 模块**全部 46 个 API，经 **`POST /shopee/developerProxy`** 转发。\n\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.logistics.get_shipping_parameter](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1)\n\n## 通用约定\n\n- **Base URL**：`https://tool-gateway.linkfox.com`\n- **Method**：POST（网关），上游 Method 见各接口\n- **Auth**：Header `Authorization: <api_key>`（`LINKFOXAGENT_API_KEY`）（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\n- **流程**：`POST /shopee/storeTokens` → `POST /shopee/developerProxy`\n- **path**：须 `api/v2/logistics/...`\n- **标识**：店铺级物流 API，通常传 **`shopId`**\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.logistics.{api}?module=95&type=1`\n- **复杂 POST**（如 `ship_order`）：推荐传完整 `body` 对象\n\n---\n\n## Logistics 模块总览\n\n| # | API | Method | path | 脚本 | 官方文档 |\n|---|-----|--------|------|------|----------|\n| 1 | batch_ship_order | POST | `api/v2/logistics/batch_ship_order` | `batch_ship_order.py` | [apis/batch-ship-order.md](./apis/batch-ship-order.md) |\n| 2 | batch_update_tpf_warehouse_tracking_status | POST | `api/v2/logistics/batch_update_tpf_warehouse_tracking_status` | `batch_update_tpf_warehouse_tracking_status.py` | [apis/batch-update-tpf-warehouse-tracking-status.md](./apis/batch-update-tpf-warehouse-tracking-status.md) |\n| 3 | check_polygon_update_status | GET | `api/v2/logistics/check_polygon_update_status` | `check_polygon_update_status.py` | [apis/check-polygon-update-status.md](./apis/check-polygon-update-status.md) |\n| 4 | create_booking_shipping_document | POST | `api/v2/logistics/create_booking_shipping_document` | `create_booking_shipping_document.py` | [apis/create-booking-shipping-document.md](./apis/create-booking-shipping-document.md) |\n| 5 | create_shipping_document | POST | `api/v2/logistics/create_shipping_document` | `create_shipping_document.py` | [apis/create-shipping-document.md](./apis/create-shipping-document.md) |\n| 6 | create_shipping_document_job | POST | `api/v2/logistics/create_shipping_document_job` | `create_shipping_document_job.py` | [apis/create-shipping-document-job.md](./apis/create-shipping-document-job.md) |\n| 7 | delete_address | POST | `api/v2/logistics/delete_address` | `delete_address.py` | [apis/delete-address.md](./apis/delete-address.md) |\n| 8 | delete_special_operating_hour | POST | `api/v2/logistics/delete_special_operating_hour` | `delete_special_operating_hour.py` | [apis/delete-special-operating-hour.md](./apis/delete-special-operating-hour.md) |\n| 9 | download_booking_shipping_document | GET | `api/v2/logistics/download_booking_shipping_document` | `download_booking_shipping_document.py` | [apis/download-booking-shipping-document.md](./apis/download-booking-shipping-document.md) |\n| 10 | download_shipping_document | GET | `api/v2/logistics/download_shipping_document` | `download_shipping_document.py` | [apis/download-shipping-document.md](./apis/download-shipping-document.md) |\n| 11 | download_shipping_document_job | GET | `api/v2/logistics/download_shipping_document_job` | `download_shipping_document_job.py` | [apis/download-shipping-document-job.md](./apis/download-shipping-document-job.md) |\n| 12 | download_to_label | GET | `api/v2/logistics/download_to_label` | `download_to_label.py` | [apis/download-to-label.md](./apis/download-to-label.md) |\n| 13 | get_address_list | GET | `api/v2/logistics/get_address_list` | `get_address_list.py` | [apis/get-address-list.md](./apis/get-address-list.md) |\n| 14 | get_booking_shipping_document_data_info | GET | `api/v2/logistics/get_booking_shipping_document_data_info` | `get_booking_shipping_document_data_info.py` | [apis/get-booking-shipping-document-data-info.md](./apis/get-booking-shipping-document-data-info.md) |\n| 15 | get_booking_shipping_document_parameter | GET | `api/v2/logistics/get_booking_shipping_document_parameter` | `get_booking_shipping_document_parameter.py` | [apis/get-booking-shipping-document-parameter.md](./apis/get-booking-shipping-document-parameter.md) |\n| 16 | get_booking_shipping_document_result | GET | `api/v2/logistics/get_booking_shipping_document_result` | `get_booking_shipping_document_result.py` | [apis/get-booking-shipping-document-result.md](./apis/get-booking-shipping-document-result.md) |\n| 17 | get_booking_shipping_parameter | GET | `api/v2/logistics/get_booking_shipping_parameter` | `get_booking_shipping_parameter.py` | [apis/get-booking-shipping-parameter.md](./apis/get-booking-shipping-parameter.md) |\n| 18 | get_booking_tracking_info | GET | `api/v2/logistics/get_booking_tracking_info` | `get_booking_tracking_info.py` | [apis/get-booking-tracking-info.md](./apis/get-booking-tracking-info.md) |\n| 19 | get_booking_tracking_number | GET | `api/v2/logistics/get_booking_tracking_number` | `get_booking_tracking_number.py` | [apis/get-booking-tracking-number.md](./apis/get-booking-tracking-number.md) |\n| 20 | get_channel_list | GET | `api/v2/logistics/get_channel_list` | `get_channel_list.py` | [apis/get-channel-list.md](./apis/get-channel-list.md) |\n| 21 | get_mart_packaging_info | GET | `api/v2/logistics/get_mart_packaging_info` | `get_mart_packaging_info.py` | [apis/get-mart-packaging-info.md](./apis/get-mart-packaging-info.md) |\n| 22 | get_mass_shipping_parameter | POST | `api/v2/logistics/get_mass_shipping_parameter` | `get_mass_shipping_parameter.py` | [apis/get-mass-shipping-parameter.md](./apis/get-mass-shipping-parameter.md) |\n| 23 | get_mass_tracking_number | POST | `api/v2/logistics/get_mass_tracking_number` | `get_mass_tracking_number.py` | [apis/get-mass-tracking-number.md](./apis/get-mass-tracking-number.md) |\n| 24 | get_operating_hour_restrictions | GET | `api/v2/logistics/get_operating_hour_restrictions` | `get_operating_hour_restrictions.py` | [apis/get-operating-hour-restrictions.md](./apis/get-operating-hour-restrictions.md) |\n| 25 | get_operating_hours | GET | `api/v2/logistics/get_operating_hours` | `get_operating_hours.py` | [apis/get-operating-hours.md](./apis/get-operating-hours.md) |\n| 26 | get_pause_status | GET | `api/v2/logistics/get_pause_status` | `get_pause_status.py` | [apis/get-pause-status.md](./apis/get-pause-status.md) |\n| 27 | get_shipping_document_data_info | GET | `api/v2/logistics/get_shipping_document_data_info` | `get_shipping_document_data_info.py` | [apis/get-shipping-document-data-info.md](./apis/get-shipping-document-data-info.md) |\n| 28 | get_shipping_document_job_status | GET | `api/v2/logistics/get_shipping_document_job_status` | `get_shipping_document_job_status.py` | [apis/get-shipping-document-job-status.md](./apis/get-shipping-document-job-status.md) |\n| 29 | get_shipping_document_parameter | GET | `api/v2/logistics/get_shipping_document_parameter` | `get_shipping_document_parameter.py` | [apis/get-shipping-document-parameter.md](./apis/get-shipping-document-parameter.md) |\n| 30 | get_shipping_document_result | GET | `api/v2/logistics/get_shipping_document_result` | `get_shipping_document_result.py` | [apis/get-shipping-document-result.md](./apis/get-shipping-document-result.md) |\n| 31 | get_shipping_parameter | GET | `api/v2/logistics/get_shipping_parameter` | `get_shipping_parameter.py` | [apis/get-shipping-parameter.md](./apis/get-shipping-parameter.md) |\n| 32 | get_tracking_info | GET | `api/v2/logistics/get_tracking_info` | `get_tracking_info.py` | [apis/get-tracking-info.md](./apis/get-tracking-info.md) |\n| 33 | get_tracking_number | GET | `api/v2/logistics/get_tracking_number` | `get_tracking_number.py` | [apis/get-tracking-number.md](./apis/get-tracking-number.md) |\n| 34 | mass_ship_order | POST | `api/v2/logistics/mass_ship_order` | `mass_ship_order.py` | [apis/mass-ship-order.md](./apis/mass-ship-order.md) |\n| 35 | set_address_config | POST | `api/v2/logistics/set_address_config` | `set_address_config.py` | [apis/set-address-config.md](./apis/set-address-config.md) |\n| 36 | set_mart_packaging_info | POST | `api/v2/logistics/set_mart_packaging_info` | `set_mart_packaging_info.py` | [apis/set-mart-packaging-info.md](./apis/set-mart-packaging-info.md) |\n| 37 | set_pause_status | POST | `api/v2/logistics/set_pause_status` | `set_pause_status.py` | [apis/set-pause-status.md](./apis/set-pause-status.md) |\n| 38 | ship_booking | POST | `api/v2/logistics/ship_booking` | `ship_booking.py` | [apis/ship-booking.md](./apis/ship-booking.md) |\n| 39 | ship_order | POST | `api/v2/logistics/ship_order` | `ship_order.py` | [apis/ship-order.md](./apis/ship-order.md) |\n| 40 | update_address | POST | `api/v2/logistics/update_address` | `update_address.py` | [apis/update-address.md](./apis/update-address.md) |\n| 41 | update_channel | POST | `api/v2/logistics/update_channel` | `update_channel.py` | [apis/update-channel.md](./apis/update-channel.md) |\n| 42 | update_operating_hours | POST | `api/v2/logistics/update_operating_hours` | `update_operating_hours.py` | [apis/update-operating-hours.md](./apis/update-operating-hours.md) |\n| 43 | update_self_collection_order_logistics | POST | `api/v2/logistics/update_self_collection_order_logistics` | `update_self_collection_order_logistics.py` | [apis/update-self-collection-order-logistics.md](./apis/update-self-collection-order-logistics.md) |\n| 44 | update_shipping_order | POST | `api/v2/logistics/update_shipping_order` | `update_shipping_order.py` | [apis/update-shipping-order.md](./apis/update-shipping-order.md) |\n| 45 | update_tracking_status | POST | `api/v2/logistics/update_tracking_status` | `update_tracking_status.py` | [apis/update-tracking-status.md](./apis/update-tracking-status.md) |\n| 46 | upload_serviceable_polygon | POST | `api/v2/logistics/upload_serviceable_polygon` | `upload_serviceable_polygon.py` | [apis/upload-serviceable-polygon.md](./apis/upload-serviceable-polygon.md) |\n通用入口：`logistics_api.py`（JSON 含 `\"api\": \"<上表 API 名>\"`）。\n\n---\n\n## 常用接口说明\n\n### 发货流程\n\n| API | 要点 |\n|-----|------|\n| `get_shipping_parameter` | 必填 `order_sn`；发货前获取 pickup/dropoff 参数 — [apis/get-shipping-parameter.md](./apis/get-shipping-parameter.md) |\n| `ship_order` | POST `body`：执行发货 — [apis/ship-order.md](./apis/ship-order.md) |\n| `get_tracking_number` | 必填 `order_sn`；获取运单号 — [apis/get-tracking-number.md](./apis/get-tracking-number.md) |\n| `get_tracking_info` | 物流轨迹查询 — [apis/get-tracking-info.md](./apis/get-tracking-info.md) |\n\n### 面单/文档\n\n| API | 要点 |\n|-----|------|\n| `get_shipping_document_parameter` | 必填 `order_sn` — [apis/get-shipping-document-parameter.md](./apis/get-shipping-document-parameter.md) |\n| `create_shipping_document` | 创建面单 — [apis/create-shipping-document.md](./apis/create-shipping-document.md) |\n| `get_shipping_document_result` | 查询面单生成结果 — [apis/get-shipping-document-result.md](./apis/get-shipping-document-result.md) |\n| `download_shipping_document` | 下载面单 PDF — [apis/download-shipping-document.md](./apis/download-shipping-document.md) |\n| `create_shipping_document_job` | 异步批量面单任务 — [apis/create-shipping-document-job.md](./apis/create-shipping-document-job.md) |\n\n### 地址与渠道\n\n| API | 要点 |\n|-----|------|\n| `get_address_list` | 揽收/退货地址列表 — [apis/get-address-list.md](./apis/get-address-list.md) |\n| `get_channel_list` | 可用物流渠道 — [apis/get-channel-list.md](./apis/get-channel-list.md) |\n| `update_address` / `set_address_config` | 地址管理 |\n\n### Booking 发货\n\n`get_booking_shipping_parameter`、`ship_booking`、`get_booking_tracking_number` 及 booking 面单系列 — 见上表。\n\n### 批量与其他\n\n`mass_ship_order`、`batch_ship_order`、`get_mass_shipping_parameter` 等批量接口；Mart 包装、配送 polygon、pause 状态等见上表及官方文档。\n\n---\n\n## 网关错误码\n\n| errcode | 含义 | 建议 |\n|---------|------|------|\n| 1002 | 参数/未登录 | 检查 shopId 与 API Key |\n| 1003 | 代理/网络异常 | 重试 |\n| 1004 | 无授权记录 | auth skill |\n| 1005 | path 未白名单 | 确认 `api/v2/logistics/...` |\n\n---\n\n## curl 示例\n\n```bash\nexport KEY=$LINKFOX_AGENT_API_KEY\nBASE=${LINKFOX_TOOL_GATEWAY}\n\n# 发货参数\ncurl -X POST $BASE/shopee/developerProxy -H \"Authorization: $KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"path\": \"api/v2/logistics/get_shipping_parameter\",\n    \"method\": \"GET\",\n    \"accessToken\": \"xxx\",\n    \"shopId\": \"67890\",\n    \"queryString\": \"order_sn=240101ABC\"\n  }'\n```\n\n---\n\n## Feedback API\n\n```bash\ncurl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"skillName\":\"linkfox-shopee-store-logistics\",\"sentiment\":\"POSITIVE\",\n       \"category\":\"OTHER\",\"content\":\"物流发货查询正常\"}'\n```\n\nFile v1.0.5:references/apis/batch-ship-order.md\n\n# batch_ship_order\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/batch_ship_order.py` |\n| Method / path | POST `api/v2/logistics/batch_ship_order` |\n| 官方文档 | [batch_ship_order](https://open.shopee.com/documents/v2/v2.logistics.batch_ship_order?module=95&type=1) |\n| 用途 | Batch ship orders |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Batch ship orders\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/batch_ship_order.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"batch_ship_order\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`batchShipOrder`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/batch-update-tpf-warehouse-tracking-status.md\n\n# batch_update_tpf_warehouse_tracking_status\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/batch_update_tpf_warehouse_tracking_status.py` |\n| Method / path | POST `api/v2/logistics/batch_update_tpf_warehouse_tracking_status` |\n| 官方文档 | [batch_update_tpf_warehouse_tracking_status](https://open.shopee.com/documents/v2/v2.logistics.batch_update_tpf_warehouse_tracking_status?module=95&type=1) |\n| 用途 | Batch update TPF warehouse tracking |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Batch update TPF warehouse tracking\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/batch_update_tpf_warehouse_tracking_status.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"batch_update_tpf_warehouse_tracking_status\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`batchUpdateTpfWarehouseTrackingStatus`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/check-polygon-update-status.md\n\n# check_polygon_update_status\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/check_polygon_update_status.py` |\n| Method / path | GET `api/v2/logistics/check_polygon_update_status` |\n| 官方文档 | [check_polygon_update_status](https://open.shopee.com/documents/v2/v2.logistics.check_polygon_update_status?module=95&type=1) |\n| 用途 | Polygon upload status |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**GET**\n- GET：业务字段放 JSON **顶层**，runner 拼进 `queryString`（不含 `?`）\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Polygon upload status\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/check_polygon_update_status.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"check_polygon_update_status\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`checkPolygonUpdateStatus`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/create-booking-shipping-document.md\n\n# create_booking_shipping_document\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/create_booking_shipping_document.py` |\n| Method / path | POST `api/v2/logistics/create_booking_shipping_document` |\n| 官方文档 | [create_booking_shipping_document](https://open.shopee.com/documents/v2/v2.logistics.create_booking_shipping_document?module=95&type=1) |\n| 用途 | Create booking shipping document |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Create booking shipping document\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/create_booking_shipping_document.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"create_booking_shipping_document\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`createBookingShippingDocument`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/create-shipping-document-job.md\n\n# create_shipping_document_job\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/create_shipping_document_job.py` |\n| Method / path | POST `api/v2/logistics/create_shipping_document_job` |\n| 官方文档 | [create_shipping_document_job](https://open.shopee.com/documents/v2/v2.logistics.create_shipping_document_job?module=95&type=1) |\n| 用途 | Create async shipping document job |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Create async shipping document job\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/create_shipping_document_job.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"create_shipping_document_job\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`createShippingDocumentJob`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/create-shipping-document.md\n\n# create_shipping_document\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/create_shipping_document.py` |\n| Method / path | POST `api/v2/logistics/create_shipping_document` |\n| 官方文档 | [create_shipping_document](https://open.shopee.com/documents/v2/v2.logistics.create_shipping_document?module=95&type=1) |\n| 用途 | Create shipping document/label |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Create shipping document/label\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/create_shipping_document.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"create_shipping_document\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`createShippingDocument`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/delete-address.md\n\n# delete_address\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_address.py` |\n| Method / path | POST `api/v2/logistics/delete_address` |\n| 官方文档 | [delete_address](https://open.shopee.com/documents/v2/v2.logistics.delete_address?module=95&type=1) |\n| 用途 | Delete address |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Delete address\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_address.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"delete_address\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddress`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/delete-special-operating-hour.md\n\n# delete_special_operating_hour\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_special_operating_hour.py` |\n| Method / path | POST `api/v2/logistics/delete_special_operating_hour` |\n| 官方文档 | [delete_special_operating_hour](https://open.shopee.com/documents/v2/v2.logistics.delete_special_operating_hour?module=95&type=1) |\n| 用途 | Delete special operating hour |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Delete special operating hour\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_special_operating_hour.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"delete_special_operating_hour\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteSpecialOperatingHour`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/download-booking-shipping-document.md\n\n# download_booking_shipping_document\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/download_booking_shipping_document.py` |\n| Method / path | GET `api/v2/logistics/download_booking_shipping_document` |\n| 官方文档 | [download_booking_shipping_document](https://open.shopee.com/documents/v2/v2.logistics.download_booking_shipping_document?module=95&type=1) |\n| 用途 | Download booking label |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**GET**\n- GET：业务字段放 JSON **顶层**，runner 拼进 `queryString`（不含 `?`）\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Download booking label\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/download_booking_shipping_document.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"download_booking_shipping_document\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`downloadBookingShippingDocument`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nArchive v1.0.4: 103 files, 104911 bytes\n\nFiles: references/api.md (13104b), references/apis/batch-ship-order.md (1361b), references/apis/batch-update-tpf-warehouse-tracking-status.md (1602b), references/apis/check-polygon-update-status.md (1462b), references/apis/create-booking-shipping-document.md (1518b), references/apis/create-shipping-document-job.md (1490b), references/apis/create-shipping-document.md (1451b), references/apis/delete-address.md (1340b), references/apis/delete-special-operating-hour.md (1488b), references/apis/download-booking-shipping-document.md (1520b), references/apis/download-shipping-document-job.md (1494b), references/apis/download-shipping-document.md (1467b), references/apis/download-to-label.md (1375b), references/apis/get-address-list.md (1393b), references/apis/get-booking-shipping-document-data-info.md (1556b), references/apis/get-booking-shipping-document-parameter.md (1563b), references/apis/get-booking-shipping-document-result.md (1537b), references/apis/get-booking-shipping-parameter.md (1498b), references/apis/get-booking-tracking-info.md (1446b), references/apis/get-booking-tracking-number.md (1466b), references/apis/get-channel-list.md (1389b), references/apis/get-mart-packaging-info.md (1426b), references/apis/get-mass-shipping-parameter.md (1518b), references/apis/get-mass-tracking-number.md (1442b), references/apis/get-operating-hour-restrictions.md (1506b), references/apis/get-operating-hours.md (1401b), references/apis/get-pause-status.md (1377b), references/apis/get-shipping-document-data-info.md (1505b), references/apis/get-shipping-document-job-status.md (1491b), references/apis/get-shipping-document-parameter.md (1656b), references/apis/get-shipping-document-result.md (1476b), references/apis/get-shipping-parameter.md (1583b), references/apis/get-tracking-info.md (1441b), references/apis/get-tracking-number.md (1543b), references/apis/mass-ship-order.md (1353b), references/apis/set-address-config.md (1395b), references/apis/set-mart-packaging-info.md (1428b), references/apis/set-pause-status.md (1379b), references/apis/ship-booking.md (1332b), references/apis/ship-order.md (1414b), references/apis/update-address.md (1368b), references/apis/update-channel.md (1358b), references/apis/update-operating-hours.md (1419b), references/apis/update-self-collection-order-logistics.md (1563b), references/apis/update-shipping-order.md (1429b), references/apis/update-tracking-status.md (1419b), references/apis/upload-serviceable-polygon.md (1477b), references/onboarding.md (2046b), scripts/_logistics_api_runner.py (4308b), scripts/_logistics_endpoints.py (11359b), scripts/_shopee_logistics_common.py (11600b), scripts/batch_ship_order.py (691b), scripts/batch_update_tpf_warehouse_tracking_status.py (847b), scripts/check_auth_dependency.py (3987b), scripts/check_polygon_update_status.py (962b), scripts/create_booking_shipping_document.py (787b), scripts/create_shipping_document_job.py (763b), scripts/create_shipping_document.py (739b), scripts/delete_address.py (679b), scripts/delete_special_operating_hour.py (769b), scripts/download_booking_shipping_document.py (799b), scripts/download_shipping_document_job.py (775b), scripts/download_shipping_document.py (751b), scripts/download_to_label.py (697b), scripts/get_address_list.py (691b), scripts/get_booking_shipping_document_data_info.py (829b), scripts/get_booking_shipping_document_parameter.py (829b), scripts/get_booking_shipping_document_result.py (811b), scripts/get_booking_shipping_parameter.py (775b), scripts/get_booking_tracking_info.py (745b), scripts/get_booking_tracking_number.py (757b), scripts/get_channel_list.py (691b), scripts/get_mart_packaging_info.py (733b), scripts/get_mass_shipping_parameter.py (757b), scripts/get_mass_tracking_number.py (739b), scripts/get_operating_hour_restrictions.py (781b), scripts/get_operating_hours.py (709b), scripts/get_pause_status.py (691b), scripts/get_shipping_document_data_info.py (781b), scripts/get_shipping_document_job_status.py (787b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: linkfox-shopee-store-logistics\ndescription: Shopee（虾皮）店铺物流发货（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Logistics 模块全部 46 个接口：get_shipping_parameter、ship_order、get_tracking_number、create_shipping_document、download_shipping_document、get_channel_list 等。当用户提到 Shopee 物流、发货、ship_order、运单号、面单、tracking、揽收地址、物流渠道、READY_TO_SHIP 发货 时触发。即使未明确提及\"物流\"，只要涉及已授权 Shopee 店铺的发货、面单或物流轨迹查询，也应触发。\n---\n\n# Shopee 店铺 Logistics\n\nShopee Open Platform **Logistics 模块**（46 个 API）。**依赖 `linkfox-shopee-store-auth`** 选店；经 **`POST /shopee/developerProxy`** 传入 `shopId`（或 `merchantId`），由服务端解析 token 转发（`path` 须 `api/v2/logistics/...`）。\n\n## 调用方式\n\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/logistics_api.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-logistics-<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发生以下异常情况时，采用 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\nLogistics 模块索引：[v2.logistics.get_shipping_parameter](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1)\n\n---\n\n## Prerequisites（必须先读）\n\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`** 并授权店铺。\n2. **不要**在本 skill 内实现授权/令牌逻辑。\n\n---\n\n## Core Concepts\n\n- **转发链路**：`developerProxy`（`shopId`/`merchantId` 选店，服务端注入 token）→ 紫鸟 `shopee-proxy` → Shopee API\n- **典型发货流程**：`get_shipping_parameter` → `ship_order` → `get_tracking_number` → 面单（`create_shipping_document` → `download_shipping_document`）\n- **订单查询**（列表/详情）→ `linkfox-shopee-store-orders`；本 skill 负责**物流发货与面单**\n- **店铺级 API**：通常传 **`shopId`**\n\n## 可用脚本（Logistics 模块 46 个 API）\n\n| 分组 | 脚本 |\n|------|------|\n| 发货 | `get_shipping_parameter.py`、`ship_order.py`、`mass_ship_order.py`、`batch_ship_order.py`、`update_shipping_order.py` |\n| 运单/轨迹 | `get_tracking_number.py`、`get_tracking_info.py`、`update_tracking_status.py` |\n| 面单 | `get_shipping_document_parameter.py`、`create_shipping_document.py`、`download_shipping_document.py`、`create_shipping_document_job.py` 等 |\n| 地址/渠道 | `get_address_list.py`、`get_channel_list.py`、`update_address.py`、`set_address_config.py` |\n| Booking | `get_booking_shipping_parameter.py`、`ship_booking.py` 及 booking 面单系列 |\n| 通用入口 | `logistics_api.py`（JSON 含 `api` 字段） |\n\n完整列表见 `references/api.md`。共享：`_shopee_logistics_common.py`、`_logistics_endpoints.py`、`_logistics_api_runner.py`。\n\n## 接口说明（按 API）\n\n入参与响应细节放在 `references/apis/`，SKILL 只保留索引。\n\n| API | 说明文档 |\n|-----|----------|\n| `batch_ship_order` | [references/apis/batch-ship-order.md](./references/apis/batch-ship-order.md) |\n| `batch_update_tpf_warehouse_tracking_status` | [references/apis/batch-update-tpf-warehouse-tracking-status.md](./references/apis/batch-update-tpf-warehouse-tracking-status.md) |\n| `check_polygon_update_status` | [references/apis/check-polygon-update-status.md](./references/apis/check-polygon-update-status.md) |\n| `create_booking_shipping_document` | [references/apis/create-booking-shipping-document.md](./references/apis/create-booking-shipping-document.md) |\n| `create_shipping_document` | [references/apis/create-shipping-document.md](./references/apis/create-shipping-document.md) |\n| `create_shipping_document_job` | [references/apis/create-shipping-document-job.md](./references/apis/create-shipping-document-job.md) |\n| `delete_address` | [references/apis/delete-address.md](./references/apis/delete-address.md) |\n| `delete_special_operating_hour` | [references/apis/delete-special-operating-hour.md](./references/apis/delete-special-operating-hour.md) |\n| `download_booking_shipping_document` | [references/apis/download-booking-shipping-document.md](./references/apis/download-booking-shipping-document.md) |\n| `download_shipping_document` | [references/apis/download-shipping-document.md](./references/apis/download-shipping-document.md) |\n| `download_shipping_document_job` | [references/apis/download-shipping-document-job.md](./references/apis/download-shipping-document-job.md) |\n| `download_to_label` | [references/apis/download-to-label.md](./references/apis/download-to-label.md) |\n| `get_address_list` | [references/apis/get-address-list.md](./references/apis/get-address-list.md) |\n| `get_booking_shipping_document_data_info` | [references/apis/get-booking-shipping-document-data-info.md](./references/apis/get-booking-shipping-document-data-info.md) |\n| `get_booking_shipping_document_parameter` | [references/apis/get-booking-shipping-document-parameter.md](./references/apis/get-booking-shipping-document-parameter.md) |\n| `get_booking_shipping_document_result` | [references/apis/get-booking-shipping-document-result.md](./references/apis/get-booking-shipping-document-result.md) |\n| `get_booking_shipping_parameter` | [references/apis/get-booking-shipping-parameter.md](./references/apis/get-booking-shipping-parameter.md) |\n| `get_booking_tracking_info` | [references/apis/get-booking-tracking-info.md](./references/apis/get-booking-tracking-info.md) |\n| `get_booking_tracking_number` | [references/apis/get-booking-tracking-number.md](./references/apis/get-booking-tracking-number.md) |\n| `get_channel_list` | [references/apis/get-channel-list.md](./references/apis/get-channel-list.md) |\n| `get_mart_packaging_info` | [references/apis/get-mart-packaging-info.md](./references/apis/get-mart-packaging-info.md) |\n| `get_mass_shipping_parameter` | [references/apis/get-mass-shipping-parameter.md](./references/apis/get-mass-shipping-parameter.md) |\n| `get_mass_tracking_number` | [references/apis/get-mass-tracking-number.md](./references/apis/get-mass-tracking-number.md) |\n| `get_operating_hour_restrictions` | [references/apis/get-operating-hour-restrictions.md](./references/apis/get-operating-hour-restrictions.md) |\n| `get_operating_hours` | [references/apis/get-operating-hours.md](./references/apis/get-operating-hours.md) |\n| `get_pause_status` | [references/apis/get-pause-status.md](./references/apis/get-pause-status.md) |\n| `get_shipping_document_data_info` | [references/apis/get-shipping-document-data-info.md](./references/apis/get-shipping-document-data-info.md) |\n| `get_shipping_document_job_status` | [references/apis/get-shipping-document-job-status.md](./references/apis/get-shipping-document-job-status.md) |\n| `get_shipping_document_parameter` | [references/apis/get-shipping-document-parameter.md](./references/apis/get-shipping-document-parameter.md) |\n| `get_shipping_document_result` | [references/apis/get-shipping-document-result.md](./references/apis/get-shipping-document-result.md) |\n| `get_shipping_parameter` | [references/apis/get-shipping-parameter.md](./references/apis/get-shipping-parameter.md) |\n| `get_tracking_info` | [references/apis/get-tracking-info.md](./references/apis/get-tracking-info.md) |\n| `get_tracking_number` | [references/apis/get-tracking-number.md](./references/apis/get-tracking-number.md) |\n| `mass_ship_order` | [references/apis/mass-ship-order.md](./references/apis/mass-ship-order.md) |\n| `set_address_config` | [references/apis/set-address-config.md](./references/apis/set-address-config.md) |\n| `set_mart_packaging_info` | [references/apis/set-mart-packaging-info.md](./references/apis/set-mart-packaging-info.md) |\n| `set_pause_status` | [references/apis/set-pause-status.md](./references/apis/set-pause-status.md) |\n| `ship_booking` | [references/apis/ship-booking.md](./references/apis/ship-booking.md) |\n| `ship_order` | [references/apis/ship-order.md](./references/apis/ship-order.md) |\n| `update_address` | [references/apis/update-address.md](./references/apis/update-address.md) |\n| `update_channel` | [references/apis/update-channel.md](./references/apis/update-channel.md) |\n| `update_operating_hours` | [references/apis/update-operating-hours.md](./references/apis/update-operating-hours.md) |\n| `update_self_collection_order_logistics` | [references/apis/update-self-collection-order-logistics.md](./references/apis/update-self-collection-order-logistics.md) |\n| `update_shipping_order` | [references/apis/update-shipping-order.md](./references/apis/update-shipping-order.md) |\n| `update_tracking_status` | [references/apis/update-tracking-status.md](./references/apis/update-tracking-status.md) |\n| `upload_serviceable_polygon` | [references/apis/upload-serviceable-polygon.md](./references/apis/upload-serviceable-polygon.md) |\n\n模块总览 / Feedback 见 [references/api.md](./references/api.md)。\n\n## Usage Scenarios\n\n### 1. 单订单发货\n1. orders skill 获取 `order_sn`（状态 READY_TO_SHIP）\n2. `get_shipping_parameter.py`：`order_sn`\n3. `ship_order.py` 传完整 `body`\n4. `get_tracking_number.py` 获取运单号\n\n### 2. 打印面单\n1. `get_shipping_document_parameter.py`\n2. `create_shipping_document.py`\n3. `download_shipping_document.py`\n\n## 调用原则\n\n- 先看 **`developerProxy.httpStatus`**，再读 `*Response` 字段\n- GET：业务参数放 JSON 顶层（runner 拼 queryString）\n- POST：复杂接口传 `body`\n- 每个脚本 docstring 含 **官方文档 URL**（`module=95`）\n\n## Not Applicable\n\n- 店铺授权 → `linkfox-shopee-store-auth`\n- 订单查询/取消/拆单 → `linkfox-shopee-store-orders`\n- 退货退款 → `linkfox-shopee-store-returns`\n- 店铺信息 → `linkfox-shopee-store-shop`\n- 商品 listing → `linkfox-shopee-store-product`\n- FirstMile 头程 → `linkfox-shopee-store-first-mile`\n- SBS 仓储库存 → `linkfox-shopee-store-sbs`\n- FBS 巴西仓储 → `linkfox-shopee-store-fbs`\n\n## 积分消耗规则\n\n不消耗积分。\n\n**Feedback:**\n\nAuto-detect and report feedback via the Feedback API when any of the following apply:\n1. The functionality or purpose described in this skill does not match actual behavior\n2. The skill's results do not match the user's intent\n3. The user expresses dissatisfaction or praise about this skill\n4. Anything you believe could be improved\n\nCall the feedback API as specified in `references/api.md`. Do not interrupt the user's flow.\n\n---\n*For more high-quality, professional cross-border e-commerce skills, visit [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-shopee-store-logistics\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1786100628302\n}\n\nFile v1.0.4:references/api.md\n\n# linkfox-shopee-store-logistics — 参数与字段参考\n\n> 单接口入参/响应说明已拆到 **`apis/`**（按 API 一份）；本文件保留模块总览与 Feedback。\nShopee **Logistics 模块**全部 46 个 API，经 **`POST /shopee/developerProxy`** 转发。\n\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.logistics.get_shipping_parameter](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1)\n\n## 通用约定\n\n- **Base URL**：`https://tool-gateway.linkfox.com`\n- **Method**：POST（网关），上游 Method 见各接口\n- **Auth**：Header `Authorization: <api_key>`（`LINKFOXAGENT_API_KEY`）（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\n- **流程**：`POST /shopee/storeTokens` → `POST /shopee/developerProxy`\n- **path**：须 `api/v2/logistics/...`\n- **标识**：店铺级物流 API，通常传 **`shopId`**\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.logistics.{api}?module=95&type=1`\n- **复杂 POST**（如 `ship_order`）：推荐传完整 `body` 对象\n\n---\n\n## Logistics 模块总览\n\n| # | API | Method | path | 脚本 | 官方文档 |\n|---|-----|--------|------|------|----------|\n| 1 | batch_ship_order | POST | `api/v2/logistics/batch_ship_order` | `batch_ship_order.py` | [apis/batch-ship-order.md](./apis/batch-ship-order.md) |\n| 2 | batch_update_tpf_warehouse_tracking_status | POST | `api/v2/logistics/batch_update_tpf_warehouse_tracking_status` | `batch_update_tpf_warehouse_tracking_status.py` | [apis/batch-update-tpf-warehouse-tracking-status.md](./apis/batch-update-tpf-warehouse-tracking-status.md) |\n| 3 | check_polygon_update_status | GET | `api/v2/logistics/check_polygon_update_status` | `check_polygon_update_status.py` | [apis/check-polygon-update-status.md](./apis/check-polygon-update-status.md) |\n| 4 | create_booking_shipping_document | POST | `api/v2/logistics/create_booking_shipping_document` | `create_booking_shipping_document.py` | [apis/create-booking-shipping-document.md](./apis/create-booking-shipping-document.md) |\n| 5 | create_shipping_document | POST | `api/v2/logistics/create_shipping_document` | `create_shipping_document.py` | [apis/create-shipping-document.md](./apis/create-shipping-document.md) |\n| 6 | create_shipping_document_job | POST | `api/v2/logistics/create_shipping_document_job` | `create_shipping_document_job.py` | [apis/create-shipping-document-job.md](./apis/create-shipping-document-job.md) |\n| 7 | delete_address | POST | `api/v2/logistics/delete_address` | `delete_address.py` | [apis/delete-address.md](./apis/delete-address.md) |\n| 8 | delete_special_operating_hour | POST | `api/v2/logistics/delete_special_operating_hour` | `delete_special_operating_hour.py` | [apis/delete-special-operating-hour.md](./apis/delete-special-operating-hour.md) |\n| 9 | download_booking_shipping_document | GET | `api/v2/logistics/download_booking_shipping_document` | `download_booking_shipping_document.py` | [apis/download-booking-shipping-document.md](./apis/download-booking-shipping-document.md) |\n| 10 | download_shipping_document | GET | `api/v2/logistics/download_shipping_document` | `download_shipping_document.py` | [apis/download-shipping-document.md](./apis/download-shipping-document.md) |\n| 11 | download_shipping_document_job | GET | `api/v2/logistics/download_shipping_document_job` | `download_shipping_document_job.py` | [apis/download-shipping-document-job.md](./apis/download-shipping-document-job.md) |\n| 12 | download_to_label | GET | `api/v2/logistics/download_to_label` | `download_to_label.py` | [apis/download-to-label.md](./apis/download-to-label.md) |\n| 13 | get_address_list | GET | `api/v2/logistics/get_address_list` | `get_address_list.py` | [apis/get-address-list.md](./apis/get-address-list.md) |\n| 14 | get_booking_shipping_document_data_info | GET | `api/v2/logistics/get_booking_shipping_document_data_info` | `get_booking_shipping_document_data_info.py` | [apis/get-booking-shipping-document-data-info.md](./apis/get-booking-shipping-document-data-info.md) |\n| 15 | get_booking_shipping_document_parameter | GET | `api/v2/logistics/get_booking_shipping_document_parameter` | `get_booking_shipping_document_parameter.py` | [apis/get-booking-shipping-document-parameter.md](./apis/get-booking-shipping-document-parameter.md) |\n| 16 | get_booking_shipping_document_result | GET | `api/v2/logistics/get_booking_shipping_document_result` | `get_booking_shipping_document_result.py` | [apis/get-booking-shipping-document-result.md](./apis/get-booking-shipping-document-result.md) |\n| 17 | get_booking_shipping_parameter | GET | `api/v2/logistics/get_booking_shipping_parameter` | `get_booking_shipping_parameter.py` | [apis/get-booking-shipping-parameter.md](./apis/get-booking-shipping-parameter.md) |\n| 18 | get_booking_tracking_info | GET | `api/v2/logistics/get_booking_tracking_info` | `get_booking_tracking_info.py` | [apis/get-booking-tracking-info.md](./apis/get-booking-tracking-info.md) |\n| 19 | get_booking_tracking_number | GET | `api/v2/logistics/get_booking_tracking_number` | `get_booking_tracking_number.py` | [apis/get-booking-tracking-number.md](./apis/get-booking-tracking-number.md) |\n| 20 | get_channel_list | GET | `api/v2/logistics/get_channel_list` | `get_channel_list.py` | [apis/get-channel-list.md](./apis/get-channel-list.md) |\n| 21 | get_mart_packaging_info | GET | `api/v2/logistics/get_mart_packaging_info` | `get_mart_packaging_info.py` | [apis/get-mart-packaging-info.md](./apis/get-mart-packaging-info.md) |\n| 22 | get_mass_shipping_parameter | POST | `api/v2/logistics/get_mass_shipping_parameter` | `get_mass_shipping_parameter.py` | [apis/get-mass-shipping-parameter.md](./apis/get-mass-shipping-parameter.md) |\n| 23 | get_mass_tracking_number | POST | `api/v2/logistics/get_mass_tracking_number` | `get_mass_tracking_number.py` | [apis/get-mass-tracking-number.md](./apis/get-mass-tracking-number.md) |\n| 24 | get_operating_hour_restrictions | GET | `api/v2/logistics/get_operating_hour_restrictions` | `get_operating_hour_restrictions.py` | [apis/get-operating-hour-restrictions.md](./apis/get-operating-hour-restrictions.md) |\n| 25 | get_operating_hours | GET | `api/v2/logistics/get_operating_hours` | `get_operating_hours.py` | [apis/get-operating-hours.md](./apis/get-operating-hours.md) |\n| 26 | get_pause_status | GET | `api/v2/logistics/get_pause_status` | `get_pause_status.py` | [apis/get-pause-status.md](./apis/get-pause-status.md) |\n| 27 | get_shipping_document_data_info | GET | `api/v2/logistics/get_shipping_document_data_info` | `get_shipping_document_data_info.py` | [apis/get-shipping-document-data-info.md](./apis/get-shipping-document-data-info.md) |\n| 28 | get_shipping_document_job_status | GET | `api/v2/logistics/get_shipping_document_job_status` | `get_shipping_document_job_status.py` | [apis/get-shipping-document-job-status.md](./apis/get-shipping-document-job-status.md) |\n| 29 | get_shipping_document_parameter | GET | `api/v2/logistics/get_shipping_document_parameter` | `get_shipping_document_parameter.py` | [apis/get-shipping-document-parameter.md](./apis/get-shipping-document-parameter.md) |\n| 30 | get_shipping_document_result | GET | `api/v2/logistics/get_shipping_document_result` | `get_shipping_document_result.py` | [apis/get-shipping-document-result.md](./apis/get-shipping-document-result.md) |\n| 31 | get_shipping_parameter | GET | `api/v2/logistics/get_shipping_parameter` | `get_shipping_parameter.py` | [apis/get-shipping-parameter.md](./apis/get-shipping-parameter.md) |\n| 32 | get_tracking_info | GET | `api/v2/logistics/get_tracking_info` | `get_tracking_info.py` | [apis/get-tracking-info.md](./apis/get-tracking-info.md) |\n| 33 | get_tracking_number | GET | `api/v2/logistics/get_tracking_number` | `get_tracking_number.py` | [apis/get-tracking-number.md](./apis/get-tracking-number.md) |\n| 34 | mass_ship_order | POST | `api/v2/logistics/mass_ship_order` | `mass_ship_order.py` | [apis/mass-ship-order.md](./apis/mass-ship-order.md) |\n| 35 | set_address_config | POST | `api/v2/logistics/set_address_config` | `set_address_config.py` | [apis/set-address-config.md](./apis/set-address-config.md) |\n| 36 | set_mart_packaging_info | POST | `api/v2/logistics/set_mart_packaging_info` | `set_mart_packaging_info.py` | [apis/set-mart-packaging-info.md](./apis/set-mart-packaging-info.md) |\n| 37 | set_pause_status | POST | `api/v2/logistics/set_pause_status` | `set_pause_status.py` | [apis/set-pause-status.md](./apis/set-pause-status.md) |\n| 38 | ship_booking | POST | `api/v2/logistics/ship_booking` | `ship_booking.py` | [apis/ship-booking.md](./apis/ship-booking.md) |\n| 39 | ship_order | POST | `api/v2/logistics/ship_order` | `ship_order.py` | [apis/ship-order.md](./apis/ship-order.md) |\n| 40 | update_address | POST | `api/v2/logistics/update_address` | `update_address.py` | [apis/update-address.md](./apis/update-address.md) |\n| 41 | update_channel | POST | `api/v2/logistics/update_channel` | `update_channel.py` | [apis/update-channel.md](./apis/update-channel.md) |\n| 42 | update_operating_hours | POST | `api/v2/logistics/update_operating_hours` | `update_operating_hours.py` | [apis/update-operating-hours.md](./apis/update-operating-hours.md) |\n| 43 | update_self_collection_order_logistics | POST | `api/v2/logistics/update_self_collection_order_logistics` | `update_self_collection_order_logistics.py` | [apis/update-self-collection-order-logistics.md](./apis/update-self-collection-order-logistics.md) |\n| 44 | update_shipping_order | POST | `api/v2/logistics/update_shipping_order` | `update_shipping_order.py` | [apis/update-shipping-order.md](./apis/update-shipping-order.md) |\n| 45 | update_tracking_status | POST | `api/v2/logistics/update_tracking_status` | `update_tracking_status.py` | [apis/update-tracking-status.md](./apis/update-tracking-status.md) |\n| 46 | upload_serviceable_polygon | POST | `api/v2/logistics/upload_serviceable_polygon` | `upload_serviceable_polygon.py` | [apis/upload-serviceable-polygon.md](./apis/upload-serviceable-polygon.md) |\n通用入口：`logistics_api.py`（JSON 含 `\"api\": \"<上表 API 名>\"`）。\n\n---\n\n## 常用接口说明\n\n### 发货流程\n\n| API | 要点 |\n|-----|------|\n| `get_shipping_parameter` | 必填 `order_sn`；发货前获取 pickup/dropoff 参数 — [apis/get-shipping-parameter.md](./apis/get-shipping-parameter.md) |\n| `ship_order` | POST `body`：执行发货 — [apis/ship-order.md](./apis/ship-order.md) |\n| `get_tracking_number` | 必填 `order_sn`；获取运单号 — [apis/get-tracking-number.md](./apis/get-tracking-number.md) |\n| `get_tracking_info` | 物流轨迹查询 — [apis/get-tracking-info.md](./apis/get-tracking-info.md) |\n\n### 面单/文档\n\n| API | 要点 |\n|-----|------|\n| `get_shipping_document_parameter` | 必填 `order_sn` — [apis/get-shipping-document-parameter.md](./apis/get-shipping-document-parameter.md) |\n| `create_shipping_document` | 创建面单 — [apis/create-shipping-document.md](./apis/create-shipping-document.md) |\n| `get_shipping_document_result` | 查询面单生成结果 — [apis/get-shipping-document-result.md](./apis/get-shipping-document-result.md) |\n| `download_shipping_document` | 下载面单 PDF — [apis/download-shipping-document.md](./apis/download-shipping-document.md) |\n| `create_shipping_document_job` | 异步批量面单任务 — [apis/create-shipping-document-job.md](./apis/create-shipping-document-job.md) |\n\n### 地址与渠道\n\n| API | 要点 |\n|-----|------|\n| `get_address_list` | 揽收/退货地址列表 — [apis/get-address-list.md](./apis/get-address-list.md) |\n| `get_channel_list` | 可用物流渠道 — [apis/get-channel-list.md](./apis/get-channel-list.md) |\n| `update_address` / `set_address_config` | 地址管理 |\n\n### Booking 发货\n\n`get_booking_shipping_parameter`、`ship_booking`、`get_booking_tracking_number` 及 booking 面单系列 — 见上表。\n\n### 批量与其他\n\n`mass_ship_order`、`batch_ship_order`、`get_mass_shipping_parameter` 等批量接口；Mart 包装、配送 polygon、pause 状态等见上表及官方文档。\n\n---\n\n## 网关错误码\n\n| errcode | 含义 | 建议 |\n|---------|------|------|\n| 1002 | 参数/未登录 | 检查 shopId 与 API Key |\n| 1003 | 代理/网络异常 | 重试 |\n| 1004 | 无授权记录 | auth skill |\n| 1005 | path 未白名单 | 确认 `api/v2/logistics/...` |\n\n---\n\n## curl 示例\n\n```bash\nexport KEY=$LINKFOX_AGENT_API_KEY\nBASE=${LINKFOX_TOOL_GATEWAY}\n\n# 发货参数\ncurl -X POST $BASE/shopee/developerProxy -H \"Authorization: $KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"path\": \"api/v2/logistics/get_shipping_parameter\",\n    \"method\": \"GET\",\n    \"accessToken\": \"xxx\",\n    \"shopId\": \"67890\",\n    \"queryString\": \"order_sn=240101ABC\"\n  }'\n```\n\n---\n\n## Feedback API\n\n```bash\ncurl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"skillName\":\"linkfox-shopee-store-logistics\",\"sentiment\":\"POSITIVE\",\n       \"category\":\"OTHER\",\"content\":\"物流发货查询正常\"}'\n```\n\nFile v1.0.4:references/apis/batch-ship-order.md\n\n# batch_ship_order\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/batch_ship_order.py` |\n| Method / path | POST `api/v2/logistics/batch_ship_order` |\n| 官方文档 | [batch_ship_order](https://open.shopee.com/documents/v2/v2.logistics.batch_ship_order?module=95&type=1) |\n| 用途 | Batch ship orders |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Batch ship orders\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/batch_ship_order.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"batch_ship_order\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`batchShipOrder`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/batch-update-tpf-warehouse-tracking-status.md\n\n# batch_update_tpf_warehouse_tracking_status\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/batch_update_tpf_warehouse_tracking_status.py` |\n| Method / path | POST `api/v2/logistics/batch_update_tpf_warehouse_tracking_status` |\n| 官方文档 | [batch_update_tpf_warehouse_tracking_status](https://open.shopee.com/documents/v2/v2.logistics.batch_update_tpf_warehouse_tracking_status?module=95&type=1) |\n| 用途 | Batch update TPF warehouse tracking |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Batch update TPF warehouse tracking\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/batch_update_tpf_warehouse_tracking_status.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"batch_update_tpf_warehouse_tracking_status\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`batchUpdateTpfWarehouseTrackingStatus`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/check-polygon-update-status.md\n\n# check_polygon_update_status\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/check_polygon_update_status.py` |\n| Method / path | GET `api/v2/logistics/check_polygon_update_status` |\n| 官方文档 | [check_polygon_update_status](https://open.shopee.com/documents/v2/v2.logistics.check_polygon_update_status?module=95&type=1) |\n| 用途 | Polygon upload status |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**GET**\n- GET：业务字段放 JSON **顶层**，runner 拼进 `queryString`（不含 `?`）\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Polygon upload status\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/check_polygon_update_status.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"check_polygon_update_status\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`checkPolygonUpdateStatus`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/create-booking-shipping-document.md\n\n# create_booking_shipping_document\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/create_booking_shipping_document.py` |\n| Method / path | POST `api/v2/logistics/create_booking_shipping_document` |\n| 官方文档 | [create_booking_shipping_document](https://open.shopee.com/documents/v2/v2.logistics.create_booking_shipping_document?module=95&type=1) |\n| 用途 | Create booking shipping document |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Create booking shipping document\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/create_booking_shipping_document.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"create_booking_shipping_document\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`createBookingShippingDocument`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/create-shipping-document-job.md\n\n# create_shipping_document_job\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/create_shipping_document_job.py` |\n| Method / path | POST `api/v2/logistics/create_shipping_document_job` |\n| 官方文档 | [create_shipping_document_job](https://open.shopee.com/documents/v2/v2.logistics.create_shipping_document_job?module=95&type=1) |\n| 用途 | Create async shipping document job |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Create async shipping document job\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/create_shipping_document_job.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"create_shipping_document_job\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`createShippingDocumentJob`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/create-shipping-document.md\n\n# create_shipping_document\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/create_shipping_document.py` |\n| Method / path | POST `api/v2/logistics/create_shipping_document` |\n| 官方文档 | [create_shipping_document](https://open.shopee.com/documents/v2/v2.logistics.create_shipping_document?module=95&type=1) |\n| 用途 | Create shipping document/label |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Create shipping document/label\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/create_shipping_document.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"create_shipping_document\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`createShippingDocument`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/delete-address.md\n\n# delete_address\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_address.py` |\n| Method / path | POST `api/v2/logistics/delete_address` |\n| 官方文档 | [delete_address](https://open.shopee.com/documents/v2/v2.logistics.delete_address?module=95&type=1) |\n| 用途 | Delete address |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Delete address\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_address.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"delete_address\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddress`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/delete-special-operating-hour.md\n\n# delete_special_operating_hour\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_special_operating_hour.py` |\n| Method / path | POST `api/v2/logistics/delete_special_operating_hour` |\n| 官方文档 | [delete_special_operating_hour](https://open.shopee.com/documents/v2/v2.logistics.delete_special_operating_hour?module=95&type=1) |\n| 用途 | Delete special operating hour |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Delete special operating hour\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_special_operating_hour.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"delete_special_operating_hour\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteSpecialOperatingHour`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/download-booking-shipping-document.md\n\n# download_booking_shipping_document\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/download_booking_shipping_document.py` |\n| Method / path | GET `api/v2/logistics/download_booking_shipping_document` |\n| 官方文档 | [download_booking_shipping_document](https://open.shopee.com/documents/v2/v2.logistics.download_booking_shipping_document?module=95&type=1) |\n| 用途 | Download booking label |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**GET**\n- GET：业务字段放 JSON **顶层**，runner 拼进 `queryString`（不含 `?`）\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Download booking label\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/download_booking_shipping_document.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"download_booking_shipping_document\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`downloadBookingShippingDocument`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nArchive v1.0.3: 55 files, 44724 bytes\n\nFiles: references/api.md (13490b), scripts/_logistics_api_runner.py (4295b), scripts/_logistics_endpoints.py (11359b), scripts/_shopee_logistics_common.py (11414b), scripts/batch_ship_order.py (732b), scripts/batch_update_tpf_warehouse_tracking_status.py (888b), scripts/check_auth_dependency.py (3987b), scripts/check_polygon_update_status.py (798b), scripts/create_booking_shipping_document.py (828b), scripts/create_shipping_document_job.py (804b), scripts/create_shipping_document.py (780b), scripts/delete_address.py (720b), scripts/delete_special_operating_hour.py (810b), scripts/download_booking_shipping_document.py (840b), scripts/download_shipping_document_job.py (816b), scripts/download_shipping_document.py (792b), scripts/download_to_label.py (738b), scripts/get_address_list.py (732b), scripts/get_booking_shipping_document_data_info.py (870b), scripts/get_booking_shipping_document_parameter.py (870b), scripts/get_booking_shipping_document_result.py (852b), scripts/get_booking_shipping_parameter.py (816b), scripts/get_booking_tracking_info.py (786b), scripts/get_booking_tracking_number.py (798b), scripts/get_channel_list.py (732b), scripts/get_mart_packaging_info.py (774b), scripts/get_mass_shipping_parameter.py (798b), scripts/get_mass_tracking_number.py (780b), scripts/get_operating_hour_restrictions.py (822b), scripts/get_operating_hours.py (750b), scripts/get_pause_status.py (732b), scripts/get_shipping_document_data_info.py (822b), scripts/get_shipping_document_job_status.py (828b), scripts/get_shipping_document_parameter.py (822b), scripts/get_shipping_document_result.py (804b), scripts/get_shipping_parameter.py (768b), scripts/get_tracking_info.py (738b), scripts/get_tracking_number.py (750b), scripts/logistics_api.py (1054b), scripts/mass_ship_order.py (726b), scripts/set_address_config.py (744b), scripts/set_mart_packaging_info.py (774b), scripts/set_pause_status.py (732b), scripts/ship_booking.py (708b), scripts/ship_order.py (696b), scripts/update_address.py (720b), scripts/update_channel.py (720b), scripts/update_operating_hours.py (768b), scripts/update_self_collection_order_logistics.py (864b), scripts/update_shipping_order.py (762b), scripts/update_tracking_status.py (768b), scripts/upload_serviceable_polygon.py (792b), skill-card.md (2752b), SKILL.md (6714b), _meta.json (149b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: linkfox-shopee-store-logistics\ndescription: Shopee（虾皮）店铺物流发货（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Logistics 模块全部 46 个接口：get_shipping_parameter、ship_order、get_tracking_number、create_shipping_document、download_shipping_document、get_channel_list 等。当用户提到 Shopee 物流、发货、ship_order、运单号、面单、tracking、揽收地址、物流渠道、READY_TO_SHIP 发货 时触发。即使未明确提及\"物流\"，只要涉及已授权 Shopee 店铺的发货、面单或物流轨迹查询，也应触发。\n---\n\n# Shopee 店铺 Logistics\n\nShopee Open Platform **Logistics 模块**（46 个 API）。**依赖 `linkfox-shopee-store-auth`**：先取 `accessToken`，再经 **`POST /shopee/developerProxy`** 转发（`path` 须 `api/v2/logistics/...`）。\n\n## 调用方式\n\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/logistics_api.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-logistics-<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### 异常情况\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\nLogistics 模块索引：[v2.logistics.get_shipping_parameter](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1)\n\n---\n\n## Prerequisites（必须先读）\n\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`** 并授权店铺。\n2. **不要**在本 skill 内实现授权/令牌逻辑。\n\n---\n\n## Core Concepts\n\n- **转发链路**：`storeTokens` → `developerProxy` → 紫鸟 `shopee-proxy` → Shopee API\n- **典型发货流程**：`get_shipping_parameter` → `ship_order` → `get_tracking_number` → 面单（`create_shipping_document` → `download_shipping_document`）\n- **订单查询**（列表/详情）→ `linkfox-shopee-store-orders`；本 skill 负责**物流发货与面单**\n- **店铺级 API**：通常传 **`shopId`**\n\n## 可用脚本（Logistics 模块 46 个 API）\n\n| 分组 | 脚本 |\n|------|------|\n| 发货 | `get_shipping_parameter.py`、`ship_order.py`、`mass_ship_order.py`、`batch_ship_order.py`、`update_shipping_order.py` |\n| 运单/轨迹 | `get_tracking_number.py`、`get_tracking_info.py`、`update_tracking_status.py` |\n| 面单 | `get_shipping_document_parameter.py`、`create_shipping_document.py`、`download_shipping_document.py`、`create_shipping_document_job.py` 等 |\n| 地址/渠道 | `get_address_list.py`、`get_channel_list.py`、`update_address.py`、`set_address_config.py` |\n| Booking | `get_booking_shipping_parameter.py`、`ship_booking.py` 及 booking 面单系列 |\n| 通用入口 | `logistics_api.py`（JSON 含 `api` 字段） |\n\n完整列表见 `references/api.md`。共享：`_shopee_logistics_common.py`、`_logistics_endpoints.py`、`_logistics_api_runner.py`。\n\n## Usage Scenarios\n\n### 1. 单订单发货\n1. orders skill 获取 `order_sn`（状态 READY_TO_SHIP）\n2. `get_shipping_parameter.py`：`order_sn`\n3. `ship_order.py` 传完整 `body`\n4. `get_tracking_number.py` 获取运单号\n\n### 2. 打印面单\n1. `get_shipping_document_parameter.py`\n2. `create_shipping_document.py`\n3. `download_shipping_document.py`\n\n## 调用原则\n\n- 先看 **`developerProxy.httpStatus`**，再读 `*Response` 字段\n- GET：业务参数放 JSON 顶层（runner 拼 queryString）\n- POST：复杂接口传 `body`\n- 每个脚本 docstring 含 **官方文档 URL**（`module=95`）\n\n## Not Applicable\n\n- 店铺授权 → `linkfox-shopee-store-auth`\n- 订单查询/取消/拆单 → `linkfox-shopee-store-orders`\n- 退货退款 → `linkfox-shopee-store-returns`\n- 店铺信息 → `linkfox-shopee-store-shop`\n- 商品 listing → `linkfox-shopee-store-product`\n- FirstMile 头程 → `linkfox-shopee-store-first-mile`\n- SBS 仓储库存 → `linkfox-shopee-store-sbs`\n- FBS 巴西仓储 → `linkfox-shopee-store-fbs`\n\n## 积分消耗规则\n\n不消耗积分。\n\n**Feedback:**\n\nAuto-detect and report feedback via the Feedback API when any of the following apply:\n1. The functionality or purpose described in this skill does not match actual behavior\n2. The skill's results do not match the user's intent\n3. The user expresses dissatisfaction or praise about this skill\n4. Anything you believe could be improved\n\nCall the feedback API as specified in `references/api.md`. Do not interrupt the user's flow.\n\n---\n*For more high-quality, professional cross-border e-commerce skills, visit [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-shopee-store-logistics\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783945345703\n}\n\nFile v1.0.3:references/api.md\n\n# linkfox-shopee-store-logistics — 参数与字段参考\n\nShopee **Logistics 模块**全部 46 个 API，经 **`POST /shopee/developerProxy`** 转发。\n\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.logistics.get_shipping_parameter](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1)\n\n## 通用约定\n\n- **Base URL**：`https://tool-gateway.linkfox.com`\n- **Method**：POST（网关），上游 Method 见各接口\n- **Auth**：Header `Authorization: <api_key>`（`LINKFOXAGENT_API_KEY`）（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\n- **流程**：`POST /shopee/storeTokens` → `POST /shopee/developerProxy`\n- **path**：须 `api/v2/logistics/...`\n- **标识**：店铺级物流 API，通常传 **`shopId`**\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.logistics.{api}?module=95&type=1`\n- **复杂 POST**（如 `ship_order`）：推荐传完整 `body` 对象\n\n---\n\n## Logistics 模块总览\n\n| # | API | Method | path | 脚本 | 官方文档 |\n|---|-----|--------|------|------|----------|\n| 1 | batch_ship_order | POST | `api/v2/logistics/batch_ship_order` | `batch_ship_order.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.batch_ship_order?module=95&type=1) |\n| 2 | batch_update_tpf_warehouse_tracking_status | POST | `api/v2/logistics/batch_update_tpf_warehouse_tracking_status` | `batch_update_tpf_warehouse_tracking_status.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.batch_update_tpf_warehouse_tracking_status?module=95&type=1) |\n| 3 | check_polygon_update_status | GET | `api/v2/logistics/check_polygon_update_status` | `check_polygon_update_status.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.check_polygon_update_status?module=95&type=1) |\n| 4 | create_booking_shipping_document | POST | `api/v2/logistics/create_booking_shipping_document` | `create_booking_shipping_document.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.create_booking_shipping_document?module=95&type=1) |\n| 5 | create_shipping_document | POST | `api/v2/logistics/create_shipping_document` | `create_shipping_document.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.create_shipping_document?module=95&type=1) |\n| 6 | create_shipping_document_job | POST | `api/v2/logistics/create_shipping_document_job` | `create_shipping_document_job.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.create_shipping_document_job?module=95&type=1) |\n| 7 | delete_address | POST | `api/v2/logistics/delete_address` | `delete_address.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.delete_address?module=95&type=1) |\n| 8 | delete_special_operating_hour | POST | `api/v2/logistics/delete_special_operating_hour` | `delete_special_operating_hour.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.delete_special_operating_hour?module=95&type=1) |\n| 9 | download_booking_shipping_document | GET | `api/v2/logistics/download_booking_shipping_document` | `download_booking_shipping_document.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.download_booking_shipping_document?module=95&type=1) |\n| 10 | download_shipping_document | GET | `api/v2/logistics/download_shipping_document` | `download_shipping_document.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.download_shipping_document?module=95&type=1) |\n| 11 | download_shipping_document_job | GET | `api/v2/logistics/download_shipping_document_job` | `download_shipping_document_job.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.download_shipping_document_job?module=95&type=1) |\n| 12 | download_to_label | GET | `api/v2/logistics/download_to_label` | `download_to_label.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.download_to_label?module=95&type=1) |\n| 13 | get_address_list | GET | `api/v2/logistics/get_address_list` | `get_address_list.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_address_list?module=95&type=1) |\n| 14 | get_booking_shipping_document_data_info | GET | `api/v2/logistics/get_booking_shipping_document_data_info` | `get_booking_shipping_document_data_info.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_booking_shipping_document_data_info?module=95&type=1) |\n| 15 | get_booking_shipping_document_parameter | GET | `api/v2/logistics/get_booking_shipping_document_parameter` | `get_booking_shipping_document_parameter.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_booking_shipping_document_parameter?module=95&type=1) |\n| 16 | get_booking_shipping_document_result | GET | `api/v2/logistics/get_booking_shipping_document_result` | `get_booking_shipping_document_result.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_booking_shipping_document_result?module=95&type=1) |\n| 17 | get_booking_shipping_parameter | GET | `api/v2/logistics/get_booking_shipping_parameter` | `get_booking_shipping_parameter.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_booking_shipping_parameter?module=95&type=1) |\n| 18 | get_booking_tracking_info | GET | `api/v2/logistics/get_booking_tracking_info` | `get_booking_tracking_info.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_booking_tracking_info?module=95&type=1) |\n| 19 | get_booking_tracking_number | GET | `api/v2/logistics/get_booking_tracking_number` | `get_booking_tracking_number.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_booking_tracking_number?module=95&type=1) |\n| 20 | get_channel_list | GET | `api/v2/logistics/get_channel_list` | `get_channel_list.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_channel_list?module=95&type=1) |\n| 21 | get_mart_packaging_info | GET | `api/v2/logistics/get_mart_packaging_info` | `get_mart_packaging_info.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_mart_packaging_info?module=95&type=1) |\n| 22 | get_mass_shipping_parameter | POST | `api/v2/logistics/get_mass_shipping_parameter` | `get_mass_shipping_parameter.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_mass_shipping_parameter?module=95&type=1) |\n| 23 | get_mass_tracking_number | POST | `api/v2/logistics/get_mass_tracking_number` | `get_mass_tracking_number.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_mass_tracking_number?module=95&type=1) |\n| 24 | get_operating_hour_restrictions | GET | `api/v2/logistics/get_operating_hour_restrictions` | `get_operating_hour_restrictions.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_operating_hour_restrictions?module=95&type=1) |\n| 25 | get_operating_hours | GET | `api/v2/logistics/get_operating_hours` | `get_operating_hours.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_operating_hours?module=95&type=1) |\n| 26 | get_pause_status | GET | `api/v2/logistics/get_pause_status` | `get_pause_status.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_pause_status?module=95&type=1) |\n| 27 | get_shipping_document_data_info | GET | `api/v2/logistics/get_shipping_document_data_info` | `get_shipping_document_data_info.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_document_data_info?module=95&type=1) |\n| 28 | get_shipping_document_job_status | GET | `api/v2/logistics/get_shipping_document_job_status` | `get_shipping_document_job_status.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_document_job_status?module=95&type=1) |\n| 29 | get_shipping_document_parameter | GET | `api/v2/logistics/get_shipping_document_parameter` | `get_shipping_document_parameter.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_document_parameter?module=95&type=1) |\n| 30 | get_shipping_document_result | GET | `api/v2/logistics/get_shipping_document_result` | `get_shipping_document_result.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_document_result?module=95&type=1) |\n| 31 | get_shipping_parameter | GET | `api/v2/logistics/get_shipping_parameter` | `get_shipping_parameter.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1) |\n| 32 | get_tracking_info | GET | `api/v2/logistics/get_tracking_info` | `get_tracking_info.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_tracking_info?module=95&type=1) |\n| 33 | get_tracking_number | GET | `api/v2/logistics/get_tracking_number` | `get_tracking_number.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_tracking_number?module=95&type=1) |\n| 34 | mass_ship_order | POST | `api/v2/logistics/mass_ship_order` | `mass_ship_order.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.mass_ship_order?module=95&type=1) |\n| 35 | set_address_config | POST | `api/v2/logistics/set_address_config` | `set_address_config.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.set_address_config?module=95&type=1) |\n| 36 | set_mart_packaging_info | POST | `api/v2/logistics/set_mart_packaging_info` | `set_mart_packaging_info.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.set_mart_packaging_info?module=95&type=1) |\n| 37 | set_pause_status | POST | `api/v2/logistics/set_pause_status` | `set_pause_status.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.set_pause_status?module=95&type=1) |\n| 38 | ship_booking | POST | `api/v2/logistics/ship_booking` | `ship_booking.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.ship_booking?module=95&type=1) |\n| 39 | ship_order | POST | `api/v2/logistics/ship_order` | `ship_order.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.ship_order?module=95&type=1) |\n| 40 | update_address | POST | `api/v2/logistics/update_address` | `update_address.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.update_address?module=95&type=1) |\n| 41 | update_channel | POST | `api/v2/logistics/update_channel` | `update_channel.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.update_channel?module=95&type=1) |\n| 42 | update_operating_hours | POST | `api/v2/logistics/update_operating_hours` | `update_operating_hours.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.update_operating_hours?module=95&type=1) |\n| 43 | update_self_collection_order_logistics | POST | `api/v2/logistics/update_self_collection_order_logistics` | `update_self_collection_order_logistics.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.update_self_collection_order_logistics?module=95&type=1) |\n| 44 | update_shipping_order | POST | `api/v2/logistics/update_shipping_order` | `update_shipping_order.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.update_shipping_order?module=95&type=1) |\n| 45 | update_tracking_status | POST | `api/v2/logistics/update_tracking_status` | `update_tracking_status.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.update_tracking_status?module=95&type=1) |\n| 46 | upload_serviceable_polygon | POST | `api/v2/logistics/upload_serviceable_polygon` | `upload_serviceable_polygon.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.upload_serviceable_polygon?module=95&type=1) |\n通用入口：`logistics_api.py`（JSON 含 `\"api\": \"<上表 API 名>\"`）。\n\n---\n\n## 常用接口说明\n\n### 发货流程\n\n| API | 要点 |\n|-----|------|\n| `get_shipping_parameter` | 必填 `order_sn`；发货前获取 pickup/dropoff 参数 |\n| `ship_order` | POST `body`：执行发货 |\n| `get_tracking_number` | 必填 `order_sn`；获取运单号 |\n| `get_tracking_info` | 物流轨迹查询 |\n\n### 面单/文档\n\n| API | 要点 |\n|-----|------|\n| `get_shipping_document_parameter` | 必填 `order_sn` |\n| `create_shipping_document` | 创建面单 |\n| `get_shipping_document_result` | 查询面单生成结果 |\n| `download_shipping_document` | 下载面单 PDF |\n| `create_shipping_document_job` | 异步批量面单任务 |\n\n### 地址与渠道\n\n| API | 要点 |\n|-----|------|\n| `get_address_list` | 揽收/退货地址列表 |\n| `get_channel_list` | 可用物流渠道 |\n| `update_address` / `set_address_config` | 地址管理 |\n\n### Booking 发货\n\n`get_booking_shipping_parameter`、`ship_booking`、`get_booking_tracking_number` 及 booking 面单系列 — 见上表。\n\n### 批量与其他\n\n`mass_ship_order`、`batch_ship_order`、`get_mass_shipping_parameter` 等批量接口；Mart 包装、配送 polygon、pause 状态等见上表及官方文档。\n\n---\n\n## 网关错误码\n\n| errcode | 含义 | 建议 |\n|---------|------|------|\n| 1002 | 参数/未登录 | 检查 shopId 与 API Key |\n| 1003 | 代理/网络异常 | 重试 |\n| 1004 | 无授权记录 | auth skill |\n| 1005 | path 未白名单 | 确认 `api/v2/logistics/...` |\n\n---\n\n## curl 示例\n\n```bash\nexport KEY=$LINKFOX_AGENT_API_KEY\nBASE=${LINKFOX_TOOL_GATEWAY}\n\n# 发货参数\ncurl -X POST $BASE/shopee/developerProxy -H \"Authorization: $KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"path\": \"api/v2/logistics/get_shipping_parameter\",\n    \"method\": \"GET\",\n    \"accessToken\": \"xxx\",\n    \"shopId\": \"67890\",\n    \"queryString\": \"order_sn=240101ABC\"\n  }'\n```\n\n---\n\n## Feedback API\n\n```bash\ncurl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"skillName\":\"linkfox-shopee-store-logistics\",\"sentiment\":\"POSITIVE\",\n       \"category\":\"OTHER\",\"content\":\"物流发货查询正常\"}'\n```\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nProvides agent-facing guidance and scripts for authorized Shopee stores to manage logistics workflows through LinkFox, including shipping orders, tracking numbers, shipping documents, addresses, channels, booking, and operating-hour actions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal sellers, store operators, and developers use this skill to run authorized Shopee logistics actions such as preparing shipments, obtaining tracking numbers, generating shipping documents, and managing logistics settings for a shop. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can change live Shopee shop logistics data, including shipping orders, addresses, channels, pause status, and tracking state. <br>\nMitigation: Confirm each state-changing action and its target shop, order, address, or channel before execution. <br>\nRisk: Saved LinkFox response files may contain sensitive business, customer, order, or logistics data. <br>\nMitigation: Store response files only in protected workspaces and delete or retain them according to the user's data handling requirements. <br>\nRisk: The skill requires access to authorized Shopee store credentials through the LinkFox authentication dependency. <br>\nMitigation: Use only authorized shop access, keep API keys out of shared logs, and resolve missing authentication through the documented dependency flow. <br>\n\n\n## Reference(s): <br>\n- [Skill API reference](references/api.md) <br>\n- [Shopee Open Platform Logistics documentation](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1) <br>\n- [ClawHub skill listing](https://clawhub.ai/linkfox-ai/skills/linkfox-shopee-store-logistics) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance, JSON, files] <br>\n**Output Format:** [Markdown guidance with shell commands and JSON inputs; script runs return JSON responses and save full response files locally.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Responses up to 8 KB are printed in full after being saved; larger responses are summarized unless inline output is requested.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.2: 55 files, 44066 bytes\n\nFiles: references/api.md (13413b), scripts/_logistics_api_runner.py (4295b), scripts/_logistics_endpoints.py (11359b), scripts/_shopee_logistics_common.py (11319b), scripts/batch_ship_order.py (732b), scripts/batch_update_tpf_warehouse_tracking_status.py (888b), scripts/check_auth_dependency.py (3987b), scripts/check_polygon_update_status.py (798b), scripts/create_booking_shipping_document.py (828b), scripts/create_shipping_document_job.py (804b), scripts/create_shipping_document.py (780b), scripts/delete_address.py (720b), scripts/delete_special_operating_hour.py (810b), scripts/download_booking_shipping_document.py (840b), scripts/download_shipping_document_job.py (816b), scripts/download_shipping_document.py (792b), scripts/download_to_label.py (738b), scripts/get_address_list.py (732b), scripts/get_booking_shipping_document_data_info.py (870b), scripts/get_booking_shipping_document_parameter.py (870b), scripts/get_booking_shipping_document_result.py (852b), scripts/get_booking_shipping_parameter.py (816b), scripts/get_booking_tracking_info.py (786b), scripts/get_booking_tracking_number.py (798b), scripts/get_channel_list.py (732b), scripts/get_mart_packaging_info.py (774b), scripts/get_mass_shipping_parameter.py (798b), scripts/get_mass_tracking_number.py (780b), scripts/get_operating_hour_restrictions.py (822b), scripts/get_operating_hours.py (750b), scripts/get_pause_status.py (732b), scripts/get_shipping_document_data_info.py (822b), scripts/get_shipping_document_job_status.py (828b), scripts/get_shipping_document_parameter.py (822b), scripts/get_shipping_document_result.py (804b), scripts/get_shipping_parameter.py (768b), scripts/get_tracking_info.py (738b), scripts/get_tracking_number.py (750b), scripts/logistics_api.py (1054b), scripts/mass_ship_order.py (726b), scripts/set_address_config.py (744b), scripts/set_mart_packaging_info.py (774b), scripts/set_pause_status.py (732b), scripts/ship_booking.py (708b), scripts/ship_order.py (696b), scripts/update_address.py (720b), scripts/update_channel.py (720b), scripts/update_operating_hours.py (768b), scripts/update_self_collection_order_logistics.py (864b), scripts/update_shipping_order.py (762b), scripts/update_tracking_status.py (768b), scripts/upload_serviceable_polygon.py (792b), skill-card.md (2889b), SKILL.md (5580b), _meta.json (149b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: linkfox-shopee-store-logistics\ndescription: Shopee（虾皮）店铺物流发货（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Logistics 模块全部 46 个接口：get_shipping_parameter、ship_order、get_tracking_number、create_shipping_document、download_shipping_document、get_channel_list 等。当用户提到 Shopee 物流、发货、ship_order、运单号、面单、tracking、揽收地址、物流渠道、READY_TO_SHIP 发货 时触发。即使未明确提及\"物流\"，只要涉及已授权 Shopee 店铺的发货、面单或物流轨迹查询，也应触发。\n---\n\n# Shopee 店铺 Logistics\n\nShopee Open Platform **Logistics 模块**（46 个 API）。**依赖 `linkfox-shopee-store-auth`**：先取 `accessToken`，再经 **`POST /shopee/developerProxy`** 转发（`path` 须 `api/v2/logistics/...`）。\n\n## 调用方式\n\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/logistics_api.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-logistics-<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\nLogistics 模块索引：[v2.logistics.get_shipping_parameter](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1)\n\n---\n\n## Prerequisites（必须先读）\n\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`** 并授权店铺。\n2. **不要**在本 skill 内实现授权/令牌逻辑。\n\n---\n\n## Core Concepts\n\n- **转发链路**：`storeTokens` → `developerProxy` → 紫鸟 `shopee-proxy` → Shopee API\n- **典型发货流程**：`get_shipping_parameter` → `ship_order` → `get_tracking_number` → 面单（`create_shipping_document` → `download_shipping_document`）\n- **订单查询**（列表/详情）→ `linkfox-shopee-store-orders`；本 skill 负责**物流发货与面单**\n- **店铺级 API**：通常传 **`shopId`**\n\n## 可用脚本（Logistics 模块 46 个 API）\n\n| 分组 | 脚本 |\n|------|------|\n| 发货 | `get_shipping_parameter.py`、`ship_order.py`、`mass_ship_order.py`、`batch_ship_order.py`、`update_shipping_order.py` |\n| 运单/轨迹 | `get_tracking_number.py`、`get_tracking_info.py`、`update_tracking_status.py` |\n| 面单 | `get_shipping_document_parameter.py`、`create_shipping_document.py`、`download_shipping_document.py`、`create_shipping_document_job.py` 等 |\n| 地址/渠道 | `get_address_list.py`、`get_channel_list.py`、`update_address.py`、`set_address_config.py` |\n| Booking | `get_booking_shipping_parameter.py`、`ship_booking.py` 及 booking 面单系列 |\n| 通用入口 | `logistics_api.py`（JSON 含 `api` 字段） |\n\n完整列表见 `references/api.md`。共享：`_shopee_logistics_common.py`、`_logistics_endpoints.py`、`_logistics_api_runner.py`。\n\n## Usage Scenarios\n\n### 1. 单订单发货\n1. orders skill 获取 `order_sn`（状态 READY_TO_SHIP）\n2. `get_shipping_parameter.py`：`order_sn`\n3. `ship_order.py` 传完整 `body`\n4. `get_tracking_number.py` 获取运单号\n\n### 2. 打印面单\n1. `get_shipping_document_parameter.py`\n2. `create_shipping_document.py`\n3. `download_shipping_document.py`\n\n## 调用原则\n\n- 先看 **`developerProxy.httpStatus`**，再读 `*Response` 字段\n- GET：业务参数放 JSON 顶层（runner 拼 queryString）\n- POST：复杂接口传 `body`\n- 每个脚本 docstring 含 **官方文档 URL**（`module=95`）\n\n## Not Applicable\n\n- 店铺授权 → `linkfox-shopee-store-auth`\n- 订单查询/取消/拆单 → `linkfox-shopee-store-orders`\n- 退货退款 → `linkfox-shopee-store-returns`\n- 店铺信息 → `linkfox-shopee-store-shop`\n- 商品 listing → `linkfox-shopee-store-product`\n- FirstMile 头程 → `linkfox-shopee-store-first-mile`\n- SBS 仓储库存 → `linkfox-shopee-store-sbs`\n- FBS 巴西仓储 → `linkfox-shopee-store-fbs`\n\n**Feedback:**\n\nAuto-detect and report feedback via the Feedback API when any of the following apply:\n1. The functionality or purpose described in this skill does not match actual behavior\n2. The skill's results do not match the user's intent\n3. The user expresses dissatisfaction or praise about this skill\n4. Anything you believe could be improved\n\nCall the feedback API as specified in `references/api.md`. Do not interrupt the user's flow.\n\n---\n*For more high-quality, professional cross-border e-commerce skills, visit [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-shopee-store-logistics\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1783337461254\n}\n\nFile v1.0.2:references/api.md\n\n# linkfox-shopee-store-logistics — 参数与字段参考\n\nShopee **Logistics 模块**全部 46 个 API，经 **`POST /shopee/developerProxy`** 转发。\n\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.logistics.get_shipping_parameter](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1)\n\n## 通用约定\n\n- **Base URL**：`https://tool-gateway.linkfox.com`\n- **Method**：POST（网关），上游 Method 见各接口\n- **Auth**：Header `Authorization: <api_key>`（`LINKFOXAGENT_API_KEY`）\n- **流程**：`POST /shopee/storeTokens` → `POST /shopee/developerProxy`\n- **path**：须 `api/v2/logistics/...`\n- **标识**：店铺级物流 API，通常传 **`shopId`**\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.logistics.{api}?module=95&type=1`\n- **复杂 POST**（如 `ship_order`）：推荐传完整 `body` 对象\n\n---\n\n## Logistics 模块总览\n\n| # | API | Method | path | 脚本 | 官方文档 |\n|---|-----|--------|------|------|----------|\n| 1 | batch_ship_order | POST | `api/v2/logistics/batch_ship_order` | `batch_ship_order.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.batch_ship_order?module=95&type=1) |\n| 2 | batch_update_tpf_warehouse_tracking_status | POST | `api/v2/logistics/batch_update_tpf_warehouse_tracking_status` | `batch_update_tpf_warehouse_tracking_status.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.batch_update_tpf_warehouse_tracking_status?module=95&type=1) |\n| 3 | check_polygon_update_status | GET | `api/v2/logistics/check_polygon_update_status` | `check_polygon_update_status.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.check_polygon_update_status?module=95&type=1) |\n| 4 | create_booking_shipping_document | POST | `api/v2/logistics/create_booking_shipping_document` | `create_booking_shipping_document.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.create_booking_shipping_document?module=95&type=1) |\n| 5 | create_shipping_document | POST | `api/v2/logistics/create_shipping_document` | `create_shipping_document.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.create_shipping_document?module=95&type=1) |\n| 6 | create_shipping_document_job | POST | `api/v2/logistics/create_shipping_document_job` | `create_shipping_document_job.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.create_shipping_document_job?module=95&type=1) |\n| 7 | delete_address | POST | `api/v2/logistics/delete_address` | `delete_address.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.delete_address?module=95&type=1) |\n| 8 | delete_special_operating_hour | POST | `api/v2/logistics/delete_special_operating_hour` | `delete_special_operating_hour.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.delete_special_operating_hour?module=95&type=1) |\n| 9 | download_booking_shipping_document | GET | `api/v2/logistics/download_booking_shipping_document` | `download_booking_shipping_document.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.download_booking_shipping_document?module=95&type=1) |\n| 10 | download_shipping_document | GET | `api/v2/logistics/download_shipping_document` | `download_shipping_document.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.download_shipping_document?module=95&type=1) |\n| 11 | download_shipping_document_job | GET | `api/v2/logistics/download_shipping_document_job` | `download_shipping_document_job.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.download_shipping_document_job?module=95&type=1) |\n| 12 | download_to_label | GET | `api/v2/logistics/download_to_label` | `download_to_label.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.download_to_label?module=95&type=1) |\n| 13 | get_address_list | GET | `api/v2/logistics/get_address_list` | `get_address_list.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_address_list?module=95&type=1) |\n| 14 | get_booking_shipping_document_data_info | GET | `api/v2/logistics/get_booking_shipping_document_data_info` | `get_booking_shipping_document_data_info.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_booking_shipping_document_data_info?module=95&type=1) |\n| 15 | get_booking_shipping_document_parameter | GET | `api/v2/logistics/get_booking_shipping_document_parameter` | `get_booking_shipping_document_parameter.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_booking_shipping_document_parameter?module=95&type=1) |\n| 16 | get_booking_shipping_document_result | GET | `api/v2/logistics/get_booking_shipping_document_result` | `get_booking_shipping_document_result.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_booking_shipping_document_result?module=95&type=1) |\n| 17 | get_booking_shipping_parameter | GET | `api/v2/logistics/get_booking_shipping_parameter` | `get_booking_shipping_parameter.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_booking_shipping_parameter?module=95&type=1) |\n| 18 | get_booking_tracking_info | GET | `api/v2/logistics/get_booking_tracking_info` | `get_booking_tracking_info.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_booking_tracking_info?module=95&type=1) |\n| 19 | get_booking_tracking_number | GET | `api/v2/logistics/get_booking_tracking_number` | `get_booking_tracking_number.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_booking_tracking_number?module=95&type=1) |\n| 20 | get_channel_list | GET | `api/v2/logistics/get_channel_list` | `get_channel_list.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_channel_list?module=95&type=1) |\n| 21 | get_mart_packaging_info | GET | `api/v2/logistics/get_mart_packaging_info` | `get_mart_packaging_info.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_mart_packaging_info?module=95&type=1) |\n| 22 | get_mass_shipping_parameter | POST | `api/v2/logistics/get_mass_shipping_parameter` | `get_mass_shipping_parameter.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_mass_shipping_parameter?module=95&type=1) |\n| 23 | get_mass_tracking_number | POST | `api/v2/logistics/get_mass_tracking_number` | `get_mass_tracking_number.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_mass_tracking_number?module=95&type=1) |\n| 24 | get_operating_hour_restrictions | GET | `api/v2/logistics/get_operating_hour_restrictions` | `get_operating_hour_restrictions.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_operating_hour_restrictions?module=95&type=1) |\n| 25 | get_operating_hours | GET | `api/v2/logistics/get_operating_hours` | `get_operating_hours.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_operating_hours?module=95&type=1) |\n| 26 | get_pause_status | GET | `api/v2/logistics/get_pause_status` | `get_pause_status.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_pause_status?module=95&type=1) |\n| 27 | get_shipping_document_data_info | GET | `api/v2/logistics/get_shipping_document_data_info` | `get_shipping_document_data_info.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_document_data_info?module=95&type=1) |\n| 28 | get_shipping_document_job_status | GET | `api/v2/logistics/get_shipping_document_job_status` | `get_shipping_document_job_status.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_document_job_status?module=95&type=1) |\n| 29 | get_shipping_document_parameter | GET | `api/v2/logistics/get_shipping_document_parameter` | `get_shipping_document_parameter.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_document_parameter?module=95&type=1) |\n| 30 | get_shipping_document_result | GET | `api/v2/logistics/get_shipping_document_result` | `get_shipping_document_result.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_document_result?module=95&type=1) |\n| 31 | get_shipping_parameter | GET | `api/v2/logistics/get_shipping_parameter` | `get_shipping_parameter.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1) |\n| 32 | get_tracking_info | GET | `api/v2/logistics/get_tracking_info` | `get_tracking_info.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_tracking_info?module=95&type=1) |\n| 33 | get_tracking_number | GET | `api/v2/logistics/get_tracking_number` | `get_tracking_number.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.get_tracking_number?module=95&type=1) |\n| 34 | mass_ship_order | POST | `api/v2/logistics/mass_ship_order` | `mass_ship_order.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.mass_ship_order?module=95&type=1) |\n| 35 | set_address_config | POST | `api/v2/logistics/set_address_config` | `set_address_config.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.set_address_config?module=95&type=1) |\n| 36 | set_mart_packaging_info | POST | `api/v2/logistics/set_mart_packaging_info` | `set_mart_packaging_info.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.set_mart_packaging_info?module=95&type=1) |\n| 37 | set_pause_status | POST | `api/v2/logistics/set_pause_status` | `set_pause_status.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.set_pause_status?module=95&type=1) |\n| 38 | ship_booking | POST | `api/v2/logistics/ship_booking` | `ship_booking.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.ship_booking?module=95&type=1) |\n| 39 | ship_order | POST | `api/v2/logistics/ship_order` | `ship_order.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.ship_order?module=95&type=1) |\n| 40 | update_address | POST | `api/v2/logistics/update_address` | `update_address.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.update_address?module=95&type=1) |\n| 41 | update_channel | POST | `api/v2/logistics/update_channel` | `update_channel.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.update_channel?module=95&type=1) |\n| 42 | update_operating_hours | POST | `api/v2/logistics/update_operating_hours` | `update_operating_hours.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.update_operating_hours?module=95&type=1) |\n| 43 | update_self_collection_order_logistics | POST | `api/v2/logistics/update_self_collection_order_logistics` | `update_self_collection_order_logistics.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.update_self_collection_order_logistics?module=95&type=1) |\n| 44 | update_shipping_order | POST | `api/v2/logistics/update_shipping_order` | `update_shipping_order.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.update_shipping_order?module=95&type=1) |\n| 45 | update_tracking_status | POST | `api/v2/logistics/update_tracking_status` | `update_tracking_status.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.update_tracking_status?module=95&type=1) |\n| 46 | upload_serviceable_polygon | POST | `api/v2/logistics/upload_serviceable_polygon` | `upload_serviceable_polygon.py` | [doc](https://open.shopee.com/documents/v2/v2.logistics.upload_serviceable_polygon?module=95&type=1) |\n通用入口：`logistics_api.py`（JSON 含 `\"api\": \"<上表 API 名>\"`）。\n\n---\n\n## 常用接口说明\n\n### 发货流程\n\n| API | 要点 |\n|-----|------|\n| `get_shipping_parameter` | 必填 `order_sn`；发货前获取 pickup/dropoff 参数 |\n| `ship_order` | POST `body`：执行发货 |\n| `get_tracking_number` | 必填 `order_sn`；获取运单号 |\n| `get_tracking_info` | 物流轨迹查询 |\n\n### 面单/文档\n\n| API | 要点 |\n|-----|------|\n| `get_shipping_document_parameter` | 必填 `order_sn` |\n| `create_shipping_document` | 创建面单 |\n| `get_shipping_document_result` | 查询面单生成结果 |\n| `download_shipping_document` | 下载面单 PDF |\n| `create_shipping_document_job` | 异步批量面单任务 |\n\n### 地址与渠道\n\n| API | 要点 |\n|-----|------|\n| `get_address_list` | 揽收/退货地址列表 |\n| `get_channel_list` | 可用物流渠道 |\n| `update_address` / `set_address_config` | 地址管理 |\n\n### Booking 发货\n\n`get_booking_shipping_parameter`、`ship_booking`、`get_booking_tracking_number` 及 booking 面单系列 — 见上表。\n\n### 批量与其他\n\n`mass_ship_order`、`batch_ship_order`、`get_mass_shipping_parameter` 等批量接口；Mart 包装、配送 polygon、pause 状态等见上表及官方文档。\n\n---\n\n## 网关错误码\n\n| errcode | 含义 | 建议 |\n|---------|------|------|\n| 1002 | 参数/未登录 | 检查 shopId 与 API Key |\n| 1003 | 代理/网络异常 | 重试 |\n| 1004 | 无授权记录 | auth skill |\n| 1005 | path 未白名单 | 确认 `api/v2/logistics/...` |\n\n---\n\n## curl 示例\n\n```bash\nexport KEY=$LINKFOX_AGENT_API_KEY\nBASE=${LINKFOX_TOOL_GATEWAY}\n\n# 发货参数\ncurl -X POST $BASE/shopee/developerProxy -H \"Authorization: $KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"path\": \"api/v2/logistics/get_shipping_parameter\",\n    \"method\": \"GET\",\n    \"accessToken\": \"xxx\",\n    \"shopId\": \"67890\",\n    \"queryString\": \"order_sn=240101ABC\"\n  }'\n```\n\n---\n\n## Feedback API\n\n```bash\ncurl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"skillName\":\"linkfox-shopee-store-logistics\",\"sentiment\":\"POSITIVE\",\n   \n\nArchive v1.0.1: 54 files, 42576 b...","readmeExcerpt":"Skill: Shopee-店铺物流 Owner: linkfox-ai Summary: Shopee（虾皮）店铺物流发货（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Logistics 模块全部 46 个接口：get_shipping_parameter、ship_order、get_tracking_number、create_shipping_document、download_shipping_document、get_channel_list 等。当用户提到 Shopee 物流、发货、ship_order、运单号、面单、tracking、揽收地址、物流渠道、READY_TO_SHIP 发货 时触发。即使未明确提及\"物流\"，只要涉及已授权 Shopee 店铺的发货、面单或物流轨迹查询，也应触发。 Tags: l","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"curl -X POST $BASE/shopee/developerProxy -H \"Authorization: $KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{"},{"language":"bash","snippet":"export KEY=$LINKFOX_AGENT_API_KEY\nBASE=${LINKFOX_TOOL_GATEWAY}\n\n# 发货参数\ncurl -X POST $BASE/shopee/developerProxy -H \"Authorization: $KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"path\": \"api/v2/logistics/get_shipping_parameter\",\n    \"method\": \"GET\",\n    \"accessToken\": \"xxx\",\n    \"shopId\": \"67890\",\n    \"queryString\": \"order_sn=240101ABC\"\n  }'"},{"language":"bash","snippet":"curl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"skillName\":\"linkfox-shopee-store-logistics\",\"sentiment\":\"POSITIVE\","},{"language":"bash","snippet":"curl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"skillName\":\"linkfox-shopee-store-logistics\",\"sentiment\":\"POSITIVE\",\n       \"category\":\"OTHER\",\"content\":\"物流发货查询正常\"}'"},{"language":"bash","snippet":"export LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/batch_ship_order.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"batch_ship_order\", \"shopId\": \"67890\"}'"},{"language":"bash","snippet":"export LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/batch_update_tpf_warehouse_tracking_status.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"batch_update_tpf_warehouse_tracking_status\", \"shopId\": \"67890\"}'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: linkfox-shopee-store-logistics\ndescription: Shopee（虾皮）店铺物流发货（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Logistics 模块全部 46 个接口：get_shipping_parameter、ship_order、get_tracking_number、create_shipping_document、download_shipping_document、get_channel_list 等。当用户提到 Shopee 物流、发货、ship_order、运单号、面单、tracking、揽收地址、物流渠道、READY_TO_SHIP 发货 时触发。即使未明确提及\"物流\"，只要涉及已授权 Shopee 店铺的发货、面单或物流轨迹查询，也应触发。\n---\n\n# Shopee 店铺 Logistics\n\nShopee Open Platform **Logistics 模块**（46 个 API）。**依赖 `linkfox-shopee-store-auth`** 选店；经 **`POST /shopee/developerProxy`** 传入 `shopId`（或 `merchantId`），由服务端解析 token 转发（`path` 须 `api/v2/logistics/...`）。\n\n## 调用方式\n\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/logistics_api.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗算力；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-logistics-<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发生以下异常情况时，采用 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\nLogistics 模块索引：[v2.logistics.get_shipping_parameter](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1)\n\n---\n\n## Prerequisites（必须先读）\n\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`** 并授权店铺。\n2. **不要**在本 skill 内实现授权/令牌逻辑。\n\n---\n\n## Core Concepts\n\n- **转发链路**：`developerProxy`（`shopId`/`merchantId` 选店，服务端注入 token）→ 紫鸟 `shopee-proxy` → Shopee API\n- **典型发货流程**：`get_shipping_parameter` → `ship_order` → `get_tracking_number` → 面单（`create_shipping_document` → `download_shipping_document`）\n- **订单查询**（列表/详情）→ `linkfox-shopee-store-orders`；本 skill 负责**物流发货与面单**\n- **店铺级 API**：通常传 **`shopId`**\n\n## 可用脚本（Logistics 模块 46 个 API）\n\n| 分组 | 脚本 |\n|------|------|\n| 发货 | `get_shipping_parameter.py`、`ship_order.py`、`mass_ship_order.py`、`batch_ship_order.py`、`update_shipping_order.py` |\n| 运单/轨迹 | `get_tracking_number.py`、`get_tracking_info.py`、`update_tracking_status.py` |\n| 面单 | `get_shipping_document_parameter.py`、`create_shipping_document.py`、`download_shipping_document.py`、`create_shipping_document_job.py` 等 |\n| 地址/渠道 | `get_address_list.py`、`get_channel_list.py`、`update_address.py`、`set_address_config.py` |\n| Booking | `get_booking_shipping_parameter.py`、`ship_booking.py` 及 booking 面单系列 |\n| 通用入口 | `logistics_api.py`（JSON 含 `api` 字段） |\n\n完整列表见 `reference"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-shopee-store-logistics\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1789363719485\n}"},{"path":"references/api.md","content":"# linkfox-shopee-store-logistics — 参数与字段参考\n\n> 单接口入参/响应说明已拆到 **`apis/`**（按 API 一份）；本文件保留模块总览与 Feedback。\nShopee **Logistics 模块**全部 46 个 API，经 **`POST /shopee/developerProxy`** 转发。\n\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.logistics.get_shipping_parameter](https://open.shopee.com/documents/v2/v2.logistics.get_shipping_parameter?module=95&type=1)\n\n## 通用约定\n\n- **Base URL**：`https://tool-gateway.linkfox.com`\n- **Method**：POST（网关），上游 Method 见各接口\n- **Auth**：Header `Authorization: <api_key>`（`LINKFOXAGENT_API_KEY`）（如未配置 按 SKILL.md 的 **## 解决认证和算力问题** 处理）\n- **流程**：`POST /shopee/storeTokens` → `POST /shopee/developerProxy`\n- **path**：须 `api/v2/logistics/...`\n- **标识**：店铺级物流 API，通常传 **`shopId`**\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.logistics.{api}?module=95&type=1`\n- **复杂 POST**（如 `ship_order`）：推荐传完整 `body` 对象\n\n---\n\n## Logistics 模块总览\n\n| # | API | Method | path | 脚本 | 官方文档 |\n|---|-----|--------|------|------|----------|\n| 1 | batch_ship_order | POST | `api/v2/logistics/batch_ship_order` | `batch_ship_order.py` | [apis/batch-ship-order.md](./apis/batch-ship-order.md) |\n| 2 | batch_update_tpf_warehouse_tracking_status | POST | `api/v2/logistics/batch_update_tpf_warehouse_tracking_status` | `batch_update_tpf_warehouse_tracking_status.py` | [apis/batch-update-tpf-warehouse-tracking-status.md](./apis/batch-update-tpf-warehouse-tracking-status.md) |\n| 3 | check_polygon_update_status | GET | `api/v2/logistics/check_polygon_update_status` | `check_polygon_update_status.py` | [apis/check-polygon-update-status.md](./apis/check-polygon-update-status.md) |\n| 4 | create_booking_shipping_document | POST | `api/v2/logistics/create_booking_shipping_document` | `create_booking_shipping_document.py` | [apis/create-booking-shipping-document.md](./apis/create-booking-shipping-document.md) |\n| 5 | create_shipping_document | POST | `api/v2/logistics/create_shipping_document` | `create_shipping_document.py` | [apis/create-shipping-document.md](./apis/create-shipping-document.md) |\n| 6 | create_shipping_document_job | POST | `api/v2/logistics/create_shipping_document_job` | `create_shipping_document_job.py` | [apis/create-shipping-document-job.md](./apis/create-shipping-document-job.md) |\n| 7 | delete_address | POST | `api/v2/logistics/delete_address` | `delete_address.py` | [apis/delete-address.md](./apis/delete-address.md) |\n| 8 | delete_special_operating_hour | POST | `api/v2/logistics/delete_special_operating_hour` | `delete_special_operating_hour.py` | [apis/delete-special-operating-hour.md](./apis/delete-special-operating-hour.md) |\n| 9 | download_booking_shipping_document | GET | `api/v2/logistics/download_booking_shipping_document` | `download_booking_shipping_document.py` | [apis/download-booking-shipping-document.md](./apis/download-booking-shipping-document.md) |\n| 10 | download_shipping_document | GET | `api/v2/logistics/download_shipping_document` | `download_shipping_document.py` | [apis/download-shipping-document.md](./apis/download-shipping-doc"},{"path":"references/apis/batch-ship-order.md","content":"# batch_ship_order\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/batch_ship_order.py` |\n| Method / path | POST `api/v2/logistics/batch_ship_order` |\n| 官方文档 | [batch_ship_order](https://open.shopee.com/documents/v2/v2.logistics.batch_ship_order?module=95&type=1) |\n| 用途 | Batch ship orders |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Batch ship orders\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/batch_ship_order.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"batch_ship_order\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`batchShipOrder`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准"},{"path":"references/apis/batch-update-tpf-warehouse-tracking-status.md","content":"# batch_update_tpf_warehouse_tracking_status\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/batch_update_tpf_warehouse_tracking_status.py` |\n| Method / path | POST `api/v2/logistics/batch_update_tpf_warehouse_tracking_status` |\n| 官方文档 | [batch_update_tpf_warehouse_tracking_status](https://open.shopee.com/documents/v2/v2.logistics.batch_update_tpf_warehouse_tracking_status?module=95&type=1) |\n| 用途 | Batch update TPF warehouse tracking |\n\n经 **`POST /shopee/developerProxy`** 转发；依赖 **`linkfox-shopee-store-auth`** 选店（通常传 `shopId` 或 `merchantId`）。\n\n---\n\n## 脚本 JSON 入参\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `shopId` | string | 与 `merchantId` 二选一 | 店铺 ID（推荐；Public 等无店铺接口可省略） |\n| `merchantId` | string | 与 `shopId` 二选一 | 商户 ID |\n\n- Method：**POST**\n- POST：传 `body` / `requestBody`，或把 `body_fields` 列在 JSON 顶层\n- `shopId` / `merchantId` / `skipDepCheck` 等为网关选店保留字段，不会进 Shopee query/body\n- Registry notes：Batch update TPF warehouse tracking\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/batch_update_tpf_warehouse_tracking_status.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/logistics_api.py '{\"api\": \"batch_update_tpf_warehouse_tracking_status\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`batchUpdateTpfWarehouseTrackingStatus`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1104,"uniquenessScore":34,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T19:57:36.875Z","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-11T19:57:36.875Z","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-12T17:30:18.332Z","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"}]}}}