电子邮件版式从订单或客户元字段中附加文件

从订单或客户元字段中附加文件

复制页面

通过 Shopify Flow 将另一款应用中保存于订单或客户元字段中的 PDF 文件作为电子邮件附件发送:设置、权限、文件名、空元字段及限制。

许多应用会在订单或客户信息中保存文件:例如来自开票应用的发票或装箱单 PDF、证书、已签署的合同等。Shopify 会将其存储在元字段中,既可以是存储在您的 Shopify Files 中的文件,也可以是该文件的链接。 该应用可将该文件作为附件添加到 Shopify Flow 发送的电子邮件中,而无需您手动上传或添加链接。

工作原理

  1. 另一个应用(或您)将文件或其链接写入订单或客户的元字段中。在您的 Shopify 管理后台中,路径为“设置 > 自定义数据 > 订单(或客户)”:这里可以定义文件类型、URL 类型,或者是一个文本字段,供应用将链接写入其中。
  2. 在电子邮件布局中,您添加附件并选择**“元字段”**作为其来源,然后选择该定义。选择器会显示每个元字段包含的内容:文件、链接,或是两者的列表。
  3. 在Shopify Flow中,“发送交易邮件”或**“发送营销邮件**”步骤包含**“订单**”字段和**“客户**”字段。Flow 会根据触发器自动填充这些字段,因此由_“订单创建_”触发的工作流程已知具体是哪一笔订单。
  4. 当电子邮件发送时,该应用会读取该订单或客户对应的元字段,下载文件(从您的Shopify文件中,或通过链接),并将其作为附件添加。列表元字段会将每个条目作为附件添加。

该布局仅指定了元字段的名称。工作流程会指定是哪一笔订单或哪位客户,因此一个布局即可适用于所有订单。

Shopify Flow 中新添加的“发送交易邮件”步骤,其“订单”字段设置为 order.id,“客户”字段设置为 order.customer.id,位于“收件人”、“抄送”和“密送”字段之上
Shopify Flow 中的该步骤:“订单”和“客户”是从触发器中填充的,这里是一个订单工作流程。在 1.17 之前添加的步骤不包含这些字段;请将其删除后重新添加。

文件和链接

该元字段包含 定义类型 该应用的功能
一个Shopify文件 文件、文件列表 根据您“文件”中的文件路径,下载该文件
一个链接 URL、URL 列表或文本输入框 从该链接下载文件。仅支持 https:// 格式的链接;如果链接无法响应,或者指向的文件类型不是 PDF、图像、CSV 或文本文件,则发送失败,原因如下:

无论哪种情况,大小检查都是在发送邮件时进行的,而不是在编辑器中进行的,因此元字段附件不会计入编辑器中的附件总数。

设置好它

富文本和HTML布局

在编辑器底部的**“附件**”卡片中,点击**“从元字段添加**”。选择**“订单**”或**“客户**”,然后选择相应的定义。该行会显示定义的名称、其包含的内容及其namespace.key;点击“更改”可选择另一个定义。

一个富文本布局中的“附件”卡片,包含“添加附件”、“从 URL 添加”和“从元字段添加”按钮
富文本或 HTML 布局中的“附件”卡片:在“上传”和“URL”按钮旁边的元字段中添加。

视觉布局

添加一个**“附件**”块(或打开一个),并将它的数据源切换为**“元字段”**。**选择“元字段”**会打开相同的选择器。

可视化构建器中的一个附件块,其来源已切换为“元字段”,显示“选择元字段”按钮、文件名覆盖选项以及“可选”复选框
源为元字段的附件块:选择定义、覆盖文件名,并决定空元字段是否会阻止发送电子邮件。
“从元字段附加文件”对话框中,将“订单”选为资源,并在搜索字段下方列出了“发票 PDF(文件)”和“发票 URL(链接)”这两个定义
选择器:先选择“订单”或“客户”,然后是该资源的定义,每个定义下会显示其包含的内容。已选中“发票 PDF”。
选择元字段“发票 PDF”、“文件”、“订单 custom.invoice_pdf”后的附件区块,其中包含“更改元字段”按钮、文件名覆盖选项以及“可选”复选框
选择后的代码块:定义的名称、其包含的内容以及其命名空间.key。选择“修改元字段”会选定另一个。

权限

安装该应用时,它不会访问您的商店数据。当您首次选择订单或客户元字段时,选择器会请求读取该资源的元字段及其所指向文件的权限。Shopify 会显示其自身的同意对话框;点击“更新”后,定义列表即会加载。

您可以在应用的**“权限**”页面上随时查看并撤销每项权限。撤销某项权限后,所有附有该元字段文件的电子邮件都将无法发送,直到该权限再次被授予为止。各项权限的具体含义及不包含的内容,请参见 权限:该应用可以从您的商店读取哪些信息。

“权限”页面中,“订单”和“文件”显示为“已授予”,并带有“撤销”按钮;“客户”和“折扣”显示为“未授予”,并带有“授予”按钮,每项均标注了其适用范围。
“权限”页面:列出了每个可选权限及其作用域,并显示该权限是否已被授予,以及一个用于授予或撤销该权限的按钮。在此处,“订单”和“文件”权限是通过选择器授予的。

文件名

默认情况下,附件会保留文件本身的名称:即您在Shopify文件中看到的名称,或链接的最后一部分。 “文件名”字段会覆盖该名称,并支持 Liquid 语法,例如 invoice-{{ variables.order_name }}.pdf。当列表元字段包含多个条目时,第二个及后续条目会在覆盖的名称后附加 -2、-3。

当元字段为空时

写入文件的应用程序通常在触发器触发后几秒钟才会运行,因此当电子邮件步骤运行时,元字段可能仍然为空。此时的情况取决于附件的**“可选**”复选框:

可选 行为
关闭(默认) 该电子邮件尚未发送。应用程序会指示 Shopify Flow 重试该步骤,Shopify Flow 稍后会重新发送;文件一到位,电子邮件就会立即发出。
关于 该电子邮件未附带此附件。

对于必须包含该字段的发票,请将其关闭;对于仅部分订单才有的文件,请将其打开。

要求与限制

  • “Shopify Flow”步骤需要设置**“订单**”或**“客户**”字段。在此版本发布之前添加的步骤尚不包含这些字段:请在Shopify Flow编辑器中删除该步骤,然后重新添加。
  • 每个文件大小不超过 10 MB;支持 PDF、图片、CSV、纯文本和日历文件。视频和 3D 模型将被跳过。
  • 链接必须以 https:// 开头,且无需登录即可访问。重定向至非 https 地址或私有网络的链接将被拒绝。
  • **过去60天内的订单。**Shopify仅允许应用读取最近的订单。若针对较早的订单执行工作流程,发送操作将失败并显示明确的错误提示。
  • Microsoft 365 会拒绝总附件大小超过 4 MB 的邮件;请参阅 附件和图片。

你在“历史”中看到的内容

所有结果都会显示在“历史记录”页面上。没有订单的步骤、被撤销的授权、Shopify无法找到的订单、无法响应的链接,或超过限制的文件,都会被记录为**“失败**”,并附有原因及应修改的内容。 “可选”选项关闭的空元字段不视为失败:Shopify Flow 会显示重试记录,且一旦文件就位,发送记录便会显示。从“历史记录”中选择**“重新发送**”将再次读取同一订单或客户的信息。

一封退货说明邮件的“历史”事件,其请求数据中包含该发票所对应的订单的 orderId
一封包含来自“历史”元字段附件的电子邮件:请求数据记录了已读取的订单,因此“重新发送”操作会再次读取该订单。

试一试

在布局编辑器中发送测试邮件时,系统没有订单或客户可供读取,因此发送时不会包含元字段附件。若要测试附件,请在“Shopify Flow”中针对已包含该文件的订单运行工作流程,或使用“在Shopify Flow中运行”测试功能并选择此类订单进行测试。

相关