预览 Shopify Flow 中使用的 API 数据

大多数工作流程都会访问您商店中的数据,以便您可以在条件和操作中使用这些数据。Shopify Flow 通过调用 GraphQL Admin API 来访问商店数据,使您能够访问该 API 中的几乎所有字段。

在构建工作流时,您经常会遇到基于 API 的字段名称和描述,但您可能需要了解该数据的值。例如,您可能想知道通过草稿订单创建的订单的应用名称。此外,您可能想确保您的工作流输出您期望的数据,或以您期望的形式输出数据。

要在 Shopify Flow 中查看数据的值,您有多种选项。

在 Shopify 后台中查找字段

在大多数情况下,您可以通过查看 Shopify 后台来查找数据。例如,product.title 会列在产品页面上。

获取示例数据

构建工作流时,您可以直接在 Flow 编辑器中获取示例数据。由于 Flow 的数据来自事件,因此为了获取准确的示例数据,您必须先选择一个相关事件:

  1. 在 Flow 编辑器中,打开要使用数据的操作,然后点击添加变量。或者,在条件中,点击添加条件
  2. 点击配置示例数据
  3. Flow 会根据工作流的触发器显示以前的事件。点击刷新事件以从最近的运行中获取事件,或者点击开始侦听实时事件,然后在后台或相关应用中手动触发事件(对于基于应用的触发器)。
  4. 事件发生后,Flow 将显示有关该事件的详细信息。选择要用来获取示例数据的事件。点击使用此触发器事件
  5. 现在,当您浏览事件时,系统应会显示每个变量的示例数据。

限制:

  • 由于空间限制,对于列表中的数据,Flow 将仅显示列表中第一项的数据。
  • 对于每个工作流,Flow 一次最多可存储 5 个事件。
  • 对于某些触发器(例如“计划时间”、“已创建元对象条目”、“客户加入细分”或“客户离开细分”),Flow 无法从最近的运行中获取事件。

在实时工作流中使用该字段

您可以利用记录输出操作在工作流中安全地使用字段。当您运行工作流时,记录输出操作会将任何变量和文本的输出打印到运行历史记录页面。您还可以使用通知操作,例如发送内部电子邮件

使用“记录输出”的步骤:

  1. 选择可以手动触发的触发器。
  2. 记录输出操作添加到工作流并将其连接到触发器。
  3. 记录输出配置中,点击添加变量,将要检查的变量添加到输出部分。
  4. 完成后,点击启用工作流
  5. 通过手动运行或触发触发器来触发工作流。例如,如果您使用的是已创建订单触发器,则请创建一个测试订单。
  6. 工作流运行后,请检查活动日志以了解变量情况。

参考资源 JSON 页面

Shopify 后台中的大多数资源页面(例如订单产品客户页面)都允许您查看为该页面提供服务的数据。此数据的命名和格式与 Shopify Flow 使用的不完全相同,但其值与 GraphQL Admin API 中的值匹配。若要查看数据,请将 .json 添加到 URL。

例如,通过在 Shopify 后台中转到订单页面并点击某个订单来导航到该订单。在浏览器的地址栏中,将页面地址从以下内容进行更改:

https://https://admin.shopify.com/store/<shopname>/orders/3804849891234

更改为以下内容:

https://https://admin.shopify.com/store/<shopname>/orders/3804849891234.json

使用 GraphiQL 或第三方 API 工具

您可以使用第三方 API 工具(例如 Postman)或 Shopify 免费提供的工具 GraphiQL 直接查询 API。此选项可提供最准确的结果,但需要您对创建 GraphQL 查询有一定的了解。

对于 GraphiQL,Shopify 既提供具有通用数据的网页版 GraphiQL 浏览器,也提供 GraphiQL 应用。借助 GraphiQL,您可以构建与 Shopify Flow 中的字段名称完全匹配的 GraphQL 查询。如果您使用该应用,这些值也与您商店中的值完全匹配。

通过使用此工具,您可以使用真实的商店数据准确地确定 Shopify Flow 使用的数据。例如,您创建以下查询:

{
  orders(first:5, reverse:true) {
    nodes {
      createdAt
      app {
        name
      }
      channelInformation {
        app {
          title
        }
      }
    }
  }
}

在以下结果中,变量 order / app / name 会显示订单的应用名称。在这种情况下,订单是通过草稿订单应用创建的,因此值为 Draft Orders。渠道信息仅适用于 Point of Sale 应用。

{
  "data": {
    "orders": {
      "nodes": [
        {
          "createdAt": "2023-04-10T12:32:41Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-04-10T12:29:12Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-03-17T20:23:10Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-03-17T20:20:53Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-03-17T15:45:15Z",
          "app": {
            "name": "Point of Sale"
          },
          "channelInformation": {
            "app": {
              "title": "Point of Sale"
            }
          }
        }
      ]
    }
  }