跳过安装。2 分钟内即可运行。
在 cloud.anythingmcp.com 开始免费试用,一键添加 noon Marketplace,然后将你的 AI 客户端(Claude、ChatGPT、Copilot 或 Cursor)指向生成的 MCP 端点。无需 Docker,无需 git clone,无需任何工程经验。
摘要
通过 noon Partner API,从 AI 智能体在 noon.com(阿联酋、沙特阿拉伯、埃及)上开展销售:仓库、商品目录内容和商品组、报价、价格、库存、FBPI 订单和发货、采购订单、退货查询以及批量导出。使用服务账号和签名 JWT 登录;价格、库存、商品和订单的写入操作在安装时处于关闭状态。
试试这样问
noon Marketplace 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → noon Marketplace、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
noon Marketplace
通过 noon Partner API,从 AI 智能体在 noon.com(阿联酋、沙特阿拉伯、埃及)上开展销售:仓库、商品目录内容和商品组、报价、价格、库存、FBPI 订单和发货、采购订单、退货查询以及批量导出。使用服务账号和签名 JWT 登录;价格、库存、商品和订单的写入操作在安装时处于关闭状态。
设置
设置大约需要 5 分钟。你需要一个能登录 noon Partner 门户的 noon.com 卖家账号(阿联酋、沙特阿拉伯或埃及),以及一个用于 noon Partner API 的服务账号密钥。
- 登录 noon Partner 门户,打开 Access App(或 User & Access > User access),然后点击左侧边栏中的 API Users。
- 点击 Add Service Account,输入显示名称和用户名,并选择一个角色。只用读取工具时,Project Viewer 就够了;写入工具需要能修改商品目录、价格、库存或订单的角色(Project Owner 拥有全部权限)。你可以把密钥限制在特定 IP 地址并设置有效期;不设置的话,它可以从任何 IP 使用且永不过期。每个合作伙伴只能创建一个服务账号,最多五个密钥。
- 点击 Add 后会下载一个
.json密钥文件。它只显示一次;如果丢失,请创建新密钥。 - 复制该文件中的三个字段:
key_id填入NOON_KEY_ID,private_key填入NOON_PRIVATE_KEY,project_code填入NOON_PROJECT_CODE。私钥是完整的 PEM,从-----BEGIN PRIVATE KEY-----到-----END PRIVATE KEY-----;可以粘贴成一行,并原样保留文件中的\n序列。 - 安装连接器并运行
noon_marketplace_whoami:它会显示会话所属的服务账号(用户代码和用户名)。
登录方式:没有固定的 API 密钥。每次登录时,连接器都会用你的私钥签发一个新的 RS256 JWT(以密钥 ID 作为 subject,包含当前时间和一个随机令牌 ID),并连同项目代码发送到 noon 的登录端点。noon 返回会话 Cookie,之后每次调用都会带上它们。会话有效期为 30 天;连接器会在到期前以及任何调用返回 401 时重新登录。此外,每个请求都带有 X-Project 请求头,值为你的项目代码,这是 noon 内容 API 的要求。
标识符:partner_sku 是你自己的 SKU,在你的所有商品中唯一;价格、库存和报价都以它为准。sku_parent(以 Z 开头)是 noon 为包含所有变体的商品分配的 ID,用于内容和商品组。noon SKU(sku,以 N 开头)和 psku_code(以 P 开头)标识单个变体。warehouse_code 来自 noon_marketplace_list_warehouses;FBPI 订单和发货属于某个集成仓库。country_code 为小写的 ae、sa 或 eg,价格按 SKU 和国家设置,币种为 AED、SAR 或 EGP。订单和发货通过 fbpi_order_nr、mp_item_nr(订单中的一个商品行)以及你自己的 integration_shipment_nr 来识别。
可读取的内容:服务账号和你的仓库;noon 商品目录的所有类目代码,以及某个类目要求的属性和属性值的校验规则;商品内容的完整度、QC 状态以及未上线的原因;商品组(在同一页面一起展示的变体);某个 partner SKU 在各个国家的报价,包括价格、库存、上线状态和导致报价下线的问题;按 SKU 和国家的价格、MSRP(划线参考价)和启用状态;按仓库和 SKU 的库存;FBPI 订单(由你自己的仓库履约)及其商品行、订单的顾客和发货;采购订单;按 AWB 单号或退货条码查找的退货商品;以及商品目录导入的状态。有几个读取操作是带 JSON 请求体的 POST 请求,这是 noon API 的设计方式;它们不会更改任何内容。
批量导出和 AWB:noon_marketplace_list_export_categories 列出可导出的报表类型,noon_marketplace_create_export 启动导出,noon_marketplace_get_export_status 显示文件何时就绪及其 download_url。noon_marketplace_generate_awbs 为交给 noon 快递的包裹生成 AWB(空运单)号码。两者都不会更改数据,因此保持开启。
安装时关闭:noon_marketplace_upsert_product、noon_marketplace_upsert_product_group、noon_marketplace_upsert_prices、noon_marketplace_update_stock、noon_marketplace_mark_items_unavailable、noon_marketplace_create_shipment 和 noon_marketplace_cancel_shipment。价格、库存、商品、订单和发货的写入会改变顾客看到和购买的内容(在售价格、可售数量、已发布的内容),或作用于真实订单,其中一些无法撤销:把商品标记为缺货会为顾客取消这些商品,取消发货会取消其中的所有商品。管理员在连接器的工具设置中开启工作区需要的工具。创建发货后,noon 揽收所需的发货清单(manifest)在 Seller Lab 中完成。
批量结果:价格、库存和商品调用即使部分条目失败也会返回 200,所以请检查每个返回条目的状态,只重发失败的条目。noon_marketplace_update_stock 设置的是绝对数量,不会在当前数量上累加。在 noon_marketplace_upsert_prices 中,省略或以 null 发送的字段会保留原值。以 status_id 3 保存的商品存在内容问题,可用 noon_marketplace_get_content 查看。
限制:列表类工具会返回 next_token,AI 会带上它和相同的筛选条件再次调用,直到它为空。速率限制按项目和端点计算,同时检查主窗口和更短的突发窗口:大多数端点每 60 秒允许 1500 个请求,noon_marketplace_list_warehouses 每 60 秒 30 个,突发上限为每 30 秒 15 个。返回 429 时,请等待 X-Ratelimit-Retry-After 请求头给出的秒数;一次批量调用胜过多次单条调用。
常见错误:401 表示登录或会话失败:密钥 ID 和私钥来自不同的密钥文件,密钥已停用或过期,或者服务器时钟与 noon 的时钟相差超过五分钟,导致 noon 拒绝签名令牌。403 PERMISSION_DENIED 表示服务账号没有该调用所需的角色;请在 Partner 门户的 User Access > Manage Role 中添加。400 INVALID_ARGUMENT 会指出字段和原因。价格条目返回 NOT_FOUND 表示该 SKU 在该国家还没有价格记录,请先设置价格。
前提条件: NOON_KEY_ID, NOON_PRIVATE_KEY, NOON_PROJECT_CODE
本地安装连接器
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
打开 http://localhost:3000/connectors/store,选择 noon Marketplace 并填入前提条件中列出的环境变量。
可用工具
| Tool | What it does |
|---|---|
noon_marketplace_whoami | Show which service account the session belongs to (user_code and username) |
noon_marketplace_list_warehouses | List the warehouses of the partner with warehouse_code, display name, fulfillment system code and whether each is active |
noon_marketplace_list_categories | List every product category code of the noon catalog, each a full family-type-subtype path such as electronics-mobiles-smartphones |
noon_marketplace_list_category_attributes | List the attributes a category accepts, with is_mandatory, attribute_type, is_localizable (send EN and AR values), is_multivalued, the… |
noon_marketplace_get_content | Read a product's content by sku_parent: its attribute values, images with review status, and per language the completeness, missing and… |
noon_marketplace_upsert_product | Create a product, or update the one its partner SKUs belong to, in the noon catalog: brand, category, images and attribute values, plus one… |
noon_marketplace_get_product_group | Read a product group (variants shown together on one page): the attribute codes it varies by and its member products with their values for… |
noon_marketplace_upsert_product_group | Create a product group or change one. attribute_codes and sku_parents are FULL lists: what you send REPLACES the current list and anything… |
noon_marketplace_get_product_offers | Show a partner SKU's offers in every country and business model: noon sku, title, brand, and per offer the price and currency, whether it… |
noon_marketplace_get_prices | Read price, MSRP and active state for partner SKUs, one item per SKU and country |
noon_marketplace_upsert_prices | Set the selling price, MSRP (crossed-out reference price) and/or active state of partner SKUs, one item per SKU and country |
noon_marketplace_get_stock | Read the available quantity, processing time and last update time for warehouse and partner SKU pairs |
noon_marketplace_update_stock | Set the available quantity of partner SKUs in your warehouses. qty is ABSOLUTE: it becomes the new quantity noon sells, it is not added to… |
noon_marketplace_list_orders | List FBPI orders (fulfilled from your own warehouse) of one integration warehouse, optionally created within a UTC window, 50 per page |
noon_marketplace_get_order | Read one FBPI order: marketplace and order number, countries, merchant, currency, warehouse, creation time and the items with mp_item_nr… |
noon_marketplace_get_order_customer | Read the customer of an FBPI order: first and last name, city and administrative division, in Latin characters |
noon_marketplace_mark_items_unavailable | Mark items of an FBPI order as out of stock before any shipment is created. noon cancels those items for the customer; the rest of the… |
noon_marketplace_generate_awbs | Generate noon logistics AWB (air waybill) numbers for shipments handed to noon's courier, one per parcel or up to 1000 at once to keep in… |
noon_marketplace_create_shipment | Create a shipment for an FBPI order: your unique shipment number, the AWB (noon-generated or your courier's) and the items in the parcel |
noon_marketplace_get_shipment | Read a shipment by warehouse and your shipment number: its FBPI order, AWBs with courier, and items |
noon_marketplace_cancel_shipment | Cancel a shipment |
noon_marketplace_get_purchase_order | Read a purchase order by number: currency, merchant, warehouse, status (pending or released), release date and the lines with partner SKU… |
noon_marketplace_list_return_references | Find returned items by a barcode (an AWB number or a returns barcode): marketplace, order number, purchase item number, partner SKU… |
noon_marketplace_list_export_categories | List the report types that can be exported (export_category_code) with the params each one takes |
noon_marketplace_create_export | Start an export (a bulk report file) of one export category |
noon_marketplace_get_export_status | Check an export: its status, parameters, who created it, timestamps and, once finished, the download_url of the file |
noon_marketplace_get_import_status | Check a catalog import (barcode, SKU backfill or SKU grouping import): status (pending, processing, completed, failed, partial)… |
示例提示
- “检查我们迪拜仓库中 partner SKU TS-100-BLK、TS-100-WHT 和 TS-100-RED 的库存,并标出低于 10 件的。”
- “查看 SKU TS-100-BLK 在阿联酋和沙特阿拉伯的价格:价格、MSRP、每个报价是否在线,以及是什么让报价下线。”
- “列出我们集成仓库今天的 FBPI 订单及其商品行和状态,并告诉我哪些还没有发货。”
- “告诉我可以导出哪些报表类型,启动我选的那个,并持续检查状态,直到下载链接就绪。”
- “在上架一款新手机壳之前,找到合适的类目代码,并告诉我哪些属性是必填的,哪些需要英文和阿拉伯文两种值。”
下一步
这份指南对你有帮助吗?