Shopify流程中的变量
本页打印于2023年1月12日。当前版本请访问https://help.shopify.com/en/manual/shopify-flow/reference/variables。
变量是占位符,在工作流运行时被值替换。这些变量描述了工作流中涉及的客户、订单和产品的属性。例如,有订单号、订单价格、客户名称等变量。
Flow使用不同于Shopify主题的Liquid版本,并且可以通过GraphQL管理API.
大多数变量的名称是自描述的。例如,显示产品名称的变量为{{产品。标题}}
.当消息发送时,这个变量被替换为订购产品的名称:大咖啡杯
.
向动作添加变量
属性的任何文本字段都可以添加变量添加变量链接。单击添加变量链接到相关字段下面,然后从列表中选择一个变量。
的变量添加变量列表进行筛选,以便您只能看到应用于所选触发器的变量。从列表中选择变量后,它将被正确格式化并添加到文本框中。
Flow几乎支持所有GraphQL管理API字段。
液态变量
如果您是具有编写Liquid代码经验的开发人员,则可以使用Liquid编写变量或编辑使用添加变量链接。要了解更多,请参阅GraphQL管理API参考.
您可以手动添加Liquid变量标签到您的工作流消息。您可以使用这些标记在邮件中包含更多信息。
例如,你可以使用afor循环
对象来遍历对象列表,例如订单的行项目。使用这些标记,您可以创建包含详细信息的消息,例如产品名称、SKU、价格和订单中每个行项目的数量,并使收件人不必在Shopify管理中查找这些信息。
Flow支持以下Liquid条件(或控制流)标签:
Flow还支持以下Liquid迭代标签:
过滤器
流量支持以下液体过滤器:
变量的例子
例如,您希望创建一个工作流,以便在客户在订单上花费超过500美元时向员工发送电子邮件。方法创建工作流订单创建触发器,设置一个条件,如果订单总额超过$500则为真,然后使用发送内部邮件行动。在消息部份发送内部邮件操作,使用以下变量。
使用变量提供客户详细信息的示例。
输入 |
输出 |
请向{{order.customer. firstname}} {{order.customer. lastname}}({{order.customer.email}})发送个人感谢信,感谢您为$ {{order. totalpriceset . shopmoney .amount}}下订单。 |
请向Jeanne Dupont (jeanne@example.com)发送个人感谢信,感谢她下了763.42美元的订单。 |
当产品库存越来越低,需要订购更多库存时,您决定通知工作人员。创建的工作流以OB欧宝娱乐APP库存数量变更触发,并设置一个条件,如果之前的库存数量小于或等于10则为真。在消息部份发送内部邮件操作,使用以下变量。
使用变量提供项目详细信息的示例。
输入 |
输出 |
请重新订购{{产品。标题}}。给owner@store.com发邮件确认他们已经收到了采购订单。 |
请重新订购高腰紧身裤-黑色。给owner@example.com发邮件确认他们已经收到了采购订单。 |
您希望取消具有较高风险级别的订单,但希望由您的员工手动取消订单。创建的工作流以OB欧宝娱乐APP订单创建触发,并设置一个条件,如果订单的风险级别等于高,则该条件为真。在消息部份发送内部邮件操作,使用以下变量。
使用变量提供欺诈订单信息的示例。
输入 |
输出 |
我们的Shopify商店收到了一个欺诈风险很高的订单。我们想马上取消这个订单,在它被送到生产之前:
{{order.name}} {{order.billingAddress.lastName}}, {{order.billingAddress.firstName}} {{秩序。电子邮件}}
请确认新的订单状态谢谢! |
我们的Shopify商店收到了一个欺诈风险很高的订单。我们想马上取消这个订单,在它被送到生产之前:
# 1001 杜邦,珍妮 jeanne@example.com
请确认新的订单状态谢谢! |
For循环的例子
当收到订单时,发送包含所订购产品的消息是很有用的。您可以通过使用for循环
,重复执行一个代码块。支持变量的文本字段也支持For循环和forloop对象.
例如,您希望创建一个工作流,该工作流按顺序返回所有sku和数量的列表。在消息部份发送内部邮件操作,使用以下变量。
使用for循环提供订单信息的示例。
输入 |
输出 |
订单汇总: {%为a的顺序。lineitem %} SKU: {{a.sku}}( {{a.quantity}} ), {% endfor %} |
订单汇总: 8987097979 (50) 8877778887 (3) 888998898 b (1) |
您决定向电子邮件添加更多信息,包括产品名称、sku、每件商品的价格和客户的运输信息。在消息部份发送内部邮件操作,使用以下变量。
for循环的示例用于提供更广泛的订单信息。
输入 |
输出 |
订单汇总: {%为a的顺序。lineitem %} 产品:{{a.title}} SKU: {{a.sku}} 价格(每单位):$ {{a.originalUnitPriceSet.shopMoney.amount}} 数量:{{a.quantity}} {% endfor %} |
订单汇总: 产品:高腰紧身裤-黑色 SKU: 8987097979 单价:8.49美元 数量:5 产品:运动袜-蓝色 SKU: 888998898 b 价格(每件):5.61美元 数量:2 |
您需要跟踪由特定供应商提供的销售项目。在消息部份发送内部邮件操作时,使用以下变量并包含如果
在你的for循环
.
for循环和if语句用于为特定供应商提供订单信息的示例。
输入 |
输出 |
Acme产品销售: {%为x。lineitem %} {% if x.vendor == 'acme-vendor' %} 产品名称:{{x.title}} SKU: {{x.sku}} {% endif %} {% endfor %} |
Acme产品销售: 产品名称:高腰紧身裤-黑色 SKU: 8987097979 |
Shopify Flow中的复杂数据对象
Shopify Flow不支持输出数组和对象,原因如下:
- GraphQL API不推荐输出不需要的数据,它可能会创建较大的查询大小,导致工作流失败。
- 当引入新特性时,会添加新的API字段,这可能会破坏您的工作流程。
如果自动发送的数据太多,工作流就会失败。不是直接调用数组和对象,而是遍历数组并只包含所需的字段。
例如,不打电话{{秩序。李neItems }}
直接使用以下格式调用特定字段。这些示例包括了通过直接调用数组或对象将包含的所有字段。复制并粘贴所需的字段。