PuppyIP 资源中心
跨境电商开发 8 分钟 发布于 2026-10-27

Shopify Catalog API beta 可搜站外品牌:美国范围、结账与数据限制

如果你的应用用 Shopify Catalog API 做站内搜索或推荐,现在可以请求 Shopify 商家商品、站外品牌商品,或两者一起返回。但 beta 目前只向美国购物者返回站外商品;它们必须链接到品牌网站,也不能使用 Shopify 结账或 Promoted Placements。

Shopify Catalog API Catalog API beta 站外商品 search_catalog 商品搜索

服务对象与地域限制

PuppyIP 仅面向海外合规企业及其授权人员提供服务,不面向中国大陆地区开放或提供代理服务。本服务仅限用于中国大陆境外的合法业务活动,严禁在中国大陆境内使用本服务。

代理 IP 或服务器位于境外,不改变上述限制。不得通过中转、转接、共享或转售向中国大陆境内的最终使用者提供本服务。使用前请阅读用户服务协议。

本文要点

  • 在 search_catalog 请求中使用 catalog.sources;省略该字段或只选 shopify 时,现有商家商品搜索不需要改动。
  • Shopify 公告说明 beta 的站外商品只向美国购物者返回;其他国家/地区的搜索仍只返回 Shopify 商家商品。
  • 站外商品的完整详情和购买都在品牌自己的网站完成,Shopify 结账与 Promoted Placements 佣金均不适用。
  • 启用来源筛选前要确认 API 版本和 Shopify 对 API client 的启用状态;展示站外结果还须遵守来源标注、链接、数据留存和再利用限制。

这次 beta 增加了什么?

Shopify 于 2026 年 10 月 27 日说明,Catalog API beta 的 search_catalog 现在可通过 catalog.sources 选择结果来源。默认仍是 Shopify 商家商品;你也可以只搜站外品牌商品,或把两种来源放进同一组结果。

按 Shopify 当前开发者文档,来源值为 shopify 和 external。省略来源或只选 shopify,保留原有搜索范围,不要求现有调用迁移。get_product 可用站外商品 ID 读取商品;本次变化仍围绕 search_catalog 的来源筛选。

请求来源前,先核对 API 版本和启用状态

Shopify 开发者文档注明,catalog.sources 需要 2026-08-25 版本或 draft,并且 Shopify 已为该 API client 启用此能力。对尚未启用的 client,search_catalog 可能忽略请求中的来源字段;返回的商品变体也可能没有 source 字段。

如果请求中带有已保存 catalog 的 catalog_id,该 catalog 配置的 sources 会成为默认值和允许范围。请求中超出已保存配置的来源可能被丢弃,所以排查结果缺少 external 时,要同时看 API 版本、client 启用状态和保存的 catalog 配置。

站外商品现在覆盖哪些购物者?

Shopify 的 10 月 27 日公告说,beta 站外商品只会在购物者位于美国时返回。其他国家/地区的搜索会继续返回 Shopify 商家商品,不应把它写成全球覆盖。

Shopify 开发者文档补充,站外商品由品牌自己的网站提供数据,商品完整页面仍在品牌网站。当前覆盖范围、商品是否仍在售及页面价格,都应以 API 当前结果和品牌网站为准。

站外商品在哪里结账,能拿到佣金吗?

站外商品的变体包含品牌商品页 URL,eligible.native_checkout 固定为 false,也没有 Shopify checkout_url。用户查看完整商品信息并购买时,应前往该品牌自己的商品页;不要为这类结果创建 Shopify 购物车或结账流程。

站外商品不符合 Promoted Placements 资格,也没有佣金。若要呈现 Promoted Placements 商品,必须依据 Shopify 返回的 placement 字段和相应的项目资格单独处理,不能把 external 结果视为 Shopify 商家的推广商品。

展示结果时有哪些数据使用限制?

展示每个站外商品时,要让商品卡片或标题链接到 variants[].url,并准确标出卖家名称;空间允许时也显示卖家域名。不要把站外商品描述成由 Shopify 销售、赞助或背书。

Shopify 说明站外商品数据只可在响应购物者请求时用于你自己的应用或页面展示。不得转售、批量导出、同步进第三方目录或用于训练、微调、评估机器学习模型;也不得把商品长期保存到当前购物会话之外。不要把外部字段拼成品牌商品详情页的仿制页面,也不要放进提供给他人的 feed、数据集或索引。

外站商品图片只能按响应中的 HTTP 缓存规则展示或缓存,也只能用于呈现对应商品。不得另行托管、镜像、裁剪、编辑、加覆盖层或水印、去除品牌标识;图片失效时也要能正常处理。

站外商品价格可能缺失,或只是品牌网站最近一次刷新时观察到的价格;available 也不代表当前有库存。展示前应提示用户以品牌网站为准,并在后续请求中重新查询,不要把缓存字段当作实时库存承诺。

上线前按这四项检查

第一,确认目标 API client 已获启用,并使用支持 catalog.sources 的 API 版本。第二,检查请求来源是否被 saved catalog 的配置限制。

第三,将 Shopify 商家商品和 external 商品用 source 字段区分;站外结果展示卖家身份,并使用 Shopify 返回的品牌商品页 URL。第四,禁止把站外商品加入 Shopify 结账、推广佣金、对外数据源或模型训练流程。

资料来源

常见问题

不传 catalog.sources 会改变现有结果吗?

不会。Shopify 公告说省略该字段时,结果仍限于 Shopify 商家商品,现有请求不需要修改。

站外商品能用 Shopify checkout 或 Shop Pay 吗?

不能。站外商品的 eligible.native_checkout 为 false,完整商品页和购买流程都由品牌自己的网站提供。

为什么美国以外的搜索没有站外商品?

Shopify 公告说明,beta 目前只对美国购物者返回站外商品。其他国家/地区的搜索仍返回 Shopify 商家商品。

站外商品可以保存到自己的目录或用于模型训练吗?

不可以。Shopify 的使用要求限制为响应购物者请求时在自有体验中展示,不允许再分发、长期保留或用于模型训练、微调与评估。