负载映射和流变量
Shopify Flow 触发字段是平面字符串。而您的负载很可能不是。映射就是您从传入的请求中挑选工作流程所需部分的方式。
四个领域
每个 Webhook 都会向 Shopify Flow 暴露四个字段:fieldOne、fieldTwo、fieldThree、fieldFour。在**“高级设置**”下,将每个字段分别映射到负载中的一个键。
假设请求正文如下:


{
"orderId": "1001",
"customer": { "email": "someone@example.com", "name": "Alex" },
"note": "gift wrap"
}| 字段 | 映射到 | 达到“Shopify Flow”状态的价值 |
|---|---|---|
fieldOne |
orderId |
1001 |
fieldTwo |
customer.email |
someone@example.com |
fieldThree |
customer.name |
Alex |
fieldFour |
note |
gift wrap |
嵌套值使用点表示法(customer.email)。数组元素使用索引(items.0.sku)。
在 Shopify Flow 中,您将它们分别称为{{fieldOne}}、{{fieldTwo}}等。
对象和数组
如果映射的值本身是一个对象或数组,我们会自动将其转换为 JSON 字符串,因为 Shopify Flow 变量无法存储结构体。将上例中的 fieldOne 映射到 customer 后,Shopify Flow 中的代码如下:
{"email":"someone@example.com","name":"Alex"}当你需要重新使用这些片段时,请在 Shopify Flow 的**“运行代码**”操作中对其进行解析。
当四个字段不够用时
四个命名字段可覆盖大多数集成场景。如果无法覆盖,您还有三个可选开关,均位于**“高级设置**”下,且默认均为关闭状态:
| 设置 | Shopify Flow 接收的内容 | 流动中的田野 |
|---|---|---|
| 允许自定义请求正文 | 接受任何体型,无需严格验证 | - |
| 运用全身 | 整个请求正文作为 JSON 字符串 | rawBody |
| 包含请求头 | 请求头作为键值对列表 | requestHeaders |
| 包含查询参数 | URL 查询字符串作为键值对列表 | queryParams |
requestHeaders queryParams 以列表形式返回 - - 在“运行代码”操作中遍历 requestHeaders.items,其中每个条目都是 { key, value }。
请控制在50KB以内
Shopify Flow 将每次触发器的运行上限设为 50KB。我们会先通过 payload_too_large 测量实际要发送的有效负载大小,并直接拒绝任何超过该大小的请求,这样您就能立即收到明确的错误提示,而非在后续工作流程中才出现失败。
如果出现该问题,请发送较小的请求主体,或者关闭“使用完整请求主体”、“包含请求头”和“包含查询参数”选项 - - 这些通常就是导致问题的原因。
头部信息和查询始终会被记录下来
这些启用开关仅控制转发到 Shopify Flow 的内容。调用历史记录会始终记录请求头和查询字符串(其中敏感值已被屏蔽),因此您无需将所有内容发送至工作流程,即可对请求进行调试。

