Linkfox Amazon Store External Fulfillment
亚马逊 External Fulfillment 外部履约管理。用于 Seller Flex、FBA Onsite、Easy Ship、Self Ship、MFN Self Delivery 等…
by linkfox-ai · MIT
The skill
亚马逊 External Fulfillment 外部履约管理。用于 Seller Flex、FBA Onsite、Easy Ship、Self Ship、MFN Self Delivery 等项目中的按 location 库存查询或更新、履约货件处理、包裹与状态更新、配送选项、面单、发票和退货查询。用户提到 External Fulfillment、SmartConnect、Seller Flex、FBA Onsite、Easy Ship、Self Ship、batchInventory、location 库存、外部履约 shipment、EF 面单、EF 发票或 EF 退货时触发。即使未明确说“External Fulfillment API”,只要需求围绕这些外部履约项目的库存、货件、包裹或退货,也应触发此技能;普通卖家订单使用 linkfox-amazon-store-orders,FBA/MCF 使用对应 fulfillment 技能。
Amazon 店铺 External Fulfillment
本 skill 与 linkfox-amazon-store-auth 等同属 Amazon Store 系列:依赖 linkfox-amazon-store-auth 选店(sellerId+region);直接 POST /spApi/developerProxy 传入 sellerId+region,由服务端解析 token(勿传 amzAccessToken,除非兼容旧调用)。转发上游 GET / POST / PUT / PATCH。
适用渠道:Seller Flex / FBA Onsite、Multi Seller Flex、Easy Ship、Self Ship、MFN Self Delivery、Amazon Pharmacy 等(以商家 allowlist 与角色为准)。
调用方式
- API 端点:
POST /spApi/developerProxy(完整参数/响应见references/api.md) - Python 脚本:
python scripts/<脚本名>.py '<JSON 参数>' [--inline] - 成本约束:本工具会消耗算力;失败/空结果不得自动翻页或连续试探;需要继续时先向用户说明会产生额外消耗。
输出策略(脚本默认行为):
- 始终将完整响应写入
<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-amazon-store-external-fulfillment-<timestamp>.json - 响应体 ≤ 8 KB:落盘后把完整 JSON 打印到 stdout
- 响应体 > 8 KB:落盘后 stdout 只输出摘要
- 加
--inline强制全量打印(同样落盘)
读数据建议:先看摘要;需要具体字段时用 jq / ConvertFrom-Json 从落盘文件抽取。
解决认证和算力问题
发生以下异常情况时,采用 references/onboarding.md 引导解决问题:
异常情况
- 未配置API Key:环境变量未配置
LINKFOX_AGENT_API_KEY,也未配置LINKFOXAGENT_API_KEY。 - 响应401或402状态码
- 响应提示算力或余额不足:消息含"算力余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值",或类似含义的内容。
官方参考索引
| 模块 | 能力 | 文档 |
|---|---|---|
| Inventory | batchInventory | batchInventory |
| Shipping | getShipments | getShipments |
| Shipping | getShipment | getShipment |
| Shipping | processShipment | processShipment |
| Shipping | createPackages | createPackages |
| Shipping | updatePackage | updatePackage |
| Shipping | updatePackageStatus | updatePackageStatus |
| Shipping | retrieveShippingOptions | retrieveShippingOptions |
| Shipping | generateInvoice | generateInvoice |
| Shipping | retrieveInvoice | retrieveInvoice |
| Shipping | generateShipLabels | generateShipLabels |
| Returns | listReturns | listReturns |
| Returns | getReturn | getReturn |
Prerequisites(必须先读)
本 skill 依赖 linkfox-amazon-store-auth。
- 运行
python scripts/check_auth_dependency.py;若 exit code 42 且 stderr 含DEPENDENCY_MISSING:,请先安装linkfox-amazon-store-auth。 - 不要在本 skill 内绕过依赖实现授权或令牌逻辑。
- 商家需 External Fulfillment allowlist,应用需 Direct-to-Consumer Shipping (Restricted) 角色。
Current Capabilities(脚本一览)
| 能力 | developerProxy path(要点) |
脚本 |
|---|---|---|
| batchInventory | externalFulfillment/inventory/2024-09-11/inventories,POST |
post_batch_inventory.py |
| getShipments | externalFulfillment/2024-09-11/shipments + Query |
get_shipments.py |
| getShipment | .../shipments/{shipmentId} |
get_shipment.py |
| processShipment | .../shipments/{shipmentId}?operation=,POST |
process_shipment.py |
| createPackages | .../shipments/{shipmentId}/packages,POST |
create_packages.py |
| updatePackage | .../shipments/{shipmentId}/packages/{packageId},PUT |
update_package.py |
| updatePackageStatus | 同上 path,PATCH | update_package_status.py |
| retrieveShippingOptions | .../shipments/{shipmentId}/shippingOptions + packageId |
retrieve_shipping_options.py |
| generateInvoice | .../shipments/{shipmentId}/invoice,POST |
generate_invoice.py |
| retrieveInvoice | 同上 path,GET | retrieve_invoice.py |
| generateShipLabels | .../shipments/{shipmentId}/shipLabels?operation=,PUT |
generate_ship_labels.py |
| listReturns | externalFulfillment/2024-09-11/returns + Query |
list_returns.py |
| getReturn | .../returns/{returnId} |
get_return.py |
共享逻辑见 scripts/_spapi_ef_common.py(仅供同目录脚本 import)。
Quick Parameters(摘要)
- batchInventory:
requests1~10 条。简化项:action=fetch|update、locationId、skuId;update 必填quantity。MFN 单仓常用locationId=DEFAULT;Seller Flex 用 4 位仓码。高级:useAmazonRequestShape:true直传官方requests。 - getShipments:必填
status(如ACCEPTED/CREATED);可选locationId、marketplaceId、channelName、lastUpdatedAfter/Before、maxResults、paginationToken。 - processShipment:
operation=CONFIRM|REJECT;REJECT 时可传referenceId/lineItems或requestBody。 - createPackages / updatePackage:包裹尺寸重量与
packageLineItems按官方 schema 放在packages或requestBody。 - updatePackageStatus:主要用于 Self Delivery;传
status/subStatus/reason。 - generateShipLabels:
operation=GENERATE|REGENERATE;可选shippingOptionId、packageIds。 - listReturns:可选
status(新退货常用CREATED)、returnLocationId、时间窗、nextToken。
典型履约流程:getShipments → processShipment(CONFIRM) → createPackages → retrieveShippingOptions → generateInvoice → generateShipLabels →(Self Delivery)updatePackageStatus。
Scripts
export LINKFOXAGENT_API_KEY="<your-key>"
python scripts/post_batch_inventory.py '{"sellerId":"A1...","region":"NA","requests":[{"action":"fetch","locationId":"DEFAULT","skuId":"SKU-1","marketplaceAttributes":{"marketplaceId":"ATVPDKIKX0DER","channelName":"MFN"}}]}'
python scripts/get_shipments.py '{"sellerId":"A1...","region":"NA","status":"ACCEPTED","locationId":"ABCD"}'
python scripts/process_shipment.py '{"sellerId":"A1...","region":"NA","shipmentId":"...","operation":"CONFIRM"}'
Display Rules
- 先看网关
developerProxy.errcode/httpStatus,再解析脚本附加字段(如batchInventory、shipments、invoice)。 - batchInventory 成功时常为 207 Multi-Status;逐条看
responses[].status。 - 多数写操作成功可能为 204(无 body);stdout 会标
success: true。 - 发票/面单文档多为 Base64 或预签名 URL,勿把整段大 base64 反复贴进上下文。
- 路径白名单:若返回 1005,需后端放行
externalFulfillment/前缀。
Important Limitations
- 权限:Direct-to-Consumer Shipping (Restricted);商家需 allowlist。
- 写库存为绝对值发布,非增量;只同步有变化的 SKU;SKU 特殊字符需 URL 编码(脚本已处理简化入参)。
- 与
linkfox-amazon-store-orders(普通 Orders)、linkfox-amazon-store-feeds(Feed 改库存)、linkfox-amazon-store-report(库存报告)边界不同,勿混用。 - Seller Flex 上
retrieveShippingOptions常返回空;Easy Ship 全球多数站点可能不支持generateInvoice(印度除外)。 - 返回结构以 Amazon schema 为准;详见
references/api.md。
Amazon SP-API 接口保护与重试指引
同一店铺连续收到 Amazon SP-API 的 400、403、404 或 429 时,网关会返回 450、453、454 或 459 并短暂冷却。这些自定义状态码不是 Amazon 原生状态,也不表示封号;目的是避免持续异常或高频调用扩大店铺风险。
| 状态与 message | 范围 | 触发与冷却 | 处理 |
|---|---|---|---|
450:400,请求异常,请优化您的参数 |
店铺+接口 | 60 秒内超过 3 次:5 分钟;10 分钟内超过 4 次:20 分钟 | 停止原参数重试,检查必填字段、marketplace、ID、日期和请求体 |
453:403,店铺未授权,请先授权 |
店铺全部接口 | 60 秒内超过 2 次:5 分钟;10 分钟内超过 4 次:30 分钟 | 停止该店铺调用,检查授权、权限、店铺归属和区域 |
454:404,资源不存在,请优化您的参数 |
店铺+接口 | 60 秒内超过 3 次:5 分钟;10 分钟内超过 4 次:30 分钟 | 确认资源 ID、所属店铺/站点、资源状态和接口路径 |
459:429限流中,请降低频率 |
店铺+接口 | 首次:15 秒;2 分钟内超过 2 次:30 秒;3 分钟内超过 4 次:2 分钟 | 降低并发、分页和轮询频率并逐级退避 |
- 立即停止自动或并发重试,不得通过换脚本或重复创建任务绕过保护;优先遵循
retryAfter、blockedUntil,没有时按表中时长说明。 - 450/453/454 必须先修正参数、授权或资源标识,冷却后最多谨慎重试一次;再次触发则停止调用。453 期间停止该店铺全部 SP-API。
- 保留已有
reportId、feedId等任务 ID;写操作结果不确定时先查询状态,不直接重放。 - 向用户先说明店铺保护,再给原因、处理和等待时间。可回复:“为保护您的亚马逊店铺安全,检测到 Amazon SP-API 连续返回{原因},当前已进入短暂保护。请先{处理动作},预计{等待时间}后再试;这不代表封号,也不是套餐或算力限制。”不要只说“LinkFox 限流”或“服务器繁忙”。
算力消耗规则
不消耗算力(以网关实际计费为准;若网关计费则按算力规则处理)。
Feedback: 见 references/api.md,skillName:linkfox-amazon-store-external-fulfillment。
更多跨境 skill:LinkFox Skills
Use this skill
Connect your agent to the Skill Store MCP server and ask for it by ref: linkfox-ai/linkfox-amazon-store-external-fulfillment-32999569980.
Details
- Publisher
- linkfox-ai
- Category
- Business › Orders, shipping & inventory
- License
- MIT
- Updated
- 2026-10-16
References
More from linkfox-ai
- Linkfox 1688 Procurement 1688采购全流程技能。用于1688授权链接、授权店铺检查、收货地址、商品SKU、下单预览、创建订单、支付链接、订单状态、物流、物流轨迹、取消订单、确认收货、开发票等已授权采购履约场景。用户提到…
- Linkfox 1688 Product Detail 1688 商品详情查询。通过 offerId 获取商品标题、属性、SKU/库存、1 件零售价、2 件及以上批发阶梯价、外币价、起批量、图片/视频、物流包装、供应商服务、混批、发票与证书等采购信息…
- Linkfox 1688 Search By Image 1688平台以图搜图,通过商品图片精准检索外观相似或同款的1688货源,返回标题、价格、起批量、月销量、复购率、交易评分等核心数据。当用户提到1688以图搜图、1688找货源、以图找同款、跨境找…
- Linkfox Aba Intelligent Query 亚马逊ABA(品牌分析)搜索词数据的查询与分析,涵盖15个站点近3年的周维度数据。当用户提到ABA数据、亚马逊搜索词分析、关键词挖掘、搜索排名趋势、市场机会分析、季节性关键词、高点击低转化分析、…