展示您的 Shopify 商品和购买记录。

Social Stream Ninja 中的 Shopify

通过图片、价格、易读链接和二维码推广公开商品。接收经过签名的已付款订单通知,作为 购买 提醒,显示在活动流、多类型提醒和 Event Flow 中。商品推广独立于付款提醒运作。

连接购买 · 导入商品 · OBS 叠加层 · 安全测试 · 限制与故障排查

可用性: 自动提醒要求在 SSN API 上部署并启用 Shopify 接收器。如果接收器不可用,保存设置会报告错误,且不会启用 Shopify。公开商品导入和手动推广可独立工作。本指南描述的是集成代码;在声称线上服务已验证之前,仍需真实商家测试。

连接已付款购买

  1. 在 Shopify 中,打开 设置 → 通知 → Webhooks。找到为手动创建 Webhook 显示的签名密钥。这与 Storefront 令牌不同。
  2. 在 SSN 中打开 变现 → Shopify 购买 → 设置。输入永久的 your-store.myshopify.com 域名和 Webhook 签名密钥。启用 Shopify 购买,然后点击 保存设置.
  3. 点击 复制接收器 URL。在 Shopify 中创建 Webhook,事件选择 订单付款,格式为 JSON及该接收器 URL。选择受支持的稳定 Webhook API 版本;此集成根据 2026-07 订单约定开发。
  4. 保存 Shopify Webhook。保持 SSN 运行以处理购买。接收器会先验证原始请求体 HMAC 和匹配的商店,再接受订单数据。
SSApp Shopify 设置,显示商店域名、已清除的签名密钥、接收器 URL 和状态
使用隔离示例商店的真实 SSApp。选择截图可放大。

签名密钥在 SSN 接收器上加密,保存后从输入框清除。单独的私有读取密钥保留在此设备上。两者都不会包含在 OBS 链接或观众二维码中。Shopify 使用专用接收器;无需开启旧版远程 API 控制开关。

生成 URL 表示配置已保存,不代表 Shopify 已投递任何内容。状态会区分等待、已验证测试、已跳过事件和已收到购买。更换商店前需先断开连接。关闭 Shopify 会暂停本地处理;断开连接会删除其接收器和排队事件。断开连接时,请移除对应的 Shopify Webhook。

Shopify:手动创建 Webhook · Shopify:验证投递

导入公开商品

  1. 输入您的 myshopify.com 域名,填入 Shopify 设置。导入商品无需启用购买提醒或输入签名密钥。
  2. 展开 导入商品,粘贴公开商品 URL,并点击 加载商品详情.
  3. 如果无需令牌的访问无法获取商品,请提供 公开 Storefront 令牌。Shopify 的 Headless 渠道可以创建令牌。将商品发布到该店面和在线商店。不要粘贴 Admin API 令牌或私有 Storefront 令牌。
  4. SSN 打开现有的 商品与支持链接 编辑器,其中包含 Shopify 返回的标题、图片、价格和规范公开链接。检查这些内容,然后点击 添加商品或链接,启用目录并 保存设置.
共享商品编辑器中导入的 Shopify 商品名称、图片 URL、价格和规范公开链接
商品示例详情已加载到共享编辑器,可在保存前检查。

导入通过 Storefront API 每次读取一个商品。令牌为可选,仅用于该次请求,随后清除。Shopify 的规范在线商店 URL 将作为公开链接,包括 Shopify 返回的自定义域名。不可用商品以及没有公开在线商店链接的商品会被排除。

只有商品各变体最低价和最高价相同时,才会填入价格。否则留空;只有能准确描述商品时,才自行选择具体价格。导入信息是快照,不会持续同步库存或价格。商店更改时请检查。您也可以随时改用手动商品输入。

Shopify Storefront 身份验证 · 商品查询 · 使用 Headless 创建公开令牌

使用现有叠加层

位于 叠加层链接:,选择 商品与支持链接。使用 仅商品展示 显示图片、价格和二维码, 仅支持卡片 显示小型常驻或定期商店链接,或使用 仅活动提醒 显示购买。将每个需要的 OBS 链接复制到独立浏览器来源,初始尺寸为 800 × 600。

将可选的提醒来源筛选器设为 shopify 使通用变现叠加层仅显示 Shopify 活动。为该通用视图启用商品与支持链接。现有多类型提醒和活动流会独立于商品目录接收 Shopify 购买。

Shopify 购买提醒,显示匿名买家和公开商品标题
通过本地签名接收器收到已付款购买,并由 SSApp 显示。客户身份保持私密。

商品卡片链接到公开商品页面。使用 复制公开链接 在聊天中分享可点击地址,并用手机按最终直播画面尺寸测试二维码。购买提醒不会借用无关轮播商品的二维码或图片。订单 Webhook 不提供可靠的商品图片 URL,因此购买提醒使用文字;导入的推广卡片可以显示图片。

在 Event Flow 中,将事件类型选为 purchase 并将来源/类型筛选为 shopify。比较 meta.commerce.orderTotal 设置订单金额规则,并检查 meta.commerce.currency ,然后再比较金额。这些是购买:不会发出 hasDonation 或 donoValue ,打赏目标也不会增加。标为礼物的推广卡片不会改变订单事件的分类。寄送给其他人并不能证明是送给创作者的礼物。

安全预览与测试

预览示例 打开不连接会话的隔离示例叠加层。它不会触发 Event Flow、改变总额或验证付款。

明确标记为以下状态的 Shopify 订单: test: true 会被确认接收,并在接收器状态中显示为测试,不产生购买提醒或操作。缺少测试标志、未付款/部分付款订单、已取消订单、总额为零以及过旧或无效时间戳也会被跳过。端到端测试请使用开发商店。缺少可信测试标志的管理员示例不应发送到正在运行的奖励流程中;检查外观时,SSN 预览才是安全方式。

未使用商店时我们检查的内容

隔离测试涵盖通过真实 SSApp 运行时进行的实际 HTTP 投递,包括签名 Unicode JSON、篡改签名、重复投递、测试订单隔离、币种精度、超大请求、移除私密客户数据和离线恢复。这些检查不会下单,也不需要商家账号。

生产环境的 Shopify 接收器仍处于禁用状态,等待真实商店投递测试。手动商品推广可以独立使用。Shopify CLI 示例 Webhook 有助于测试载荷处理,但不能验证订阅或重试,且仍需要应用凭据。参见 Shopify CLI Webhook 测试限制.

投递限制与故障排查

  • 接收器不可用: SSN API 运营者必须部署并启用 Shopify 接收器。参见 服务器设置。不要使用旧版未签名的会话 Webhook URL 代替。
  • 等待事件: 核对订单付款、JSON、准确的接收器 URL、匹配的永久商店域名以及该 Webhook 的签名密钥。自定义应用的 Webhook 使用该应用的签名密钥,不是手动通知密钥。
  • 已签名事件被跳过: 此集成要求总额为正且已全额付款的订单, test: false 以及经过签名的请求体 updated_at 在过去七天内(允许时钟最多提前五分钟)。它不会根据订单创建、履约或库存来推断付款。
  • SSN 曾处于离线状态: 已接受事件最多排队保存七天。重新启动 SSN 可继续处理。接收器重启后,状态和待处理任务仍会保留。服务的存储容量有限,无法持久保存排队任务时,会要求 Shopify 重试。
  • 重复内容: 接收器按商店/订单去重,即使 Shopify 投递 ID 不同也是如此。去重记录保存七天。SSN 在确认前持久保存已处理 ID。外部操作执行后、保存前发生崩溃,仍可能导致操作重复;对有实质影响的自动化,请使用自己的幂等保护。
  • 缺少买家姓名: 这是有意设计的。SSN 排除客户姓名、电子邮件、地址、订单备注、订单项目自定义属性、结账 URL 和原始订单 ID。公开商品标题保持为纯文本。
  • 退款或订单更改: 这是实时提醒流,不是会计或履约系统。退款、取消和修改总额不会撤销先前提醒。不包含订单历史对账或自动移除商品功能。

请参阅 Shopify 事件约定 和 共享商品与二维码指南.