每日整理真实提问 356 个问题 · 726 个回答 需要系统性的技术文档?看 Shopify 技术百科 1000 篇 → 400-873-8117
已解决 提问于 7 天前

商品推荐位想做「买了又买」,接口怎么用

2 个回答 1,960 次浏览 Headless 与 Hydrogen 最后活跃 7 天前
17

想在商品页加「看了又看」和购物车加「搭配购买」,官方接口能直接返回吗?试了下 productRecommendations 返回空数组。

泽
阿泽提问者
前端工程师 · Hydrogen / Storefront API
7 天前提问 · 已收到 2 个回答

2 个回答

已采纳 · 提问者确认解决
77

接口是现成的,但返回空多数是「店铺数据不足」或「intent 传错」。推荐依赖销售与浏览数据,新店或商品少的时候本来就没有可推的。

1处理顺序

  1. 用 productRecommendations(productId: $id, intent: RELATED),intent 四选一:RELATED(相似)、COMPLEMENTARY(搭配)、UPSELL、COMPLEMENTARY 用于购物车场景。
  2. scope 要够:Storefront API 需要 unauthenticated_read_product_recommendations,Admin API 用 read_products 查不到推荐。
  3. 返回空的三类原因:商品是草稿或未发布到该渠道、店铺近 30 天无足够订单、商品属于同一 collection 但无关联行为。
  4. 主题站直接用 recommendations 对象(recommendations.products),它内部就是这套接口,不用自己写 GraphQL。
  5. 兜底:数据不足时按 collection 或标签取同类商品,用 metafield 手工配置「搭配商品」列表,比空着好。

缓存要按商品 + 市场分别存,推荐结果会随市场和库存变化。Headless 站点如果把推荐结果缓存在 CDN 上,注意剔除已下架商品。

验收:商品页与购物车各返回 4–8 个不重复商品,下架商品不出现,切市场后货币与可售状态正确。
风 风格技术团队 · Shopify 官方合作伙伴 · 11 年建站经验 · 7 天前
7
主题站的 recommendations 对象需要先用 Section Rendering API 或 JS 异步取,别指望首屏直出——它是懒加载的,这点经常被误会成接口坏了。
陈 陈工 · Shopify 认证开发者 · 专注主题与 Liquid · 7 天前

你的处理方式是什么?

写下你实际验证过的步骤,比「我也有这个问题」有用得多。当前版本为静态展示,提交后会由团队整理并回复。

描述你遇到的现象、店铺环境(主题 / 套餐 / 应用)、已经试过哪些操作……
我要单独提问 工作日 10 分钟内回复,可直接加微信 fenggejishu