{"id":"7c204322-35a0-4aba-a6bd-5b9bddc6231f","entityType":"agent","slug":"clawhub-linkfox-ai-linkfox-shopee-store-add-on-deal","name":"Shopee-店铺加购优惠","canonicalUrl":"https://www.xpersona.co/agent/clawhub-linkfox-ai-linkfox-shopee-store-add-on-deal","canonicalPath":"/agent/clawhub-linkfox-ai-linkfox-shopee-store-add-on-deal","generatedAt":"2026-10-14T12:32:50.354Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T20:08:21.828Z","emptyReason":null},"description":"Shopee（虾皮）加购优惠 Add-On Deal（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Add-On Deal 模块全部 14 个接口：add_add_on_deal、get_add_on_deal_list、add_add_on_deal_main_item、add_add_on_deal_sub_item、update_add_on_deal、end_add_on_deal 等。当用户提到 Shopee 加购优惠、Add-On Deal、主商品加购、add_add_on_deal、add_on_deal_id、满额加购 时触发。即使未明确提及\"加购\"，只要涉及已授权 Shopee 店铺的 Add-On Deal 活动管理，也应触发。","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 999 downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-shopee-store-add-on-deal","sourceUrl":"https://clawhub.ai/linkfox-ai/linkfox-shopee-store-add-on-deal","homepage":"https://clawhub.ai/linkfox-ai/skills/linkfox-shopee-store-add-on-deal","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/linkfox-ai/linkfox-shopee-store-add-on-deal","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/linkfox-ai/skills/linkfox-shopee-store-add-on-deal","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-11T20:08:21.828Z","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-11T20:08:21.828Z","emptyReason":null},"stars":null,"forks":null,"downloads":999,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.0.6","tractionLabel":"999 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T20:08:21.672Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T20:08:21.828Z","lastCrawledAt":"2026-10-11T20:08:21.672Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T20:08:21.672Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.6","createdAt":"2026-09-14T05:25:36.100Z","changelog":"Update from 1.0.5 to 1.0.6","fileCount":39,"zipByteSize":47700},{"version":"1.0.5","createdAt":"2026-08-14T15:01:26.997Z","changelog":"Update from 1.0.4 to 1.0.5","fileCount":39,"zipByteSize":47474},{"version":"1.0.4","createdAt":"2026-08-07T10:57:47.307Z","changelog":"Update from 1.0.3 to 1.0.4","fileCount":39,"zipByteSize":47718},{"version":"1.0.3","createdAt":"2026-07-13T12:18:54.034Z","changelog":"Update from 1.0.2 to 1.0.3","fileCount":23,"zipByteSize":22877},{"version":"1.0.2","createdAt":"2026-07-06T11:27:21.878Z","changelog":"Update from 1.0.1 to 1.0.2","fileCount":23,"zipByteSize":22373},{"version":"1.0.1","createdAt":"2026-07-03T08:26:45.194Z","changelog":"Update from 1.0.0 to 1.0.1","fileCount":22,"zipByteSize":20982},{"version":"1.0.0","createdAt":"2026-07-02T12:34:37.733Z","changelog":"Initial release","fileCount":23,"zipByteSize":22296}]},"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-add-on-deal","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-shopee-store-add-on-deal` 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-add-on-deal 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-add-on-deal/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-add-on-deal/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-add-on-deal/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-add-on-deal/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-add-on-deal/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-add-on-deal/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-14T12:32:50.353Z"}},"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-add-on-deal/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-add-on-deal/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-add-on-deal/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-shopee-store-add-on-deal/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-11T20:08:21.828Z","emptyReason":null},"readme":"Skill: Shopee-店铺加购优惠\n\nOwner: linkfox-ai\n\nSummary: Shopee（虾皮）加购优惠 Add-On Deal（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Add-On Deal 模块全部 14 个接口：add_add_on_deal、get_add_on_deal_list、add_add_on_deal_main_item、add_add_on_deal_sub_item、update_add_on_deal、end_add_on_deal 等。当用户提到 Shopee 加购优惠、Add-On Deal、主商品加购、add_add_on_deal、add_on_deal_id、满额加购 时触发。即使未明确提及\"加购\"，只要涉及已授权 Shopee 店铺的 Add-On Deal 活动管理，也应触发。\n\nTags: latest:1.0.6\n\nVersion history:\n\nv1.0.6 | 2026-09-14T05:25:36.100Z | user\n\nUpdate from 1.0.5 to 1.0.6\n\nv1.0.5 | 2026-08-14T15:01:26.997Z | user\n\nUpdate from 1.0.4 to 1.0.5\n\nv1.0.4 | 2026-08-07T10:57:47.307Z | user\n\nUpdate from 1.0.3 to 1.0.4\n\nv1.0.3 | 2026-07-13T12:18:54.034Z | user\n\nUpdate from 1.0.2 to 1.0.3\n\nv1.0.2 | 2026-07-06T11:27:21.878Z | user\n\nUpdate from 1.0.1 to 1.0.2\n\nv1.0.1 | 2026-07-03T08:26:45.194Z | user\n\nUpdate from 1.0.0 to 1.0.1\n\nv1.0.0 | 2026-07-02T12:34:37.733Z | user\n\nInitial release\n\nArchive index:\n\nArchive v1.0.6: 39 files, 47700 bytes\n\nFiles: references/api.md (4929b), references/apis/add-add-on-deal-main-item.md (1459b), references/apis/add-add-on-deal-sub-item.md (1449b), references/apis/add-add-on-deal.md (1413b), references/apis/delete-add-on-deal-main-item.md (1493b), references/apis/delete-add-on-deal-sub-item.md (1483b), references/apis/delete-add-on-deal.md (1385b), references/apis/end-add-on-deal.md (1367b), references/apis/get-add-on-deal-list.md (1458b), references/apis/get-add-on-deal-main-item.md (1459b), references/apis/get-add-on-deal-sub-item.md (1449b), references/apis/get-add-on-deal.md (1403b), references/apis/update-add-on-deal-main-item.md (1501b), references/apis/update-add-on-deal-sub-item.md (1491b), references/apis/update-add-on-deal.md (1403b), references/onboarding.md (1999b), scripts/_add_on_deal_api_runner.py (4324b), scripts/_add_on_deal_endpoints.py (3971b), scripts/_shopee_add_on_deal_common.py (12177b), scripts/add_add_on_deal_main_item.py (754b), scripts/add_add_on_deal_sub_item.py (748b), scripts/add_add_on_deal.py (694b), scripts/add_on_deal_api.py (1086b), scripts/check_auth_dependency.py (3991b), scripts/delete_add_on_deal_main_item.py (772b), scripts/delete_add_on_deal_sub_item.py (766b), scripts/delete_add_on_deal.py (712b), scripts/end_add_on_deal.py (694b), scripts/get_add_on_deal_list.py (724b), scripts/get_add_on_deal_main_item.py (754b), scripts/get_add_on_deal_sub_item.py (748b), scripts/get_add_on_deal.py (694b), scripts/onboarding.py (24027b), scripts/update_add_on_deal_main_item.py (772b), scripts/update_add_on_deal_sub_item.py (766b), scripts/update_add_on_deal.py (712b), skill-card.md (2824b), SKILL.md (6804b), _meta.json (151b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: linkfox-shopee-store-add-on-deal\ndescription: Shopee（虾皮）加购优惠 Add-On Deal（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Add-On Deal 模块全部 14 个接口：add_add_on_deal、get_add_on_deal_list、add_add_on_deal_main_item、add_add_on_deal_sub_item、update_add_on_deal、end_add_on_deal 等。当用户提到 Shopee 加购优惠、Add-On Deal、主商品加购、add_add_on_deal、add_on_deal_id、满额加购 时触发。即使未明确提及\"加购\"，只要涉及已授权 Shopee 店铺的 Add-On Deal 活动管理，也应触发。\n---\n\n# Shopee 加购优惠 Add-On Deal\n\nShopee Open Platform **Add-On Deal 模块**（14 个 API）。**依赖 `linkfox-shopee-store-auth`** 选店；经 **`POST /shopee/developerProxy`** 传入 `shopId`（或 `merchantId`），由服务端解析 token 转发（`path` 须 `api/v2/add_on_deal/...`）。\n\n## 调用方式\n\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/<脚本名>.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗算力；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-add-on-deal-<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\nAdd-On Deal 模块索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\n\n---\n\n## Prerequisites\n\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`**。\n2. 限时折扣 → `linkfox-shopee-store-discount`；套装优惠 → `linkfox-shopee-store-bundle-deal`；Voucher → `linkfox-shopee-store-voucher`。\n\n## 可用脚本（14 个 API）\n\n| 脚本 | API | Method |\n|------|-----|--------|\n| `add_add_on_deal.py` | add_add_on_deal | POST |\n| `add_add_on_deal_main_item.py` | add_add_on_deal_main_item | POST |\n| `add_add_on_deal_sub_item.py` | add_add_on_deal_sub_item | POST |\n| `delete_add_on_deal.py` | delete_add_on_deal | POST |\n| `delete_add_on_deal_main_item.py` | delete_add_on_deal_main_item | POST |\n| `delete_add_on_deal_sub_item.py` | delete_add_on_deal_sub_item | POST |\n| `get_add_on_deal_list.py` | get_add_on_deal_list | GET |\n| `get_add_on_deal.py` | get_add_on_deal | GET |\n| `get_add_on_deal_main_item.py` | get_add_on_deal_main_item | GET |\n| `get_add_on_deal_sub_item.py` | get_add_on_deal_sub_item | GET |\n| `update_add_on_deal.py` | update_add_on_deal | POST |\n| `update_add_on_deal_main_item.py` | update_add_on_deal_main_item | POST |\n| `update_add_on_deal_sub_item.py` | update_add_on_deal_sub_item | POST |\n| `end_add_on_deal.py` | end_add_on_deal | POST |\n| `add_on_deal_api.py` | 通用入口 | — |\n\n## 接口说明（按 API）\n\n入参与响应细节放在 `references/apis/`，SKILL 只保留索引。\n\n| API | 说明文档 |\n|-----|----------|\n| `add_add_on_deal` | [references/apis/add-add-on-deal.md](./references/apis/add-add-on-deal.md) |\n| `add_add_on_deal_main_item` | [references/apis/add-add-on-deal-main-item.md](./references/apis/add-add-on-deal-main-item.md) |\n| `add_add_on_deal_sub_item` | [references/apis/add-add-on-deal-sub-item.md](./references/apis/add-add-on-deal-sub-item.md) |\n| `delete_add_on_deal` | [references/apis/delete-add-on-deal.md](./references/apis/delete-add-on-deal.md) |\n| `delete_add_on_deal_main_item` | [references/apis/delete-add-on-deal-main-item.md](./references/apis/delete-add-on-deal-main-item.md) |\n| `delete_add_on_deal_sub_item` | [references/apis/delete-add-on-deal-sub-item.md](./references/apis/delete-add-on-deal-sub-item.md) |\n| `end_add_on_deal` | [references/apis/end-add-on-deal.md](./references/apis/end-add-on-deal.md) |\n| `get_add_on_deal` | [references/apis/get-add-on-deal.md](./references/apis/get-add-on-deal.md) |\n| `get_add_on_deal_list` | [references/apis/get-add-on-deal-list.md](./references/apis/get-add-on-deal-list.md) |\n| `get_add_on_deal_main_item` | [references/apis/get-add-on-deal-main-item.md](./references/apis/get-add-on-deal-main-item.md) |\n| `get_add_on_deal_sub_item` | [references/apis/get-add-on-deal-sub-item.md](./references/apis/get-add-on-deal-sub-item.md) |\n| `update_add_on_deal` | [references/apis/update-add-on-deal.md](./references/apis/update-add-on-deal.md) |\n| `update_add_on_deal_main_item` | [references/apis/update-add-on-deal-main-item.md](./references/apis/update-add-on-deal-main-item.md) |\n| `update_add_on_deal_sub_item` | [references/apis/update-add-on-deal-sub-item.md](./references/apis/update-add-on-deal-sub-item.md) |\n\n模块总览 / Feedback 见 [references/api.md](./references/api.md)。\n\n## Usage Scenarios\n\n### 1. 创建加购优惠\n1. `add_add_on_deal.py` 传完整 `body`\n2. `add_add_on_deal_main_item.py` / `add_add_on_deal_sub_item.py` 添加主商品与加购商品\n3. `get_add_on_deal_list.py` 确认状态\n\n## Not Applicable\n\n- 店铺授权 → `linkfox-shopee-store-auth`\n- 限时折扣 Discount → `linkfox-shopee-store-discount`\n- 套装优惠 Bundle Deal → `linkfox-shopee-store-bundle-deal`\n- 商品 listing → `linkfox-shopee-store-product`\n\n## 算力消耗规则\n\n不消耗算力。\n\n**Feedback:** 见 `references/api.md`。\n\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-add-on-deal\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1789363536100\n}\n\nFile v1.0.6:references/api.md\n\n# linkfox-shopee-store-add-on-deal — 参数与字段参考\r\n\r\n> 单接口入参/响应说明已拆到 **`apis/`**（按 API 一份）；本文件保留模块总览与 Feedback。\r\nShopee **Add-On Deal 模块**全部 14 个 API，经 **`POST /shopee/developerProxy`** 转发。\r\n\r\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\r\n\r\n## 通用约定\r\n\r\n- **path**：须 `api/v2/add_on_deal/...`\r\n- **标识**：通常传 **`shopId`**\r\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.add_on_deal.{api}?module=111&type=1`\r\n\r\n---\r\n\r\n## Add-On Deal 模块总览\r\n\r\n| # | API | Method | path | 脚本 | 官方文档 |\r\n|---|-----|--------|------|------|----------|\r\n| 1 | add_add_on_deal | POST | `api/v2/add_on_deal/add_add_on_deal` | `add_add_on_deal.py` | [apis/add-add-on-deal.md](./apis/add-add-on-deal.md) |\r\n| 2 | add_add_on_deal_main_item | POST | `api/v2/add_on_deal/add_add_on_deal_main_item` | `add_add_on_deal_main_item.py` | [apis/add-add-on-deal-main-item.md](./apis/add-add-on-deal-main-item.md) |\r\n| 3 | add_add_on_deal_sub_item | POST | `api/v2/add_on_deal/add_add_on_deal_sub_item` | `add_add_on_deal_sub_item.py` | [apis/add-add-on-deal-sub-item.md](./apis/add-add-on-deal-sub-item.md) |\r\n| 4 | delete_add_on_deal | POST | `api/v2/add_on_deal/delete_add_on_deal` | `delete_add_on_deal.py` | [apis/delete-add-on-deal.md](./apis/delete-add-on-deal.md) |\r\n| 5 | delete_add_on_deal_main_item | POST | `api/v2/add_on_deal/delete_add_on_deal_main_item` | `delete_add_on_deal_main_item.py` | [apis/delete-add-on-deal-main-item.md](./apis/delete-add-on-deal-main-item.md) |\r\n| 6 | delete_add_on_deal_sub_item | POST | `api/v2/add_on_deal/delete_add_on_deal_sub_item` | `delete_add_on_deal_sub_item.py` | [apis/delete-add-on-deal-sub-item.md](./apis/delete-add-on-deal-sub-item.md) |\r\n| 7 | end_add_on_deal | POST | `api/v2/add_on_deal/end_add_on_deal` | `end_add_on_deal.py` | [apis/end-add-on-deal.md](./apis/end-add-on-deal.md) |\r\n| 8 | get_add_on_deal | GET | `api/v2/add_on_deal/get_add_on_deal` | `get_add_on_deal.py` | [apis/get-add-on-deal.md](./apis/get-add-on-deal.md) |\r\n| 9 | get_add_on_deal_list | GET | `api/v2/add_on_deal/get_add_on_deal_list` | `get_add_on_deal_list.py` | [apis/get-add-on-deal-list.md](./apis/get-add-on-deal-list.md) |\r\n| 10 | get_add_on_deal_main_item | GET | `api/v2/add_on_deal/get_add_on_deal_main_item` | `get_add_on_deal_main_item.py` | [apis/get-add-on-deal-main-item.md](./apis/get-add-on-deal-main-item.md) |\r\n| 11 | get_add_on_deal_sub_item | GET | `api/v2/add_on_deal/get_add_on_deal_sub_item` | `get_add_on_deal_sub_item.py` | [apis/get-add-on-deal-sub-item.md](./apis/get-add-on-deal-sub-item.md) |\r\n| 12 | update_add_on_deal | POST | `api/v2/add_on_deal/update_add_on_deal` | `update_add_on_deal.py` | [apis/update-add-on-deal.md](./apis/update-add-on-deal.md) |\r\n| 13 | update_add_on_deal_main_item | POST | `api/v2/add_on_deal/update_add_on_deal_main_item` | `update_add_on_deal_main_item.py` | [apis/update-add-on-deal-main-item.md](./apis/update-add-on-deal-main-item.md) |\r\n| 14 | update_add_on_deal_sub_item | POST | `api/v2/add_on_deal/update_add_on_deal_sub_item` | `update_add_on_deal_sub_item.py` | [apis/update-add-on-deal-sub-item.md](./apis/update-add-on-deal-sub-item.md) |\r\n通用入口：`add_on_deal_api.py`（JSON 含 `\"api\": \"<上表 API 名>\"`）。\r\n\r\n---\r\n\r\n## 常用接口说明\r\n\r\n| API | 要点 |\r\n|-----|------|\r\n| `add_add_on_deal` | 创建加购优惠；POST `body` — [apis/add-add-on-deal.md](./apis/add-add-on-deal.md) |\r\n| `add_add_on_deal_main_item` / `add_add_on_deal_sub_item` | 添加主商品 / 加购商品 |\r\n| `get_add_on_deal_list` | 活动列表 — [apis/get-add-on-deal-list.md](./apis/get-add-on-deal-list.md) |\r\n| `get_add_on_deal` | 活动详情 — [apis/get-add-on-deal.md](./apis/get-add-on-deal.md) |\r\n| `get_add_on_deal_main_item` / `get_add_on_deal_sub_item` | 主商品 / 加购商品列表 |\r\n| `update_add_on_deal` / `update_*_item` | 更新活动或商品 |\r\n| `end_add_on_deal` | 提前结束 — [apis/end-add-on-deal.md](./apis/end-add-on-deal.md) |\r\n| `delete_add_on_deal` / `delete_*_item` | 删除活动或商品 |\r\n\r\n---\r\n\r\n## curl 示例\r\n\r\n```bash\r\ncurl -X POST https://tool-gateway.linkfox.com/shopee/developerProxy \\\r\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\r\n    \"path\": \"api/v2/add_on_deal/get_add_on_deal_list\",\r\n    \"method\": \"GET\",\r\n    \"accessToken\": \"xxx\",\r\n    \"shopId\": \"67890\"\r\n  }'\r\n```\r\n\r\n---\r\n\r\n## Feedback API\r\n\r\n```bash\r\ncurl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"skillName\":\"linkfox-shopee-store-add-on-deal\",\"sentiment\":\"POSITIVE\",\r\n       \"category\":\"OTHER\",\"content\":\"加购优惠查询正常\"}'\r\n```\n\nFile v1.0.6:references/apis/add-add-on-deal-main-item.md\n\n# add_add_on_deal_main_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal_main_item.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal_main_item` |\n| 官方文档 | [add_add_on_deal_main_item](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_main_item?module=111&type=1) |\n| 用途 | Add main item to add-on deal |\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：Add main item to add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/add_add_on_deal_main_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"add_add_on_deal_main_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDealMainItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/add-add-on-deal-sub-item.md\n\n# add_add_on_deal_sub_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal_sub_item.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal_sub_item` |\n| 官方文档 | [add_add_on_deal_sub_item](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_sub_item?module=111&type=1) |\n| 用途 | Add sub item to add-on deal |\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：Add sub item to add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/add_add_on_deal_sub_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"add_add_on_deal_sub_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDealSubItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/add-add-on-deal.md\n\n# add_add_on_deal\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal` |\n| 官方文档 | [add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1) |\n| 用途 | Create add-on deal promotion; pass full body |\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 add-on deal promotion; pass full body\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/add_add_on_deal.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"add_add_on_deal\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDeal`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/delete-add-on-deal-main-item.md\n\n# delete_add_on_deal_main_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_add_on_deal_main_item.py` |\n| Method / path | POST `api/v2/add_on_deal/delete_add_on_deal_main_item` |\n| 官方文档 | [delete_add_on_deal_main_item](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_main_item?module=111&type=1) |\n| 用途 | Remove main item from add-on deal |\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：Remove main item from add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_add_on_deal_main_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"delete_add_on_deal_main_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddOnDealMainItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/delete-add-on-deal-sub-item.md\n\n# delete_add_on_deal_sub_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_add_on_deal_sub_item.py` |\n| Method / path | POST `api/v2/add_on_deal/delete_add_on_deal_sub_item` |\n| 官方文档 | [delete_add_on_deal_sub_item](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_sub_item?module=111&type=1) |\n| 用途 | Remove sub item from add-on deal |\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：Remove sub item from add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_add_on_deal_sub_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"delete_add_on_deal_sub_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddOnDealSubItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/delete-add-on-deal.md\n\n# delete_add_on_deal\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_add_on_deal.py` |\n| Method / path | POST `api/v2/add_on_deal/delete_add_on_deal` |\n| 官方文档 | [delete_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal?module=111&type=1) |\n| 用途 | Delete add-on deal |\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 add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_add_on_deal.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"delete_add_on_deal\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddOnDeal`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/end-add-on-deal.md\n\n# end_add_on_deal\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/end_add_on_deal.py` |\n| Method / path | POST `api/v2/add_on_deal/end_add_on_deal` |\n| 官方文档 | [end_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.end_add_on_deal?module=111&type=1) |\n| 用途 | End add-on deal early |\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：End add-on deal early\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/end_add_on_deal.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"end_add_on_deal\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`endAddOnDeal`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/get-add-on-deal-list.md\n\n# get_add_on_deal_list\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/get_add_on_deal_list.py` |\n| Method / path | GET `api/v2/add_on_deal/get_add_on_deal_list` |\n| 官方文档 | [get_add_on_deal_list](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_list?module=111&type=1) |\n| 用途 | List add-on deals; pagination/status filters |\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：List add-on deals; pagination/status filters\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/get_add_on_deal_list.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"get_add_on_deal_list\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`getAddOnDealList`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/get-add-on-deal-main-item.md\n\n# get_add_on_deal_main_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/get_add_on_deal_main_item.py` |\n| Method / path | GET `api/v2/add_on_deal/get_add_on_deal_main_item` |\n| 官方文档 | [get_add_on_deal_main_item](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_main_item?module=111&type=1) |\n| 用途 | Main items in add-on deal |\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：Main items in add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/get_add_on_deal_main_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"get_add_on_deal_main_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`getAddOnDealMainItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nArchive v1.0.5: 39 files, 47474 bytes\n\nFiles: references/api.md (4929b), references/apis/add-add-on-deal-main-item.md (1459b), references/apis/add-add-on-deal-sub-item.md (1449b), references/apis/add-add-on-deal.md (1413b), references/apis/delete-add-on-deal-main-item.md (1493b), references/apis/delete-add-on-deal-sub-item.md (1483b), references/apis/delete-add-on-deal.md (1385b), references/apis/end-add-on-deal.md (1367b), references/apis/get-add-on-deal-list.md (1458b), references/apis/get-add-on-deal-main-item.md (1459b), references/apis/get-add-on-deal-sub-item.md (1449b), references/apis/get-add-on-deal.md (1403b), references/apis/update-add-on-deal-main-item.md (1501b), references/apis/update-add-on-deal-sub-item.md (1491b), references/apis/update-add-on-deal.md (1403b), references/onboarding.md (2046b), scripts/_add_on_deal_api_runner.py (4324b), scripts/_add_on_deal_endpoints.py (3971b), scripts/_shopee_add_on_deal_common.py (11943b), scripts/add_add_on_deal_main_item.py (754b), scripts/add_add_on_deal_sub_item.py (748b), scripts/add_add_on_deal.py (694b), scripts/add_on_deal_api.py (1086b), scripts/check_auth_dependency.py (3991b), scripts/delete_add_on_deal_main_item.py (772b), scripts/delete_add_on_deal_sub_item.py (766b), scripts/delete_add_on_deal.py (712b), scripts/end_add_on_deal.py (694b), scripts/get_add_on_deal_list.py (724b), scripts/get_add_on_deal_main_item.py (754b), scripts/get_add_on_deal_sub_item.py (748b), scripts/get_add_on_deal.py (694b), scripts/onboarding.py (24089b), scripts/update_add_on_deal_main_item.py (772b), scripts/update_add_on_deal_sub_item.py (766b), scripts/update_add_on_deal.py (712b), skill-card.md (2313b), SKILL.md (6804b), _meta.json (151b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: linkfox-shopee-store-add-on-deal\ndescription: Shopee（虾皮）加购优惠 Add-On Deal（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Add-On Deal 模块全部 14 个接口：add_add_on_deal、get_add_on_deal_list、add_add_on_deal_main_item、add_add_on_deal_sub_item、update_add_on_deal、end_add_on_deal 等。当用户提到 Shopee 加购优惠、Add-On Deal、主商品加购、add_add_on_deal、add_on_deal_id、满额加购 时触发。即使未明确提及\"加购\"，只要涉及已授权 Shopee 店铺的 Add-On Deal 活动管理，也应触发。\n---\n\n# Shopee 加购优惠 Add-On Deal\n\nShopee Open Platform **Add-On Deal 模块**（14 个 API）。**依赖 `linkfox-shopee-store-auth`** 选店；经 **`POST /shopee/developerProxy`** 传入 `shopId`（或 `merchantId`），由服务端解析 token 转发（`path` 须 `api/v2/add_on_deal/...`）。\n\n## 调用方式\n\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/<脚本名>.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-add-on-deal-<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\nAdd-On Deal 模块索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\n\n---\n\n## Prerequisites\n\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`**。\n2. 限时折扣 → `linkfox-shopee-store-discount`；套装优惠 → `linkfox-shopee-store-bundle-deal`；Voucher → `linkfox-shopee-store-voucher`。\n\n## 可用脚本（14 个 API）\n\n| 脚本 | API | Method |\n|------|-----|--------|\n| `add_add_on_deal.py` | add_add_on_deal | POST |\n| `add_add_on_deal_main_item.py` | add_add_on_deal_main_item | POST |\n| `add_add_on_deal_sub_item.py` | add_add_on_deal_sub_item | POST |\n| `delete_add_on_deal.py` | delete_add_on_deal | POST |\n| `delete_add_on_deal_main_item.py` | delete_add_on_deal_main_item | POST |\n| `delete_add_on_deal_sub_item.py` | delete_add_on_deal_sub_item | POST |\n| `get_add_on_deal_list.py` | get_add_on_deal_list | GET |\n| `get_add_on_deal.py` | get_add_on_deal | GET |\n| `get_add_on_deal_main_item.py` | get_add_on_deal_main_item | GET |\n| `get_add_on_deal_sub_item.py` | get_add_on_deal_sub_item | GET |\n| `update_add_on_deal.py` | update_add_on_deal | POST |\n| `update_add_on_deal_main_item.py` | update_add_on_deal_main_item | POST |\n| `update_add_on_deal_sub_item.py` | update_add_on_deal_sub_item | POST |\n| `end_add_on_deal.py` | end_add_on_deal | POST |\n| `add_on_deal_api.py` | 通用入口 | — |\n\n## 接口说明（按 API）\n\n入参与响应细节放在 `references/apis/`，SKILL 只保留索引。\n\n| API | 说明文档 |\n|-----|----------|\n| `add_add_on_deal` | [references/apis/add-add-on-deal.md](./references/apis/add-add-on-deal.md) |\n| `add_add_on_deal_main_item` | [references/apis/add-add-on-deal-main-item.md](./references/apis/add-add-on-deal-main-item.md) |\n| `add_add_on_deal_sub_item` | [references/apis/add-add-on-deal-sub-item.md](./references/apis/add-add-on-deal-sub-item.md) |\n| `delete_add_on_deal` | [references/apis/delete-add-on-deal.md](./references/apis/delete-add-on-deal.md) |\n| `delete_add_on_deal_main_item` | [references/apis/delete-add-on-deal-main-item.md](./references/apis/delete-add-on-deal-main-item.md) |\n| `delete_add_on_deal_sub_item` | [references/apis/delete-add-on-deal-sub-item.md](./references/apis/delete-add-on-deal-sub-item.md) |\n| `end_add_on_deal` | [references/apis/end-add-on-deal.md](./references/apis/end-add-on-deal.md) |\n| `get_add_on_deal` | [references/apis/get-add-on-deal.md](./references/apis/get-add-on-deal.md) |\n| `get_add_on_deal_list` | [references/apis/get-add-on-deal-list.md](./references/apis/get-add-on-deal-list.md) |\n| `get_add_on_deal_main_item` | [references/apis/get-add-on-deal-main-item.md](./references/apis/get-add-on-deal-main-item.md) |\n| `get_add_on_deal_sub_item` | [references/apis/get-add-on-deal-sub-item.md](./references/apis/get-add-on-deal-sub-item.md) |\n| `update_add_on_deal` | [references/apis/update-add-on-deal.md](./references/apis/update-add-on-deal.md) |\n| `update_add_on_deal_main_item` | [references/apis/update-add-on-deal-main-item.md](./references/apis/update-add-on-deal-main-item.md) |\n| `update_add_on_deal_sub_item` | [references/apis/update-add-on-deal-sub-item.md](./references/apis/update-add-on-deal-sub-item.md) |\n\n模块总览 / Feedback 见 [references/api.md](./references/api.md)。\n\n## Usage Scenarios\n\n### 1. 创建加购优惠\n1. `add_add_on_deal.py` 传完整 `body`\n2. `add_add_on_deal_main_item.py` / `add_add_on_deal_sub_item.py` 添加主商品与加购商品\n3. `get_add_on_deal_list.py` 确认状态\n\n## Not Applicable\n\n- 店铺授权 → `linkfox-shopee-store-auth`\n- 限时折扣 Discount → `linkfox-shopee-store-discount`\n- 套装优惠 Bundle Deal → `linkfox-shopee-store-bundle-deal`\n- 商品 listing → `linkfox-shopee-store-product`\n\n## 积分消耗规则\n\n不消耗积分。\n\n**Feedback:** 见 `references/api.md`。\n\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-add-on-deal\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1786719686997\n}\n\nFile v1.0.5:references/api.md\n\n# linkfox-shopee-store-add-on-deal — 参数与字段参考\r\n\r\n> 单接口入参/响应说明已拆到 **`apis/`**（按 API 一份）；本文件保留模块总览与 Feedback。\r\nShopee **Add-On Deal 模块**全部 14 个 API，经 **`POST /shopee/developerProxy`** 转发。\r\n\r\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\r\n\r\n## 通用约定\r\n\r\n- **path**：须 `api/v2/add_on_deal/...`\r\n- **标识**：通常传 **`shopId`**\r\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.add_on_deal.{api}?module=111&type=1`\r\n\r\n---\r\n\r\n## Add-On Deal 模块总览\r\n\r\n| # | API | Method | path | 脚本 | 官方文档 |\r\n|---|-----|--------|------|------|----------|\r\n| 1 | add_add_on_deal | POST | `api/v2/add_on_deal/add_add_on_deal` | `add_add_on_deal.py` | [apis/add-add-on-deal.md](./apis/add-add-on-deal.md) |\r\n| 2 | add_add_on_deal_main_item | POST | `api/v2/add_on_deal/add_add_on_deal_main_item` | `add_add_on_deal_main_item.py` | [apis/add-add-on-deal-main-item.md](./apis/add-add-on-deal-main-item.md) |\r\n| 3 | add_add_on_deal_sub_item | POST | `api/v2/add_on_deal/add_add_on_deal_sub_item` | `add_add_on_deal_sub_item.py` | [apis/add-add-on-deal-sub-item.md](./apis/add-add-on-deal-sub-item.md) |\r\n| 4 | delete_add_on_deal | POST | `api/v2/add_on_deal/delete_add_on_deal` | `delete_add_on_deal.py` | [apis/delete-add-on-deal.md](./apis/delete-add-on-deal.md) |\r\n| 5 | delete_add_on_deal_main_item | POST | `api/v2/add_on_deal/delete_add_on_deal_main_item` | `delete_add_on_deal_main_item.py` | [apis/delete-add-on-deal-main-item.md](./apis/delete-add-on-deal-main-item.md) |\r\n| 6 | delete_add_on_deal_sub_item | POST | `api/v2/add_on_deal/delete_add_on_deal_sub_item` | `delete_add_on_deal_sub_item.py` | [apis/delete-add-on-deal-sub-item.md](./apis/delete-add-on-deal-sub-item.md) |\r\n| 7 | end_add_on_deal | POST | `api/v2/add_on_deal/end_add_on_deal` | `end_add_on_deal.py` | [apis/end-add-on-deal.md](./apis/end-add-on-deal.md) |\r\n| 8 | get_add_on_deal | GET | `api/v2/add_on_deal/get_add_on_deal` | `get_add_on_deal.py` | [apis/get-add-on-deal.md](./apis/get-add-on-deal.md) |\r\n| 9 | get_add_on_deal_list | GET | `api/v2/add_on_deal/get_add_on_deal_list` | `get_add_on_deal_list.py` | [apis/get-add-on-deal-list.md](./apis/get-add-on-deal-list.md) |\r\n| 10 | get_add_on_deal_main_item | GET | `api/v2/add_on_deal/get_add_on_deal_main_item` | `get_add_on_deal_main_item.py` | [apis/get-add-on-deal-main-item.md](./apis/get-add-on-deal-main-item.md) |\r\n| 11 | get_add_on_deal_sub_item | GET | `api/v2/add_on_deal/get_add_on_deal_sub_item` | `get_add_on_deal_sub_item.py` | [apis/get-add-on-deal-sub-item.md](./apis/get-add-on-deal-sub-item.md) |\r\n| 12 | update_add_on_deal | POST | `api/v2/add_on_deal/update_add_on_deal` | `update_add_on_deal.py` | [apis/update-add-on-deal.md](./apis/update-add-on-deal.md) |\r\n| 13 | update_add_on_deal_main_item | POST | `api/v2/add_on_deal/update_add_on_deal_main_item` | `update_add_on_deal_main_item.py` | [apis/update-add-on-deal-main-item.md](./apis/update-add-on-deal-main-item.md) |\r\n| 14 | update_add_on_deal_sub_item | POST | `api/v2/add_on_deal/update_add_on_deal_sub_item` | `update_add_on_deal_sub_item.py` | [apis/update-add-on-deal-sub-item.md](./apis/update-add-on-deal-sub-item.md) |\r\n通用入口：`add_on_deal_api.py`（JSON 含 `\"api\": \"<上表 API 名>\"`）。\r\n\r\n---\r\n\r\n## 常用接口说明\r\n\r\n| API | 要点 |\r\n|-----|------|\r\n| `add_add_on_deal` | 创建加购优惠；POST `body` — [apis/add-add-on-deal.md](./apis/add-add-on-deal.md) |\r\n| `add_add_on_deal_main_item` / `add_add_on_deal_sub_item` | 添加主商品 / 加购商品 |\r\n| `get_add_on_deal_list` | 活动列表 — [apis/get-add-on-deal-list.md](./apis/get-add-on-deal-list.md) |\r\n| `get_add_on_deal` | 活动详情 — [apis/get-add-on-deal.md](./apis/get-add-on-deal.md) |\r\n| `get_add_on_deal_main_item` / `get_add_on_deal_sub_item` | 主商品 / 加购商品列表 |\r\n| `update_add_on_deal` / `update_*_item` | 更新活动或商品 |\r\n| `end_add_on_deal` | 提前结束 — [apis/end-add-on-deal.md](./apis/end-add-on-deal.md) |\r\n| `delete_add_on_deal` / `delete_*_item` | 删除活动或商品 |\r\n\r\n---\r\n\r\n## curl 示例\r\n\r\n```bash\r\ncurl -X POST https://tool-gateway.linkfox.com/shopee/developerProxy \\\r\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\r\n    \"path\": \"api/v2/add_on_deal/get_add_on_deal_list\",\r\n    \"method\": \"GET\",\r\n    \"accessToken\": \"xxx\",\r\n    \"shopId\": \"67890\"\r\n  }'\r\n```\r\n\r\n---\r\n\r\n## Feedback API\r\n\r\n```bash\r\ncurl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"skillName\":\"linkfox-shopee-store-add-on-deal\",\"sentiment\":\"POSITIVE\",\r\n       \"category\":\"OTHER\",\"content\":\"加购优惠查询正常\"}'\r\n```\n\nFile v1.0.5:references/apis/add-add-on-deal-main-item.md\n\n# add_add_on_deal_main_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal_main_item.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal_main_item` |\n| 官方文档 | [add_add_on_deal_main_item](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_main_item?module=111&type=1) |\n| 用途 | Add main item to add-on deal |\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：Add main item to add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/add_add_on_deal_main_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"add_add_on_deal_main_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDealMainItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/add-add-on-deal-sub-item.md\n\n# add_add_on_deal_sub_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal_sub_item.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal_sub_item` |\n| 官方文档 | [add_add_on_deal_sub_item](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_sub_item?module=111&type=1) |\n| 用途 | Add sub item to add-on deal |\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：Add sub item to add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/add_add_on_deal_sub_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"add_add_on_deal_sub_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDealSubItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/add-add-on-deal.md\n\n# add_add_on_deal\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal` |\n| 官方文档 | [add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1) |\n| 用途 | Create add-on deal promotion; pass full body |\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 add-on deal promotion; pass full body\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/add_add_on_deal.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"add_add_on_deal\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDeal`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/delete-add-on-deal-main-item.md\n\n# delete_add_on_deal_main_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_add_on_deal_main_item.py` |\n| Method / path | POST `api/v2/add_on_deal/delete_add_on_deal_main_item` |\n| 官方文档 | [delete_add_on_deal_main_item](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_main_item?module=111&type=1) |\n| 用途 | Remove main item from add-on deal |\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：Remove main item from add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_add_on_deal_main_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"delete_add_on_deal_main_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddOnDealMainItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/delete-add-on-deal-sub-item.md\n\n# delete_add_on_deal_sub_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_add_on_deal_sub_item.py` |\n| Method / path | POST `api/v2/add_on_deal/delete_add_on_deal_sub_item` |\n| 官方文档 | [delete_add_on_deal_sub_item](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_sub_item?module=111&type=1) |\n| 用途 | Remove sub item from add-on deal |\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：Remove sub item from add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_add_on_deal_sub_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"delete_add_on_deal_sub_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddOnDealSubItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/delete-add-on-deal.md\n\n# delete_add_on_deal\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_add_on_deal.py` |\n| Method / path | POST `api/v2/add_on_deal/delete_add_on_deal` |\n| 官方文档 | [delete_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal?module=111&type=1) |\n| 用途 | Delete add-on deal |\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 add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_add_on_deal.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"delete_add_on_deal\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddOnDeal`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/end-add-on-deal.md\n\n# end_add_on_deal\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/end_add_on_deal.py` |\n| Method / path | POST `api/v2/add_on_deal/end_add_on_deal` |\n| 官方文档 | [end_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.end_add_on_deal?module=111&type=1) |\n| 用途 | End add-on deal early |\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：End add-on deal early\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/end_add_on_deal.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"end_add_on_deal\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`endAddOnDeal`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/get-add-on-deal-list.md\n\n# get_add_on_deal_list\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/get_add_on_deal_list.py` |\n| Method / path | GET `api/v2/add_on_deal/get_add_on_deal_list` |\n| 官方文档 | [get_add_on_deal_list](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_list?module=111&type=1) |\n| 用途 | List add-on deals; pagination/status filters |\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：List add-on deals; pagination/status filters\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/get_add_on_deal_list.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"get_add_on_deal_list\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`getAddOnDealList`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.5:references/apis/get-add-on-deal-main-item.md\n\n# get_add_on_deal_main_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/get_add_on_deal_main_item.py` |\n| Method / path | GET `api/v2/add_on_deal/get_add_on_deal_main_item` |\n| 官方文档 | [get_add_on_deal_main_item](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_main_item?module=111&type=1) |\n| 用途 | Main items in add-on deal |\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：Main items in add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/get_add_on_deal_main_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"get_add_on_deal_main_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`getAddOnDealMainItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nArchive v1.0.4: 39 files, 47718 bytes\n\nFiles: references/api.md (4929b), references/apis/add-add-on-deal-main-item.md (1459b), references/apis/add-add-on-deal-sub-item.md (1449b), references/apis/add-add-on-deal.md (1413b), references/apis/delete-add-on-deal-main-item.md (1493b), references/apis/delete-add-on-deal-sub-item.md (1483b), references/apis/delete-add-on-deal.md (1385b), references/apis/end-add-on-deal.md (1367b), references/apis/get-add-on-deal-list.md (1458b), references/apis/get-add-on-deal-main-item.md (1459b), references/apis/get-add-on-deal-sub-item.md (1449b), references/apis/get-add-on-deal.md (1403b), references/apis/update-add-on-deal-main-item.md (1501b), references/apis/update-add-on-deal-sub-item.md (1491b), references/apis/update-add-on-deal.md (1403b), references/onboarding.md (2046b), scripts/_add_on_deal_api_runner.py (4324b), scripts/_add_on_deal_endpoints.py (3971b), scripts/_shopee_add_on_deal_common.py (11943b), scripts/add_add_on_deal_main_item.py (754b), scripts/add_add_on_deal_sub_item.py (748b), scripts/add_add_on_deal.py (694b), scripts/add_on_deal_api.py (1086b), scripts/check_auth_dependency.py (3991b), scripts/delete_add_on_deal_main_item.py (772b), scripts/delete_add_on_deal_sub_item.py (766b), scripts/delete_add_on_deal.py (712b), scripts/end_add_on_deal.py (694b), scripts/get_add_on_deal_list.py (724b), scripts/get_add_on_deal_main_item.py (754b), scripts/get_add_on_deal_sub_item.py (748b), scripts/get_add_on_deal.py (694b), scripts/onboarding.py (24089b), scripts/update_add_on_deal_main_item.py (772b), scripts/update_add_on_deal_sub_item.py (766b), scripts/update_add_on_deal.py (712b), skill-card.md (2813b), SKILL.md (6804b), _meta.json (151b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: linkfox-shopee-store-add-on-deal\ndescription: Shopee（虾皮）加购优惠 Add-On Deal（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Add-On Deal 模块全部 14 个接口：add_add_on_deal、get_add_on_deal_list、add_add_on_deal_main_item、add_add_on_deal_sub_item、update_add_on_deal、end_add_on_deal 等。当用户提到 Shopee 加购优惠、Add-On Deal、主商品加购、add_add_on_deal、add_on_deal_id、满额加购 时触发。即使未明确提及\"加购\"，只要涉及已授权 Shopee 店铺的 Add-On Deal 活动管理，也应触发。\n---\n\n# Shopee 加购优惠 Add-On Deal\n\nShopee Open Platform **Add-On Deal 模块**（14 个 API）。**依赖 `linkfox-shopee-store-auth`** 选店；经 **`POST /shopee/developerProxy`** 传入 `shopId`（或 `merchantId`），由服务端解析 token 转发（`path` 须 `api/v2/add_on_deal/...`）。\n\n## 调用方式\n\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/<脚本名>.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-add-on-deal-<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\nAdd-On Deal 模块索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\n\n---\n\n## Prerequisites\n\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`**。\n2. 限时折扣 → `linkfox-shopee-store-discount`；套装优惠 → `linkfox-shopee-store-bundle-deal`；Voucher → `linkfox-shopee-store-voucher`。\n\n## 可用脚本（14 个 API）\n\n| 脚本 | API | Method |\n|------|-----|--------|\n| `add_add_on_deal.py` | add_add_on_deal | POST |\n| `add_add_on_deal_main_item.py` | add_add_on_deal_main_item | POST |\n| `add_add_on_deal_sub_item.py` | add_add_on_deal_sub_item | POST |\n| `delete_add_on_deal.py` | delete_add_on_deal | POST |\n| `delete_add_on_deal_main_item.py` | delete_add_on_deal_main_item | POST |\n| `delete_add_on_deal_sub_item.py` | delete_add_on_deal_sub_item | POST |\n| `get_add_on_deal_list.py` | get_add_on_deal_list | GET |\n| `get_add_on_deal.py` | get_add_on_deal | GET |\n| `get_add_on_deal_main_item.py` | get_add_on_deal_main_item | GET |\n| `get_add_on_deal_sub_item.py` | get_add_on_deal_sub_item | GET |\n| `update_add_on_deal.py` | update_add_on_deal | POST |\n| `update_add_on_deal_main_item.py` | update_add_on_deal_main_item | POST |\n| `update_add_on_deal_sub_item.py` | update_add_on_deal_sub_item | POST |\n| `end_add_on_deal.py` | end_add_on_deal | POST |\n| `add_on_deal_api.py` | 通用入口 | — |\n\n## 接口说明（按 API）\n\n入参与响应细节放在 `references/apis/`，SKILL 只保留索引。\n\n| API | 说明文档 |\n|-----|----------|\n| `add_add_on_deal` | [references/apis/add-add-on-deal.md](./references/apis/add-add-on-deal.md) |\n| `add_add_on_deal_main_item` | [references/apis/add-add-on-deal-main-item.md](./references/apis/add-add-on-deal-main-item.md) |\n| `add_add_on_deal_sub_item` | [references/apis/add-add-on-deal-sub-item.md](./references/apis/add-add-on-deal-sub-item.md) |\n| `delete_add_on_deal` | [references/apis/delete-add-on-deal.md](./references/apis/delete-add-on-deal.md) |\n| `delete_add_on_deal_main_item` | [references/apis/delete-add-on-deal-main-item.md](./references/apis/delete-add-on-deal-main-item.md) |\n| `delete_add_on_deal_sub_item` | [references/apis/delete-add-on-deal-sub-item.md](./references/apis/delete-add-on-deal-sub-item.md) |\n| `end_add_on_deal` | [references/apis/end-add-on-deal.md](./references/apis/end-add-on-deal.md) |\n| `get_add_on_deal` | [references/apis/get-add-on-deal.md](./references/apis/get-add-on-deal.md) |\n| `get_add_on_deal_list` | [references/apis/get-add-on-deal-list.md](./references/apis/get-add-on-deal-list.md) |\n| `get_add_on_deal_main_item` | [references/apis/get-add-on-deal-main-item.md](./references/apis/get-add-on-deal-main-item.md) |\n| `get_add_on_deal_sub_item` | [references/apis/get-add-on-deal-sub-item.md](./references/apis/get-add-on-deal-sub-item.md) |\n| `update_add_on_deal` | [references/apis/update-add-on-deal.md](./references/apis/update-add-on-deal.md) |\n| `update_add_on_deal_main_item` | [references/apis/update-add-on-deal-main-item.md](./references/apis/update-add-on-deal-main-item.md) |\n| `update_add_on_deal_sub_item` | [references/apis/update-add-on-deal-sub-item.md](./references/apis/update-add-on-deal-sub-item.md) |\n\n模块总览 / Feedback 见 [references/api.md](./references/api.md)。\n\n## Usage Scenarios\n\n### 1. 创建加购优惠\n1. `add_add_on_deal.py` 传完整 `body`\n2. `add_add_on_deal_main_item.py` / `add_add_on_deal_sub_item.py` 添加主商品与加购商品\n3. `get_add_on_deal_list.py` 确认状态\n\n## Not Applicable\n\n- 店铺授权 → `linkfox-shopee-store-auth`\n- 限时折扣 Discount → `linkfox-shopee-store-discount`\n- 套装优惠 Bundle Deal → `linkfox-shopee-store-bundle-deal`\n- 商品 listing → `linkfox-shopee-store-product`\n\n## 积分消耗规则\n\n不消耗积分。\n\n**Feedback:** 见 `references/api.md`。\n\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-add-on-deal\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1786100267307\n}\n\nFile v1.0.4:references/api.md\n\n# linkfox-shopee-store-add-on-deal — 参数与字段参考\r\n\r\n> 单接口入参/响应说明已拆到 **`apis/`**（按 API 一份）；本文件保留模块总览与 Feedback。\r\nShopee **Add-On Deal 模块**全部 14 个 API，经 **`POST /shopee/developerProxy`** 转发。\r\n\r\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\r\n\r\n## 通用约定\r\n\r\n- **path**：须 `api/v2/add_on_deal/...`\r\n- **标识**：通常传 **`shopId`**\r\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.add_on_deal.{api}?module=111&type=1`\r\n\r\n---\r\n\r\n## Add-On Deal 模块总览\r\n\r\n| # | API | Method | path | 脚本 | 官方文档 |\r\n|---|-----|--------|------|------|----------|\r\n| 1 | add_add_on_deal | POST | `api/v2/add_on_deal/add_add_on_deal` | `add_add_on_deal.py` | [apis/add-add-on-deal.md](./apis/add-add-on-deal.md) |\r\n| 2 | add_add_on_deal_main_item | POST | `api/v2/add_on_deal/add_add_on_deal_main_item` | `add_add_on_deal_main_item.py` | [apis/add-add-on-deal-main-item.md](./apis/add-add-on-deal-main-item.md) |\r\n| 3 | add_add_on_deal_sub_item | POST | `api/v2/add_on_deal/add_add_on_deal_sub_item` | `add_add_on_deal_sub_item.py` | [apis/add-add-on-deal-sub-item.md](./apis/add-add-on-deal-sub-item.md) |\r\n| 4 | delete_add_on_deal | POST | `api/v2/add_on_deal/delete_add_on_deal` | `delete_add_on_deal.py` | [apis/delete-add-on-deal.md](./apis/delete-add-on-deal.md) |\r\n| 5 | delete_add_on_deal_main_item | POST | `api/v2/add_on_deal/delete_add_on_deal_main_item` | `delete_add_on_deal_main_item.py` | [apis/delete-add-on-deal-main-item.md](./apis/delete-add-on-deal-main-item.md) |\r\n| 6 | delete_add_on_deal_sub_item | POST | `api/v2/add_on_deal/delete_add_on_deal_sub_item` | `delete_add_on_deal_sub_item.py` | [apis/delete-add-on-deal-sub-item.md](./apis/delete-add-on-deal-sub-item.md) |\r\n| 7 | end_add_on_deal | POST | `api/v2/add_on_deal/end_add_on_deal` | `end_add_on_deal.py` | [apis/end-add-on-deal.md](./apis/end-add-on-deal.md) |\r\n| 8 | get_add_on_deal | GET | `api/v2/add_on_deal/get_add_on_deal` | `get_add_on_deal.py` | [apis/get-add-on-deal.md](./apis/get-add-on-deal.md) |\r\n| 9 | get_add_on_deal_list | GET | `api/v2/add_on_deal/get_add_on_deal_list` | `get_add_on_deal_list.py` | [apis/get-add-on-deal-list.md](./apis/get-add-on-deal-list.md) |\r\n| 10 | get_add_on_deal_main_item | GET | `api/v2/add_on_deal/get_add_on_deal_main_item` | `get_add_on_deal_main_item.py` | [apis/get-add-on-deal-main-item.md](./apis/get-add-on-deal-main-item.md) |\r\n| 11 | get_add_on_deal_sub_item | GET | `api/v2/add_on_deal/get_add_on_deal_sub_item` | `get_add_on_deal_sub_item.py` | [apis/get-add-on-deal-sub-item.md](./apis/get-add-on-deal-sub-item.md) |\r\n| 12 | update_add_on_deal | POST | `api/v2/add_on_deal/update_add_on_deal` | `update_add_on_deal.py` | [apis/update-add-on-deal.md](./apis/update-add-on-deal.md) |\r\n| 13 | update_add_on_deal_main_item | POST | `api/v2/add_on_deal/update_add_on_deal_main_item` | `update_add_on_deal_main_item.py` | [apis/update-add-on-deal-main-item.md](./apis/update-add-on-deal-main-item.md) |\r\n| 14 | update_add_on_deal_sub_item | POST | `api/v2/add_on_deal/update_add_on_deal_sub_item` | `update_add_on_deal_sub_item.py` | [apis/update-add-on-deal-sub-item.md](./apis/update-add-on-deal-sub-item.md) |\r\n通用入口：`add_on_deal_api.py`（JSON 含 `\"api\": \"<上表 API 名>\"`）。\r\n\r\n---\r\n\r\n## 常用接口说明\r\n\r\n| API | 要点 |\r\n|-----|------|\r\n| `add_add_on_deal` | 创建加购优惠；POST `body` — [apis/add-add-on-deal.md](./apis/add-add-on-deal.md) |\r\n| `add_add_on_deal_main_item` / `add_add_on_deal_sub_item` | 添加主商品 / 加购商品 |\r\n| `get_add_on_deal_list` | 活动列表 — [apis/get-add-on-deal-list.md](./apis/get-add-on-deal-list.md) |\r\n| `get_add_on_deal` | 活动详情 — [apis/get-add-on-deal.md](./apis/get-add-on-deal.md) |\r\n| `get_add_on_deal_main_item` / `get_add_on_deal_sub_item` | 主商品 / 加购商品列表 |\r\n| `update_add_on_deal` / `update_*_item` | 更新活动或商品 |\r\n| `end_add_on_deal` | 提前结束 — [apis/end-add-on-deal.md](./apis/end-add-on-deal.md) |\r\n| `delete_add_on_deal` / `delete_*_item` | 删除活动或商品 |\r\n\r\n---\r\n\r\n## curl 示例\r\n\r\n```bash\r\ncurl -X POST https://tool-gateway.linkfox.com/shopee/developerProxy \\\r\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\r\n    \"path\": \"api/v2/add_on_deal/get_add_on_deal_list\",\r\n    \"method\": \"GET\",\r\n    \"accessToken\": \"xxx\",\r\n    \"shopId\": \"67890\"\r\n  }'\r\n```\r\n\r\n---\r\n\r\n## Feedback API\r\n\r\n```bash\r\ncurl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"skillName\":\"linkfox-shopee-store-add-on-deal\",\"sentiment\":\"POSITIVE\",\r\n       \"category\":\"OTHER\",\"content\":\"加购优惠查询正常\"}'\r\n```\n\nFile v1.0.4:references/apis/add-add-on-deal-main-item.md\n\n# add_add_on_deal_main_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal_main_item.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal_main_item` |\n| 官方文档 | [add_add_on_deal_main_item](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_main_item?module=111&type=1) |\n| 用途 | Add main item to add-on deal |\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：Add main item to add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/add_add_on_deal_main_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"add_add_on_deal_main_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDealMainItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/add-add-on-deal-sub-item.md\n\n# add_add_on_deal_sub_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal_sub_item.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal_sub_item` |\n| 官方文档 | [add_add_on_deal_sub_item](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_sub_item?module=111&type=1) |\n| 用途 | Add sub item to add-on deal |\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：Add sub item to add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/add_add_on_deal_sub_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"add_add_on_deal_sub_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDealSubItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/add-add-on-deal.md\n\n# add_add_on_deal\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal` |\n| 官方文档 | [add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1) |\n| 用途 | Create add-on deal promotion; pass full body |\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 add-on deal promotion; pass full body\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/add_add_on_deal.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"add_add_on_deal\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDeal`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/delete-add-on-deal-main-item.md\n\n# delete_add_on_deal_main_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_add_on_deal_main_item.py` |\n| Method / path | POST `api/v2/add_on_deal/delete_add_on_deal_main_item` |\n| 官方文档 | [delete_add_on_deal_main_item](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_main_item?module=111&type=1) |\n| 用途 | Remove main item from add-on deal |\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：Remove main item from add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_add_on_deal_main_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"delete_add_on_deal_main_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddOnDealMainItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/delete-add-on-deal-sub-item.md\n\n# delete_add_on_deal_sub_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_add_on_deal_sub_item.py` |\n| Method / path | POST `api/v2/add_on_deal/delete_add_on_deal_sub_item` |\n| 官方文档 | [delete_add_on_deal_sub_item](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_sub_item?module=111&type=1) |\n| 用途 | Remove sub item from add-on deal |\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：Remove sub item from add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_add_on_deal_sub_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"delete_add_on_deal_sub_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddOnDealSubItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/delete-add-on-deal.md\n\n# delete_add_on_deal\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_add_on_deal.py` |\n| Method / path | POST `api/v2/add_on_deal/delete_add_on_deal` |\n| 官方文档 | [delete_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal?module=111&type=1) |\n| 用途 | Delete add-on deal |\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 add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/delete_add_on_deal.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"delete_add_on_deal\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddOnDeal`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/end-add-on-deal.md\n\n# end_add_on_deal\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/end_add_on_deal.py` |\n| Method / path | POST `api/v2/add_on_deal/end_add_on_deal` |\n| 官方文档 | [end_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.end_add_on_deal?module=111&type=1) |\n| 用途 | End add-on deal early |\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：End add-on deal early\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/end_add_on_deal.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"end_add_on_deal\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`endAddOnDeal`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/get-add-on-deal-list.md\n\n# get_add_on_deal_list\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/get_add_on_deal_list.py` |\n| Method / path | GET `api/v2/add_on_deal/get_add_on_deal_list` |\n| 官方文档 | [get_add_on_deal_list](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_list?module=111&type=1) |\n| 用途 | List add-on deals; pagination/status filters |\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：List add-on deals; pagination/status filters\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/get_add_on_deal_list.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"get_add_on_deal_list\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`getAddOnDealList`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.4:references/apis/get-add-on-deal-main-item.md\n\n# get_add_on_deal_main_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/get_add_on_deal_main_item.py` |\n| Method / path | GET `api/v2/add_on_deal/get_add_on_deal_main_item` |\n| 官方文档 | [get_add_on_deal_main_item](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_main_item?module=111&type=1) |\n| 用途 | Main items in add-on deal |\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：Main items in add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/get_add_on_deal_main_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"get_add_on_deal_main_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`getAddOnDealMainItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nArchive v1.0.3: 23 files, 22877 bytes\n\nFiles: references/api.md (5028b), scripts/_add_on_deal_api_runner.py (4311b), scripts/_add_on_deal_endpoints.py (3971b), scripts/_shopee_add_on_deal_common.py (11751b), scripts/add_add_on_deal_main_item.py (799b), scripts/add_add_on_deal_sub_item.py (793b), scripts/add_add_on_deal.py (739b), scripts/add_on_deal_api.py (1086b), scripts/check_auth_dependency.py (3991b), scripts/delete_add_on_deal_main_item.py (817b), scripts/delete_add_on_deal_sub_item.py (811b), scripts/delete_add_on_deal.py (757b), scripts/end_add_on_deal.py (739b), scripts/get_add_on_deal_list.py (769b), scripts/get_add_on_deal_main_item.py (799b), scripts/get_add_on_deal_sub_item.py (793b), scripts/get_add_on_deal.py (739b), scripts/update_add_on_deal_main_item.py (817b), scripts/update_add_on_deal_sub_item.py (811b), scripts/update_add_on_deal.py (757b), skill-card.md (2284b), SKILL.md (5471b), _meta.json (151b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: linkfox-shopee-store-add-on-deal\ndescription: Shopee（虾皮）加购优惠 Add-On Deal（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Add-On Deal 模块全部 14 个接口：add_add_on_deal、get_add_on_deal_list、add_add_on_deal_main_item、add_add_on_deal_sub_item、update_add_on_deal、end_add_on_deal 等。当用户提到 Shopee 加购优惠、Add-On Deal、主商品加购、add_add_on_deal、add_on_deal_id、满额加购 时触发。即使未明确提及\"加购\"，只要涉及已授权 Shopee 店铺的 Add-On Deal 活动管理，也应触发。\n---\n\n# Shopee 加购优惠 Add-On Deal\n\nShopee Open Platform **Add-On Deal 模块**（14 个 API）。**依赖 `linkfox-shopee-store-auth`**：先取 `accessToken`，再经 **`POST /shopee/developerProxy`** 转发（`path` 须 `api/v2/add_on_deal/...`）。\n\n## 调用方式\n\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/<脚本名>.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-add-on-deal-<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\nAdd-On Deal 模块索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\n\n---\n\n## Prerequisites\n\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`**。\n2. 限时折扣 → `linkfox-shopee-store-discount`；套装优惠 → `linkfox-shopee-store-bundle-deal`；Voucher → `linkfox-shopee-store-voucher`。\n\n## 可用脚本（14 个 API）\n\n| 脚本 | API | Method |\n|------|-----|--------|\n| `add_add_on_deal.py` | add_add_on_deal | POST |\n| `add_add_on_deal_main_item.py` | add_add_on_deal_main_item | POST |\n| `add_add_on_deal_sub_item.py` | add_add_on_deal_sub_item | POST |\n| `delete_add_on_deal.py` | delete_add_on_deal | POST |\n| `delete_add_on_deal_main_item.py` | delete_add_on_deal_main_item | POST |\n| `delete_add_on_deal_sub_item.py` | delete_add_on_deal_sub_item | POST |\n| `get_add_on_deal_list.py` | get_add_on_deal_list | GET |\n| `get_add_on_deal.py` | get_add_on_deal | GET |\n| `get_add_on_deal_main_item.py` | get_add_on_deal_main_item | GET |\n| `get_add_on_deal_sub_item.py` | get_add_on_deal_sub_item | GET |\n| `update_add_on_deal.py` | update_add_on_deal | POST |\n| `update_add_on_deal_main_item.py` | update_add_on_deal_main_item | POST |\n| `update_add_on_deal_sub_item.py` | update_add_on_deal_sub_item | POST |\n| `end_add_on_deal.py` | end_add_on_deal | POST |\n| `add_on_deal_api.py` | 通用入口 | — |\n\n## Usage Scenarios\n\n### 1. 创建加购优惠\n1. `add_add_on_deal.py` 传完整 `body`\n2. `add_add_on_deal_main_item.py` / `add_add_on_deal_sub_item.py` 添加主商品与加购商品\n3. `get_add_on_deal_list.py` 确认状态\n\n## Not Applicable\n\n- 店铺授权 → `linkfox-shopee-store-auth`\n- 限时折扣 Discount → `linkfox-shopee-store-discount`\n- 套装优惠 Bundle Deal → `linkfox-shopee-store-bundle-deal`\n- 商品 listing → `linkfox-shopee-store-product`\n\n## 积分消耗规则\n\n不消耗积分。\n\n**Feedback:** 见 `references/api.md`。\n\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-add-on-deal\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783945134034\n}\n\nFile v1.0.3:references/api.md\n\n# linkfox-shopee-store-add-on-deal — 参数与字段参考\r\n\r\nShopee **Add-On Deal 模块**全部 14 个 API，经 **`POST /shopee/developerProxy`** 转发。\r\n\r\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\r\n\r\n## 通用约定\r\n\r\n- **path**：须 `api/v2/add_on_deal/...`\r\n- **标识**：通常传 **`shopId`**\r\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.add_on_deal.{api}?module=111&type=1`\r\n\r\n---\r\n\r\n## Add-On Deal 模块总览\r\n\r\n| # | API | Method | path | 脚本 | 官方文档 |\r\n|---|-----|--------|------|------|----------|\r\n| 1 | add_add_on_deal | POST | `api/v2/add_on_deal/add_add_on_deal` | `add_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1) |\r\n| 2 | add_add_on_deal_main_item | POST | `api/v2/add_on_deal/add_add_on_deal_main_item` | `add_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_main_item?module=111&type=1) |\r\n| 3 | add_add_on_deal_sub_item | POST | `api/v2/add_on_deal/add_add_on_deal_sub_item` | `add_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_sub_item?module=111&type=1) |\r\n| 4 | delete_add_on_deal | POST | `api/v2/add_on_deal/delete_add_on_deal` | `delete_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal?module=111&type=1) |\r\n| 5 | delete_add_on_deal_main_item | POST | `api/v2/add_on_deal/delete_add_on_deal_main_item` | `delete_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_main_item?module=111&type=1) |\r\n| 6 | delete_add_on_deal_sub_item | POST | `api/v2/add_on_deal/delete_add_on_deal_sub_item` | `delete_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_sub_item?module=111&type=1) |\r\n| 7 | end_add_on_deal | POST | `api/v2/add_on_deal/end_add_on_deal` | `end_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.end_add_on_deal?module=111&type=1) |\r\n| 8 | get_add_on_deal | GET | `api/v2/add_on_deal/get_add_on_deal` | `get_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal?module=111&type=1) |\r\n| 9 | get_add_on_deal_list | GET | `api/v2/add_on_deal/get_add_on_deal_list` | `get_add_on_deal_list.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_list?module=111&type=1) |\r\n| 10 | get_add_on_deal_main_item | GET | `api/v2/add_on_deal/get_add_on_deal_main_item` | `get_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_main_item?module=111&type=1) |\r\n| 11 | get_add_on_deal_sub_item | GET | `api/v2/add_on_deal/get_add_on_deal_sub_item` | `get_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_sub_item?module=111&type=1) |\r\n| 12 | update_add_on_deal | POST | `api/v2/add_on_deal/update_add_on_deal` | `update_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.update_add_on_deal?module=111&type=1) |\r\n| 13 | update_add_on_deal_main_item | POST | `api/v2/add_on_deal/update_add_on_deal_main_item` | `update_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.update_add_on_deal_main_item?module=111&type=1) |\r\n| 14 | update_add_on_deal_sub_item | POST | `api/v2/add_on_deal/update_add_on_deal_sub_item` | `update_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.update_add_on_deal_sub_item?module=111&type=1) |\r\n通用入口：`add_on_deal_api.py`（JSON 含 `\"api\": \"<上表 API 名>\"`）。\r\n\r\n---\r\n\r\n## 常用接口说明\r\n\r\n| API | 要点 |\r\n|-----|------|\r\n| `add_add_on_deal` | 创建加购优惠；POST `body` |\r\n| `add_add_on_deal_main_item` / `add_add_on_deal_sub_item` | 添加主商品 / 加购商品 |\r\n| `get_add_on_deal_list` | 活动列表 |\r\n| `get_add_on_deal` | 活动详情 |\r\n| `get_add_on_deal_main_item` / `get_add_on_deal_sub_item` | 主商品 / 加购商品列表 |\r\n| `update_add_on_deal` / `update_*_item` | 更新活动或商品 |\r\n| `end_add_on_deal` | 提前结束 |\r\n| `delete_add_on_deal` / `delete_*_item` | 删除活动或商品 |\r\n\r\n---\r\n\r\n## curl 示例\r\n\r\n```bash\r\ncurl -X POST ${LINKFOX_TOOL_GATEWAY}/shopee/developerProxy \\\r\n  -H \"Authorization: ${LINKFOX_AGENT_API_KEY}\" \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\r\n    \"path\": \"api/v2/add_on_deal/get_add_on_deal_list\",\r\n    \"method\": \"GET\",\r\n    \"accessToken\": \"xxx\",\r\n    \"shopId\": \"67890\"\r\n  }'\r\n```\r\n\r\n---\r\n\r\n## Feedback API\r\n\r\n```bash\r\ncurl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"skillName\":\"linkfox-shopee-store-add-on-deal\",\"sentiment\":\"POSITIVE\",\r\n       \"category\":\"OTHER\",\"content\":\"加购优惠查询正常\"}'\r\n```\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nThis skill helps agents manage Shopee Add-On Deal promotions through LinkFox by calling the Shopee Open API add-on deal endpoints for listing, creating, updating, ending, and deleting promotions. <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 developers and e-commerce operators use this skill to inspect and manage Add-On Deal promotions for authorized Shopee shops. It is useful when an agent needs to call Shopee add-on deal APIs through LinkFox scripts and review the resulting JSON. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Mutating scripts can change, delete, or end live Shopee Add-On Deal promotions. <br>\nMitigation: Before running mutating scripts, confirm the shopId, promotion ID, affected items, and intended action with the user. <br>\nRisk: Saved API responses can contain sensitive business data. <br>\nMitigation: Protect or delete saved LinkFox JSON files after use, and avoid inline full-output mode unless full response details are necessary. <br>\n\n\n## Reference(s): <br>\n- [Skill API Reference](references/api.md) <br>\n- [Shopee Add-On Deal API Index](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1) <br>\n- [ClawHub Skill Page](https://clawhub.ai/linkfox-ai/skills/linkfox-shopee-store-add-on-deal) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [API Calls, JSON, Files, Shell commands, Guidance] <br>\n**Output Format:** [JSON responses saved to local files, with stdout JSON or summaries and shell command guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Full API results are saved under LinkFox session directories; large 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: 23 files, 22373 bytes\n\nFiles: references/api.md (5028b), scripts/_add_on_deal_api_runner.py (4311b), scripts/_add_on_deal_endpoints.py (3971b), scripts/_shopee_add_on_deal_common.py (11652b), scripts/add_add_on_deal_main_item.py (799b), scripts/add_add_on_deal_sub_item.py (793b), scripts/add_add_on_deal.py (739b), scripts/add_on_deal_api.py (1086b), scripts/check_auth_dependency.py (3991b), scripts/delete_add_on_deal_main_item.py (817b), scripts/delete_add_on_deal_sub_item.py (811b), scripts/delete_add_on_deal.py (757b), scripts/end_add_on_deal.py (739b), scripts/get_add_on_deal_list.py (769b), scripts/get_add_on_deal_main_item.py (799b), scripts/get_add_on_deal_sub_item.py (793b), scripts/get_add_on_deal.py (739b), scripts/update_add_on_deal_main_item.py (817b), scripts/update_add_on_deal_sub_item.py (811b), scripts/update_add_on_deal.py (757b), skill-card.md (2801b), SKILL.md (4410b), _meta.json (151b)\n\nFile v1.0.2:SKILL.md\n\n---\r\nname: linkfox-shopee-store-add-on-deal\r\ndescription: Shopee（虾皮）加购优惠 Add-On Deal（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Add-On Deal 模块全部 14 个接口：add_add_on_deal、get_add_on_deal_list、add_add_on_deal_main_item、add_add_on_deal_sub_item、update_add_on_deal、end_add_on_deal 等。当用户提到 Shopee 加购优惠、Add-On Deal、主商品加购、add_add_on_deal、add_on_deal_id、满额加购 时触发。即使未明确提及\"加购\"，只要涉及已授权 Shopee 店铺的 Add-On Deal 活动管理，也应触发。\r\n---\r\n\r\n# Shopee 加购优惠 Add-On Deal\r\n\r\nShopee Open Platform **Add-On Deal 模块**（14 个 API）。**依赖 `linkfox-shopee-store-auth`**：先取 `accessToken`，再经 **`POST /shopee/developerProxy`** 转发（`path` 须 `api/v2/add_on_deal/...`）。\r\n\r\n## 调用方式\r\n\r\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\r\n- **Python 脚本**：`python scripts/<脚本名>.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\r\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\r\n\r\n**输出策略（脚本默认行为）**：\r\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-add-on-deal-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\r\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\r\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\r\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\r\n\r\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\r\n\r\n## 官方参考\r\n\r\nAdd-On Deal 模块索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\r\n\r\n---\r\n\r\n## Prerequisites\r\n\r\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`**。\r\n2. 限时折扣 → `linkfox-shopee-store-discount`；套装优惠 → `linkfox-shopee-store-bundle-deal`；Voucher → `linkfox-shopee-store-voucher`。\r\n\r\n## 可用脚本（14 个 API）\r\n\r\n| 脚本 | API | Method |\r\n|------|-----|--------|\r\n| `add_add_on_deal.py` | add_add_on_deal | POST |\r\n| `add_add_on_deal_main_item.py` | add_add_on_deal_main_item | POST |\r\n| `add_add_on_deal_sub_item.py` | add_add_on_deal_sub_item | POST |\r\n| `delete_add_on_deal.py` | delete_add_on_deal | POST |\r\n| `delete_add_on_deal_main_item.py` | delete_add_on_deal_main_item | POST |\r\n| `delete_add_on_deal_sub_item.py` | delete_add_on_deal_sub_item | POST |\r\n| `get_add_on_deal_list.py` | get_add_on_deal_list | GET |\r\n| `get_add_on_deal.py` | get_add_on_deal | GET |\r\n| `get_add_on_deal_main_item.py` | get_add_on_deal_main_item | GET |\r\n| `get_add_on_deal_sub_item.py` | get_add_on_deal_sub_item | GET |\r\n| `update_add_on_deal.py` | update_add_on_deal | POST |\r\n| `update_add_on_deal_main_item.py` | update_add_on_deal_main_item | POST |\r\n| `update_add_on_deal_sub_item.py` | update_add_on_deal_sub_item | POST |\r\n| `end_add_on_deal.py` | end_add_on_deal | POST |\r\n| `add_on_deal_api.py` | 通用入口 | — |\r\n\r\n## Usage Scenarios\r\n\r\n### 1. 创建加购优惠\r\n1. `add_add_on_deal.py` 传完整 `body`\r\n2. `add_add_on_deal_main_item.py` / `add_add_on_deal_sub_item.py` 添加主商品与加购商品\r\n3. `get_add_on_deal_list.py` 确认状态\r\n\r\n## Not Applicable\r\n\r\n- 店铺授权 → `linkfox-shopee-store-auth`\r\n- 限时折扣 Discount → `linkfox-shopee-store-discount`\r\n- 套装优惠 Bundle Deal → `linkfox-shopee-store-bundle-deal`\r\n- 商品 listing → `linkfox-shopee-store-product`\r\n\r\n**Feedback:** 见 `references/api.md`。\r\n\r\n\r\n---\r\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-add-on-deal\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1783337241878\n}\n\nFile v1.0.2:references/api.md\n\n# linkfox-shopee-store-add-on-deal — 参数与字段参考\r\n\r\nShopee **Add-On Deal 模块**全部 14 个 API，经 **`POST /shopee/developerProxy`** 转发。\r\n\r\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\r\n\r\n## 通用约定\r\n\r\n- **path**：须 `api/v2/add_on_deal/...`\r\n- **标识**：通常传 **`shopId`**\r\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.add_on_deal.{api}?module=111&type=1`\r\n\r\n---\r\n\r\n## Add-On Deal 模块总览\r\n\r\n| # | API | Method | path | 脚本 | 官方文档 |\r\n|---|-----|--------|------|------|----------|\r\n| 1 | add_add_on_deal | POST | `api/v2/add_on_deal/add_add_on_deal` | `add_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1) |\r\n| 2 | add_add_on_deal_main_item | POST | `api/v2/add_on_deal/add_add_on_deal_main_item` | `add_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_main_item?module=111&type=1) |\r\n| 3 | add_add_on_deal_sub_item | POST | `api/v2/add_on_deal/add_add_on_deal_sub_item` | `add_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_sub_item?module=111&type=1) |\r\n| 4 | delete_add_on_deal | POST | `api/v2/add_on_deal/delete_add_on_deal` | `delete_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal?module=111&type=1) |\r\n| 5 | delete_add_on_deal_main_item | POST | `api/v2/add_on_deal/delete_add_on_deal_main_item` | `delete_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_main_item?module=111&type=1) |\r\n| 6 | delete_add_on_deal_sub_item | POST | `api/v2/add_on_deal/delete_add_on_deal_sub_item` | `delete_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_sub_item?module=111&type=1) |\r\n| 7 | end_add_on_deal | POST | `api/v2/add_on_deal/end_add_on_deal` | `end_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.end_add_on_deal?module=111&type=1) |\r\n| 8 | get_add_on_deal | GET | `api/v2/add_on_deal/get_add_on_deal` | `get_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal?module=111&type=1) |\r\n| 9 | get_add_on_deal_list | GET | `api/v2/add_on_deal/get_add_on_deal_list` | `get_add_on_deal_list.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_list?module=111&type=1) |\r\n| 10 | get_add_on_deal_main_item | GET | `api/v2/add_on_deal/get_add_on_deal_main_item` | `get_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_main_item?module=111&type=1) |\r\n| 11 | get_add_on_deal_sub_item | GET | `api/v2/add_on_deal/get_add_on_deal_sub_item` | `get_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_sub_item?module=111&type=1) |\r\n| 12 | update_add_on_deal | POST | `api/v2/add_on_deal/update_add_on_deal` | `update_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.update_add_on_deal?module=111&type=1) |\r\n| 13 | update_add_on_deal_main_item | POST | `api/v2/add_on_deal/update_add_on_deal_main_item` | `update_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.update_add_on_deal_main_item?module=111&type=1) |\r\n| 14 | update_add_on_deal_sub_item | POST | `api/v2/add_on_deal/update_add_on_deal_sub_item` | `update_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.update_add_on_deal_sub_item?module=111&type=1) |\r\n通用入口：`add_on_deal_api.py`（JSON 含 `\"api\": \"<上表 API 名>\"`）。\r\n\r\n---\r\n\r\n## 常用接口说明\r\n\r\n| API | 要点 |\r\n|-----|------|\r\n| `add_add_on_deal` | 创建加购优惠；POST `body` |\r\n| `add_add_on_deal_main_item` / `add_add_on_deal_sub_item` | 添加主商品 / 加购商品 |\r\n| `get_add_on_deal_list` | 活动列表 |\r\n| `get_add_on_deal` | 活动详情 |\r\n| `get_add_on_deal_main_item` / `get_add_on_deal_sub_item` | 主商品 / 加购商品列表 |\r\n| `update_add_on_deal` / `update_*_item` | 更新活动或商品 |\r\n| `end_add_on_deal` | 提前结束 |\r\n| `delete_add_on_deal` / `delete_*_item` | 删除活动或商品 |\r\n\r\n---\r\n\r\n## curl 示例\r\n\r\n```bash\r\ncurl -X POST ${LINKFOX_TOOL_GATEWAY}/shopee/developerProxy \\\r\n  -H \"Authorization: ${LINKFOX_AGENT_API_KEY}\" \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\r\n    \"path\": \"api/v2/add_on_deal/get_add_on_deal_list\",\r\n    \"method\": \"GET\",\r\n    \"accessToken\": \"xxx\",\r\n    \"shopId\": \"67890\"\r\n  }'\r\n```\r\n\r\n---\r\n\r\n## Feedback API\r\n\r\n```bash\r\ncurl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"skillName\":\"linkfox-shopee-store-add-on-deal\",\"sentiment\":\"POSITIVE\",\r\n       \"category\":\"OTHER\",\"content\":\"加购优惠查询正常\"}'\r\n```\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nHelps agents manage Shopee Add-On Deal promotions through LinkFox by calling the Shopee Open API Add-On Deal module endpoints for creating, listing, updating, ending, and deleting add-on deals and their main or sub items. <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, marketplace operators, and their agents use this skill to manage authorized Shopee store Add-On Deal campaigns through LinkFox. It supports operational workflows such as creating promotions, adding main or add-on items, checking campaign details, updating campaign settings, ending campaigns early, and deleting promotions or items. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can create, update, end, and delete Shopee Add-On Deal promotions through LinkFox. <br>\nMitigation: Review requested campaign changes before execution and use it only with authorized Shopee shops and appropriate LinkFox credentials. <br>\nRisk: Saved LinkFox response files may contain sensitive business or campaign data. <br>\nMitigation: Review where response files are written, protect the local linkfox data directory, and delete retained responses when they are no longer needed. <br>\nRisk: The security verdict is suspicious because promotion-changing actions are high impact and response retention controls are incomplete. <br>\nMitigation: Install only when this operational authority is acceptable, and run the skill in a workspace where local output paths and access are controlled. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-shopee-store-add-on-deal) <br>\n- [Add-On Deal API reference](references/api.md) <br>\n- [Shopee Add-On Deal API documentation](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1) <br>\n- [LinkFox skills](https://skill.linkfox.com/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [JSON, Files, Shell commands, Guidance] <br>\n**Output Format:** [JSON responses written to local files with stdout JSON or summaries] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Responses are saved under a local linkfox session data directory; large responses are summarized unless inline output is requested.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server 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.1: 22 files, 20982 bytes\n\nFiles: references/api.md (5028b), scripts/_add_on_deal_api_runner.py (4311b), scripts/_add_on_deal_endpoints.py (3971b), scripts/_shopee_add_on_deal_common.py (11652b), scripts/add_add_on_deal_main_item.py (799b), scripts/add_add_on_deal_sub_item.py (793b), scripts/add_add_on_deal.py (739b), scripts/add_on_deal_api.py (1086b), scripts/check_auth_dependency.py (3991b), scripts/delete_add_on_deal_main_item.py (817b), scripts/delete_add_on_deal_sub_item.py (811b), scripts/delete_add_on_deal.py (757b), scripts/end_add_on_deal.py (739b), scripts/get_add_on_deal_list.py (769b), scripts/get_add_on_deal_main_item.py (799b), scripts/get_add_on_deal_sub_item.py (793b), scripts/get_add_on_deal.py (739b), scripts/update_add_on_deal_main_item.py (817b), scripts/update_add_on_deal_sub_item.py (811b), scripts/update_add_on_deal.py (757b), SKILL.md (4410b), _meta.json (151b)\n\nFile v1.0.1:SKILL.md\n\n---\r\nname: linkfox-shopee-store-add-on-deal\r\ndescription: Shopee（虾皮）加购优惠 Add-On Deal（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Add-On Deal 模块全部 14 个接口：add_add_on_deal、get_add_on_deal_list、add_add_on_deal_main_item、add_add_on_deal_sub_item、update_add_on_deal、end_add_on_deal 等。当用户提到 Shopee 加购优惠、Add-On Deal、主商品加购、add_add_on_deal、add_on_deal_id、满额加购 时触发。即使未明确提及\"加购\"，只要涉及已授权 Shopee 店铺的 Add-On Deal 活动管理，也应触发。\r\n---\r\n\r\n# Shopee 加购优惠 Add-On Deal\r\n\r\nShopee Open Platform **Add-On Deal 模块**（14 个 API）。**依赖 `linkfox-shopee-store-auth`**：先取 `accessToken`，再经 **`POST /shopee/developerProxy`** 转发（`path` 须 `api/v2/add_on_deal/...`）。\r\n\r\n## 调用方式\r\n\r\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\r\n- **Python 脚本**：`python scripts/<脚本名>.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\r\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\r\n\r\n**输出策略（脚本默认行为）**：\r\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-add-on-deal-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\r\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\r\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\r\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\r\n\r\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\r\n\r\n## 官方参考\r\n\r\nAdd-On Deal 模块索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\r\n\r\n---\r\n\r\n## Prerequisites\r\n\r\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`**。\r\n2. 限时折扣 → `linkfox-shopee-store-discount`；套装优惠 → `linkfox-shopee-store-bundle-deal`；Voucher → `linkfox-shopee-store-voucher`。\r\n\r\n## 可用脚本（14 个 API）\r\n\r\n| 脚本 | API | Method |\r\n|------|-----|--------|\r\n| `add_add_on_deal.py` | add_add_on_deal | POST |\r\n| `add_add_on_deal_main_item.py` | add_add_on_deal_main_item | POST |\r\n| `add_add_on_deal_sub_item.py` | add_add_on_deal_sub_item | POST |\r\n| `delete_add_on_deal.py` | delete_add_on_deal | POST |\r\n| `delete_add_on_deal_main_item.py` | delete_add_on_deal_main_item | POST |\r\n| `delete_add_on_deal_sub_item.py` | delete_add_on_deal_sub_item | POST |\r\n| `get_add_on_deal_list.py` | get_add_on_deal_list | GET |\r\n| `get_add_on_deal.py` | get_add_on_deal | GET |\r\n| `get_add_on_deal_main_item.py` | get_add_on_deal_main_item | GET |\r\n| `get_add_on_deal_sub_item.py` | get_add_on_deal_sub_item | GET |\r\n| `update_add_on_deal.py` | update_add_on_deal | POST |\r\n| `update_add_on_deal_main_item.py` | update_add_on_deal_main_item | POST |\r\n| `update_add_on_deal_sub_item.py` | update_add_on_deal_sub_item | POST |\r\n| `end_add_on_deal.py` | end_add_on_deal | POST |\r\n| `add_on_deal_api.py` | 通用入口 | — |\r\n\r\n## Usage Scenarios\r\n\r\n### 1. 创建加购优惠\r\n1. `add_add_on_deal.py` 传完整 `body`\r\n2. `add_add_on_deal_main_item.py` / `add_add_on_deal_sub_item.py` 添加主商品与加购商品\r\n3. `get_add_on_deal_list.py` 确认状态\r\n\r\n## Not Applicable\r\n\r\n- 店铺授权 → `linkfox-shopee-store-auth`\r\n- 限时折扣 Discount → `linkfox-shopee-store-discount`\r\n- 套装优惠 Bundle Deal → `linkfox-shopee-store-bundle-deal`\r\n- 商品 listing → `linkfox-shopee-store-product`\r\n\r\n**Feedback:** 见 `references/api.md`。\r\n\r\n\r\n---\r\n*For more high-quality, professional cross-border e-commerce skills, visit [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-shopee-store-add-on-deal\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1783067205194\n}\n\nFile v1.0.1:references/api.md\n\n# linkfox-shopee-store-add-on-deal — 参数与字段参考\r\n\r\nShopee **Add-On Deal 模块**全部 14 个 API，经 **`POST /shopee/developerProxy`** 转发。\r\n\r\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\r\n\r\n## 通用约定\r\n\r\n- **path**：须 `api/v2/add_on_deal/...`\r\n- **标识**：通常传 **`shopId`**\r\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.add_on_deal.{api}?module=111&type=1`\r\n\r\n---\r\n\r\n## Add-On Deal 模块总览\r\n\r\n| # | API | Method | path | 脚本 | 官方文档 |\r\n|---|-----|--------|------|------|----------|\r\n| 1 | add_add_on_deal | POST | `api/v2/add_on_deal/add_add_on_deal` | `add_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1) |\r\n| 2 | add_add_on_deal_main_item | POST | `api/v2/add_on_deal/add_add_on_deal_main_item` | `add_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_main_item?module=111&type=1) |\r\n| 3 | add_add_on_deal_sub_item | POST | `api/v2/add_on_deal/add_add_on_deal_sub_item` | `add_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_sub_item?module=111&type=1) |\r\n| 4 | delete_add_on_deal | POST | `api/v2/add_on_deal/delete_add_on_deal` | `delete_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal?module=111&type=1) |\r\n| 5 | delete_add_on_deal_main_item | POST | `api/v2/add_on_deal/delete_add_on_deal_main_item` | `delete_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_main_item?module=111&type=1) |\r\n| 6 | delete_add_on_deal_sub_item | POST | `api/v2/add_on_deal/delete_add_on_deal_sub_item` | `delete_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_sub_item?module=111&type=1) |\r\n| 7 | end_add_on_deal | POST | `api/v2/add_on_deal/end_add_on_deal` | `end_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.end_add_on_deal?module=111&type=1) |\r\n| 8 | get_add_on_deal | GET | `api/v2/add_on_deal/get_add_on_deal` | `get_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal?module=111&type=1) |\r\n| 9 | get_add_on_deal_list | GET | `api/v2/add_on_deal/get_add_on_deal_list` | `get_add_on_deal_list.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_list?module=111&type=1) |\r\n| 10 | get_add_on_deal_main_item | GET | `api/v2/add_on_deal/get_add_on_deal_main_item` | `get_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_main_item?module=111&type=1) |\r\n| 11 | get_add_on_deal_sub_item | GET | `api/v2/add_on_deal/get_add_on_deal_sub_item` | `get_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_sub_item?module=111&type=1) |\r\n| 12 | update_add_on_deal | POST | `api/v2/add_on_deal/update_add_on_deal` | `update_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.update_add_on_deal?module=111&type=1) |\r\n| 13 | update_add_on_deal_main_item | POST | `api/v2/add_on_deal/update_add_on_deal_main_item` | `update_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.update_add_on_deal_main_item?module=111&type=1) |\r\n| 14 | update_add_on_deal_sub_item | POST | `api/v2/add_on_deal/update_add_on_deal_sub_item` | `update_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.update_add_on_deal_sub_item?module=111&type=1) |\r\n通用入口：`add_on_deal_api.py`（JSON 含 `\"api\": \"<上表 API 名>\"`）。\r\n\r\n---\r\n\r\n## 常用接口说明\r\n\r\n| API | 要点 |\r\n|-----|------|\r\n| `add_add_on_deal` | 创建加购优惠；POST `body` |\r\n| `add_add_on_deal_main_item` / `add_add_on_deal_sub_item` | 添加主商品 / 加购商品 |\r\n| `get_add_on_deal_list` | 活动列表 |\r\n| `get_add_on_deal` | 活动详情 |\r\n| `get_add_on_deal_main_item` / `get_add_on_deal_sub_item` | 主商品 / 加购商品列表 |\r\n| `update_add_on_deal` / `update_*_item` | 更新活动或商品 |\r\n| `end_add_on_deal` | 提前结束 |\r\n| `delete_add_on_deal` / `delete_*_item` | 删除活动或商品 |\r\n\r\n---\r\n\r\n## curl 示例\r\n\r\n```bash\r\ncurl -X POST ${LINKFOX_TOOL_GATEWAY}/shopee/developerProxy \\\r\n  -H \"Authorization: ${LINKFOX_AGENT_API_KEY}\" \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\r\n    \"path\": \"api/v2/add_on_deal/get_add_on_deal_list\",\r\n    \"method\": \"GET\",\r\n    \"accessToken\": \"xxx\",\r\n    \"shopId\": \"67890\"\r\n  }'\r\n```\r\n\r\n---\r\n\r\n## Feedback API\r\n\r\n```bash\r\ncurl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"skillName\":\"linkfox-shopee-store-add-on-deal\",\"sentiment\":\"POSITIVE\",\r\n       \"category\":\"OTHER\",\"content\":\"加购优惠查询正常\"}'\r\n```\n\nArchive v1.0.0: 23 files, 22296 bytes\n\nFiles: references/api.md (5029b), scripts/_add_on_deal_api_runner.py (4311b), scripts/_add_on_deal_endpoints.py (3971b), scripts/_shopee_add_on_deal_common.py (11653b), scripts/add_add_on_deal_main_item.py (799b), scripts/add_add_on_deal_sub_item.py (793b), scripts/add_add_on_deal.py (739b), scripts/add_on_deal_api.py (1086b), scripts/check_auth_dependency.py (3991b), scripts/delete_add_on_deal_main_item.py (817b), scripts/delete_add_on_deal_sub_item.py (811b), scripts/delete_add_on_deal.py (757b), scripts/end_add_on_deal.py (739b), scripts/get_add_on_deal_list.py (769b), scripts/get_add_on_deal_main_item.py (799b), scripts/get_add_on_deal_sub_item.py (793b), scripts/get_add_on_deal.py (739b), scripts/update_add_on_deal_main_item.py (817b), scripts/update_add_on_deal_sub_item.py (811b), scripts/update_add_on_deal.py (757b), skill-card.md (2640b), SKILL.md (4410b), _meta.json (151b)\n\nFile v1.0.0:SKILL.md\n\n---\r\nname: linkfox-shopee-store-add-on-deal\r\ndescription: Shopee（虾皮）加购优惠 Add-On Deal（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Add-On Deal 模块全部 14 个接口：add_add_on_deal、get_add_on_deal_list、add_add_on_deal_main_item、add_add_on_deal_sub_item、update_add_on_deal、end_add_on_deal 等。当用户提到 Shopee 加购优惠、Add-On Deal、主商品加购、add_add_on_deal、add_on_deal_id、满额加购 时触发。即使未明确提及\"加购\"，只要涉及已授权 Shopee 店铺的 Add-On Deal 活动管理，也应触发。\r\n---\r\n\r\n# Shopee 加购优惠 Add-On Deal\r\n\r\nShopee Open Platform **Add-On Deal 模块**（14 个 API）。**依赖 `linkfox-shopee-store-auth`**：先取 `accessToken`，再经 **`POST /shopee/developerProxy`** 转发（`path` 须 `api/v2/add_on_deal/...`）。\r\n\r\n## 调用方式\r\n\r\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\r\n- **Python 脚本**：`python scripts/<脚本名>.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\r\n- **成本约束**：本工具会消耗积分；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\r\n\r\n**输出策略（脚本默认行为）**：\r\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-add-on-deal-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\r\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\r\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\r\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\r\n\r\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\r\n\r\n## 官方参考\r\n\r\nAdd-On Deal 模块索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\r\n\r\n---\r\n\r\n## Prerequisites\r\n\r\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`**。\r\n2. 限时折扣 → `linkfox-shopee-store-discount`；套装优惠 → `linkfox-shopee-store-bundle-deal`；Voucher → `linkfox-shopee-store-voucher`。\r\n\r\n## 可用脚本（14 个 API）\r\n\r\n| 脚本 | API | Method |\r\n|------|-----|--------|\r\n| `add_add_on_deal.py` | add_add_on_deal | POST |\r\n| `add_add_on_deal_main_item.py` | add_add_on_deal_main_item | POST |\r\n| `add_add_on_deal_sub_item.py` | add_add_on_deal_sub_item | POST |\r\n| `delete_add_on_deal.py` | delete_add_on_deal | POST |\r\n| `delete_add_on_deal_main_item.py` | delete_add_on_deal_main_item | POST |\r\n| `delete_add_on_deal_sub_item.py` | delete_add_on_deal_sub_item | POST |\r\n| `get_add_on_deal_list.py` | get_add_on_deal_list | GET |\r\n| `get_add_on_deal.py` | get_add_on_deal | GET |\r\n| `get_add_on_deal_main_item.py` | get_add_on_deal_main_item | GET |\r\n| `get_add_on_deal_sub_item.py` | get_add_on_deal_sub_item | GET |\r\n| `update_add_on_deal.py` | update_add_on_deal | POST |\r\n| `update_add_on_deal_main_item.py` | update_add_on_deal_main_item | POST |\r\n| `update_add_on_deal_sub_item.py` | update_add_on_deal_sub_item | POST |\r\n| `end_add_on_deal.py` | end_add_on_deal | POST |\r\n| `add_on_deal_api.py` | 通用入口 | — |\r\n\r\n## Usage Scenarios\r\n\r\n### 1. 创建加购优惠\r\n1. `add_add_on_deal.py` 传完整 `body`\r\n2. `add_add_on_deal_main_item.py` / `add_add_on_deal_sub_item.py` 添加主商品与加购商品\r\n3. `get_add_on_deal_list.py` 确认状态\r\n\r\n## Not Applicable\r\n\r\n- 店铺授权 → `linkfox-shopee-store-auth`\r\n- 限时折扣 Discount → `linkfox-shopee-store-discount`\r\n- 套装优惠 Bundle Deal → `linkfox-shopee-store-bundle-deal`\r\n- 商品 listing → `linkfox-shopee-store-product`\r\n\r\n**Feedback:** 见 `references/api.md`。\r\n\r\n\r\n---\r\n*For more high-quality, professional cross-border e-commerce skills, visit [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-shopee-store-add-on-deal\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1782995677733\n}\n\nFile v1.0.0:references/api.md\n\n# linkfox-shopee-store-add-on-deal — 参数与字段参考\r\n\r\nShopee **Add-On Deal 模块**全部 14 个 API，经 **`POST /shopee/developerProxy`** 转发。\r\n\r\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\r\n\r\n## 通用约定\r\n\r\n- **path**：须 `api/v2/add_on_deal/...`\r\n- **标识**：通常传 **`shopId`**\r\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.add_on_deal.{api}?module=111&type=1`\r\n\r\n---\r\n\r\n## Add-On Deal 模块总览\r\n\r\n| # | API | Method | path | 脚本 | 官方文档 |\r\n|---|-----|--------|------|------|----------|\r\n| 1 | add_add_on_deal | POST | `api/v2/add_on_deal/add_add_on_deal` | `add_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1) |\r\n| 2 | add_add_on_deal_main_item | POST | `api/v2/add_on_deal/add_add_on_deal_main_item` | `add_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_main_item?module=111&type=1) |\r\n| 3 | add_add_on_deal_sub_item | POST | `api/v2/add_on_deal/add_add_on_deal_sub_item` | `add_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_sub_item?module=111&type=1) |\r\n| 4 | delete_add_on_deal | POST | `api/v2/add_on_deal/delete_add_on_deal` | `delete_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal?module=111&type=1) |\r\n| 5 | delete_add_on_deal_main_item | POST | `api/v2/add_on_deal/delete_add_on_deal_main_item` | `delete_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_main_item?module=111&type=1) |\r\n| 6 | delete_add_on_deal_sub_item | POST | `api/v2/add_on_deal/delete_add_on_deal_sub_item` | `delete_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_sub_item?module=111&type=1) |\r\n| 7 | end_add_on_deal | POST | `api/v2/add_on_deal/end_add_on_deal` | `end_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.end_add_on_deal?module=111&type=1) |\r\n| 8 | get_add_on_deal | GET | `api/v2/add_on_deal/get_add_on_deal` | `get_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal?module=111&type=1) |\r\n| 9 | get_add_on_deal_list | GET | `api/v2/add_on_deal/get_add_on_deal_list` | `get_add_on_deal_list.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_list?module=111&type=1) |\r\n| 10 | get_add_on_deal_main_item | GET | `api/v2/add_on_deal/get_add_on_deal_main_item` | `get_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_main_item?module=111&type=1) |\r\n| 11 | get_add_on_deal_sub_item | GET | `api/v2/add_on_deal/get_add_on_deal_sub_item` | `get_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.get_add_on_deal_sub_item?module=111&type=1) |\r\n| 12 | update_add_on_deal | POST | `api/v2/add_on_deal/update_add_on_deal` | `update_add_on_deal.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.update_add_on_deal?module=111&type=1) |\r\n| 13 | update_add_on_deal_main_item | POST | `api/v2/add_on_deal/update_add_on_deal_main_item` | `update_add_on_deal_main_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.update_add_on_deal_main_item?module=111&type=1) |\r\n| 14 | update_add_on_deal_sub_item | POST | `api/v2/add_on_deal/update_add_on_deal_sub_item` | `update_add_on_deal_sub_item.py` | [doc](https://open.shopee.com/documents/v2/v2.add_on_deal.update_add_on_deal_sub_item?module=111&type=1) |\r\n通用入口：`add_on_deal_api.py`（JSON 含 `\"api\": \"<上表 API 名>\"`）。\r\n\r\n---\r\n\r\n## 常用接口说明\r\n\r\n| API | 要点 |\r\n|-----|------|\r\n| `add_add_on_deal` | 创建加购优惠；POST `body` |\r\n| `add_add_on_deal_main_item` / `add_add_on_deal_sub_item` | 添加主商品 / 加购商品 |\r\n| `get_add_on_deal_list` | 活动列表 |\r\n| `get_add_on_deal` | 活动详情 |\r\n| `get_add_on_deal_main_item` / `get_add_on_deal_sub_item` | 主商品 / 加购商品列表 |\r\n| `update_add_on_deal` / `update_*_item` | 更新活动或商品 |\r\n| `end_add_on_deal` | 提前结束 |\r\n| `delete_add_on_deal` / `delete_*_item` | 删除活动或商品 |\r\n\r\n---\r\n\r\n## curl 示例\r\n\r\n```bash\r\ncurl -X POST ${LINKFOX_AGENT_API_URL}/shopee/developerProxy \\\r\n  -H \"Authorization: ${LINKFOX_AGENT_API_KEY}\" \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\r\n    \"path\": \"api/v2/add_on_deal/get_add_on_deal_list\",\r\n    \"method\": \"GET\",\r\n    \"accessToken\": \"xxx\",\r\n    \"shopId\": \"67890\"\r\n  }'\r\n```\r\n\r\n---\r\n\r\n## Feedback API\r\n\r\n```bash\r\ncurl -X POST https://skill-api.linkfox.com/api/v1/public/feedback \\\r\n  -H \"Content-Type: application/json\" \\\r\n  -d '{\"skillName\":\"linkfox-shopee-store-add-on-deal\",\"sentiment\":\"POSITIVE\",\r\n       \"category\":\"OTHER\",\"content\":\"加购优惠查询正常\"}'\r\n```\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nProvides agent workflows and scripts for managing Shopee Open Platform Add-On Deal promotions through LinkFox's Shopee developer proxy, including create, list, update, delete, and end operations. <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>\nDevelopers and Shopee store operators use this skill to create, inspect, update, delete, or end Add-On Deal promotions for authorized Shopee stores via LinkFox and Shopee APIs. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can create, update, delete, or end live Shopee Add-On Deal promotions. <br>\nMitigation: Require explicit user confirmation before create, update, delete, or end operations, and verify the target shop, promotion, and item identifiers before execution. <br>\nRisk: API keys and full Shopee API responses may contain sensitive store or promotion data. <br>\nMitigation: Keep API keys out of logs and shared prompts, limit inline output to what is needed, and review or delete saved response files after use. <br>\nRisk: Saved response files may be written under linkfox session folders outside the current project, including home or temporary fallbacks. <br>\nMitigation: Check the linkfox session folders after each run, including possible home or temp fallback locations, and avoid running the skill from shared or sensitive workspaces. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-shopee-store-add-on-deal) <br>\n- [API parameter reference](artifact/references/api.md) <br>\n- [Shopee Open Platform Add-On Deal documentation](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, shell commands, JSON, files, guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands and JSON API results] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [API responses are saved as JSON files; small responses may also print in full, while larger responses print summaries unless inline output is requested.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: server release metadata) <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>","readmeExcerpt":"Skill: Shopee-店铺加购优惠 Owner: linkfox-ai Summary: Shopee（虾皮）加购优惠 Add-On Deal（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Add-On Deal 模块全部 14 个接口：add_add_on_deal、get_add_on_deal_list、add_add_on_deal_main_item、add_add_on_deal_sub_item、update_add_on_deal、end_add_on_deal 等。当用户提到 Shopee 加购优惠、Add-On Deal、主商品加购、add_add_on_deal、add_on_deal_id、满额加购 时触发。即使未明确提及\"加购\"，只要涉及已授权 Shopee 店铺的 Add-On Deal ","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"File v1.0.6:references/apis/add-add-on-deal-main-item.md\n\n# add_add_on_deal_main_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal_main_item.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal_main_item` |\n| 官方文档 | [add_add_on_deal_main_item](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_main_item?module=111&type=1) |\n| 用途 | Add main item to add-on deal |\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：Add main item to add-on deal\n\n---\n\n## 调用示例"},{"language":"text","snippet":"---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDealMainItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/add-add-on-deal-sub-item.md\n\n# add_add_on_deal_sub_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal_sub_item.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal_sub_item` |\n| 官方文档 | [add_add_on_deal_sub_item](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_sub_item?module=111&type=1) |\n| 用途 | Add sub item to add-on deal |\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：Add sub item to add-on deal\n\n---\n\n## 调用示例"},{"language":"text","snippet":"---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDealSubItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/add-add-on-deal.md\n\n# add_add_on_deal\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal` |\n| 官方文档 | [add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1) |\n| 用途 | Create add-on deal promotion; pass full body |\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 add-on deal promotion; pass full body\n\n---\n\n## 调用示例"},{"language":"text","snippet":"---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDeal`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/delete-add-on-deal-main-item.md\n\n# delete_add_on_deal_main_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_add_on_deal_main_item.py` |\n| Method / path | POST `api/v2/add_on_deal/delete_add_on_deal_main_item` |\n| 官方文档 | [delete_add_on_deal_main_item](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_main_item?module=111&type=1) |\n| 用途 | Remove main item from add-on deal |\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：Remove main item from add-on deal\n\n---\n\n## 调用示例"},{"language":"text","snippet":"---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddOnDealMainItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/delete-add-on-deal-sub-item.md\n\n# delete_add_on_deal_sub_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_add_on_deal_sub_item.py` |\n| Method / path | POST `api/v2/add_on_deal/delete_add_on_deal_sub_item` |\n| 官方文档 | [delete_add_on_deal_sub_item](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal_sub_item?module=111&type=1) |\n| 用途 | Remove sub item from add-on deal |\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：Remove sub item from add-on deal\n\n---\n\n## 调用示例"},{"language":"text","snippet":"---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`deleteAddOnDealSubItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准\n\nFile v1.0.6:references/apis/delete-add-on-deal.md\n\n# delete_add_on_deal\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/delete_add_on_deal.py` |\n| Method / path | POST `api/v2/add_on_deal/delete_add_on_deal` |\n| 官方文档 | [delete_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.delete_add_on_deal?module=111&type=1) |\n| 用途 | Delete add-on deal |\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 add-on deal\n\n---\n\n## 调用示例"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: linkfox-shopee-store-add-on-deal\ndescription: Shopee（虾皮）加购优惠 Add-On Deal（与 linkfox-shopee-store-auth 同系列），经 /shopee/developerProxy 转发 Shopee Open API Add-On Deal 模块全部 14 个接口：add_add_on_deal、get_add_on_deal_list、add_add_on_deal_main_item、add_add_on_deal_sub_item、update_add_on_deal、end_add_on_deal 等。当用户提到 Shopee 加购优惠、Add-On Deal、主商品加购、add_add_on_deal、add_on_deal_id、满额加购 时触发。即使未明确提及\"加购\"，只要涉及已授权 Shopee 店铺的 Add-On Deal 活动管理，也应触发。\n---\n\n# Shopee 加购优惠 Add-On Deal\n\nShopee Open Platform **Add-On Deal 模块**（14 个 API）。**依赖 `linkfox-shopee-store-auth`** 选店；经 **`POST /shopee/developerProxy`** 传入 `shopId`（或 `merchantId`），由服务端解析 token 转发（`path` 须 `api/v2/add_on_deal/...`）。\n\n## 调用方式\n\n- **API 端点**：`POST /shopee/developerProxy`（不同操作通过请求体区分；完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/<脚本名>.py '<JSON 参数>' [--inline]`（可用脚本见上文脚本一览）\n- **成本约束**：本工具会消耗算力；失败/空结果不得自动换关键词、翻页或连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-shopee-store-add-on-deal-<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\nAdd-On Deal 模块索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\n\n---\n\n## Prerequisites\n\n1. 运行 `python scripts/check_auth_dependency.py`；exit code **42** → 先安装 **`linkfox-shopee-store-auth`**。\n2. 限时折扣 → `linkfox-shopee-store-discount`；套装优惠 → `linkfox-shopee-store-bundle-deal`；Voucher → `linkfox-shopee-store-voucher`。\n\n## 可用脚本（14 个 API）\n\n| 脚本 | API | Method |\n|------|-----|--------|\n| `add_add_on_deal.py` | add_add_on_deal | POST |\n| `add_add_on_deal_main_item.py` | add_add_on_deal_main_item | POST |\n| `add_add_on_deal_sub_item.py` | add_add_on_deal_sub_item | POST |\n| `delete_add_on_deal.py` | delete_add_on_deal | POST |\n| `delete_add_on_deal_main_item.py` | delete_add_on_deal_main_item | POST |\n| `delete_add_on_deal_sub_item.py` | delete_add_on_deal_sub_item | POST |\n| `get_add_on_deal_list.py` | get_add_on_deal_list | GET |\n| `get_add_on_deal.py` | get_add_on_deal | GET |\n| `get_add_on_deal_main_item.py` | get_add_on_deal_main_item | GET |\n| `get_add_on_deal_sub_item.py` | get_add_on_deal_sub_item | GET |\n| `update_add_on_deal.py` | update_add_on_deal | POST |\n| `update_add_on_deal_main_item.py` | update_add_on_deal_main_item | POST |\n| `update_add_on_deal_sub_item.py` | update_add_on_deal_sub_item | POST |\n| `end_add_on_deal.py"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-shopee-store-add-on-deal\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1789363536100\n}"},{"path":"references/api.md","content":"# linkfox-shopee-store-add-on-deal — 参数与字段参考\r\n\r\n> 单接口入参/响应说明已拆到 **`apis/`**（按 API 一份）；本文件保留模块总览与 Feedback。\r\nShopee **Add-On Deal 模块**全部 14 个 API，经 **`POST /shopee/developerProxy`** 转发。\r\n\r\n授权见 **`linkfox-shopee-store-auth`**。官方索引：[v2.add_on_deal.add_add_on_deal](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal?module=111&type=1)\r\n\r\n## 通用约定\r\n\r\n- **path**：须 `api/v2/add_on_deal/...`\r\n- **标识**：通常传 **`shopId`**\r\n- **官方文档 URL 规则**：`https://open.shopee.com/documents/v2/v2.add_on_deal.{api}?module=111&type=1`\r\n\r\n---\r\n\r\n## Add-On Deal 模块总览\r\n\r\n| # | API | Method | path | 脚本 | 官方文档 |\r\n|---|-----|--------|------|------|----------|\r\n| 1 | add_add_on_deal | POST | `api/v2/add_on_deal/add_add_on_deal` | `add_add_on_deal.py` | [apis/add-add-on-deal.md](./apis/add-add-on-deal.md) |\r\n| 2 | add_add_on_deal_main_item | POST | `api/v2/add_on_deal/add_add_on_deal_main_item` | `add_add_on_deal_main_item.py` | [apis/add-add-on-deal-main-item.md](./apis/add-add-on-deal-main-item.md) |\r\n| 3 | add_add_on_deal_sub_item | POST | `api/v2/add_on_deal/add_add_on_deal_sub_item` | `add_add_on_deal_sub_item.py` | [apis/add-add-on-deal-sub-item.md](./apis/add-add-on-deal-sub-item.md) |\r\n| 4 | delete_add_on_deal | POST | `api/v2/add_on_deal/delete_add_on_deal` | `delete_add_on_deal.py` | [apis/delete-add-on-deal.md](./apis/delete-add-on-deal.md) |\r\n| 5 | delete_add_on_deal_main_item | POST | `api/v2/add_on_deal/delete_add_on_deal_main_item` | `delete_add_on_deal_main_item.py` | [apis/delete-add-on-deal-main-item.md](./apis/delete-add-on-deal-main-item.md) |\r\n| 6 | delete_add_on_deal_sub_item | POST | `api/v2/add_on_deal/delete_add_on_deal_sub_item` | `delete_add_on_deal_sub_item.py` | [apis/delete-add-on-deal-sub-item.md](./apis/delete-add-on-deal-sub-item.md) |\r\n| 7 | end_add_on_deal | POST | `api/v2/add_on_deal/end_add_on_deal` | `end_add_on_deal.py` | [apis/end-add-on-deal.md](./apis/end-add-on-deal.md) |\r\n| 8 | get_add_on_deal | GET | `api/v2/add_on_deal/get_add_on_deal` | `get_add_on_deal.py` | [apis/get-add-on-deal.md](./apis/get-add-on-deal.md) |\r\n| 9 | get_add_on_deal_list | GET | `api/v2/add_on_deal/get_add_on_deal_list` | `get_add_on_deal_list.py` | [apis/get-add-on-deal-list.md](./apis/get-add-on-deal-list.md) |\r\n| 10 | get_add_on_deal_main_item | GET | `api/v2/add_on_deal/get_add_on_deal_main_item` | `get_add_on_deal_main_item.py` | [apis/get-add-on-deal-main-item.md](./apis/get-add-on-deal-main-item.md) |\r\n| 11 | get_add_on_deal_sub_item | GET | `api/v2/add_on_deal/get_add_on_deal_sub_item` | `get_add_on_deal_sub_item.py` | [apis/get-add-on-deal-sub-item.md](./apis/get-add-on-deal-sub-item.md) |\r\n| 12 | update_add_on_deal | POST | `api/v2/add_on_deal/update_add_on_deal` | `update_add_on_deal.py` | [apis/update-add-on-deal.md](./apis/update-add-on-deal.md) |\r\n| 13 | update_add_on_deal_main_item | POST | `api/v2/add_on_deal/update_add_on_deal_main_item` | `update_add_on_deal_main_item.py` | [apis/update-add-on-deal-main-item.md](./apis/update-add-on-deal"},{"path":"references/apis/add-add-on-deal-main-item.md","content":"# add_add_on_deal_main_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal_main_item.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal_main_item` |\n| 官方文档 | [add_add_on_deal_main_item](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_main_item?module=111&type=1) |\n| 用途 | Add main item to add-on deal |\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：Add main item to add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/add_add_on_deal_main_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"add_add_on_deal_main_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDealMainItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准"},{"path":"references/apis/add-add-on-deal-sub-item.md","content":"# add_add_on_deal_sub_item\n\n| 项 | 值 |\n|----|-----|\n| 脚本 | `scripts/add_add_on_deal_sub_item.py` |\n| Method / path | POST `api/v2/add_on_deal/add_add_on_deal_sub_item` |\n| 官方文档 | [add_add_on_deal_sub_item](https://open.shopee.com/documents/v2/v2.add_on_deal.add_add_on_deal_sub_item?module=111&type=1) |\n| 用途 | Add sub item to add-on deal |\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：Add sub item to add-on deal\n\n---\n\n## 调用示例\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\n\npython scripts/add_add_on_deal_sub_item.py '{\"shopId\": \"67890\"}'\n\n# 通用入口\npython scripts/add_on_deal_api.py '{\"api\": \"add_add_on_deal_sub_item\", \"shopId\": \"67890\"}'\n```\n\n---\n\n## 响应要点\n\n1. 先看 **`developerProxy.httpStatus`** / `errcode`\n2. 再读 **`addAddOnDealSubItem`**（Shopee `response` 解析结果）\n3. 字段以官方文档为准"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1431,"uniquenessScore":24,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T20:08:21.828Z","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-11T20:08:21.828Z","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-14T12:32:50.354Z","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"}]}}}