easySales 中的自动化流程(Automation Flows)如何运作:触发器、筛选器与操作
自动化流程是 easySales 内置的「如果-那么」引擎。一个流程监听某个事件(触发器),检查可选条件(筛选器),然后自动执行一个或多个操作(操作)。本指南讲解三个组成部分、什么可以启动流程、如何用筛选器收窄、它能做什么、执行时间如何运作,以及如何搭建你的第一个流程。
每个网店卖家在每笔订单上都重复着同样的几个步骤:生成发票、创建运单、发送确认、更新状态。当你每天在数百笔订单上手动完成这些时,它会吞噬你本应用于发展业务的时间。自动化流程替你完成这些重复工作——可靠地、在后台运行,完全按照你的设置。
什么是自动化流程
流程就是一条「如果发生这个,就执行那个」的规则。你选择启动它的事件(触发器),可选地添加必须满足的条件(筛选器),并列出当一切吻合时 easySales 自动执行的操作(操作)。
经典示例:当订单状态变更为已完成时,如果它来自 eMAG 且付款已确认,就生成发票并创建运单。 设置一次,便会在每一笔匹配的订单上永久运行——无论你每天处理十笔还是一万笔订单。
每当你发现自己在多笔订单上重复同样的手动操作时,就需要一个流程:生成文档、更新状态、发送通知、为团队标记订单、调整价格、向 ERP 或履约合作伙伴传递数据。如果规则可以表述为「当 X 发生且 Y 为真时,执行 Z」,流程就能处理它。
流程在后台运行,不会打断你的工作。每当匹配的事件触发时——订单被创建、发票被生成、退货已完成——easySales 会检查所有活动流程并运行匹配的那些。
三个组成部分
每个流程都由相同的三部分组成,且顺序固定:
- 触发器——启动流程的事件。每个流程恰好一个,且为必填。没有触发器则什么都不会发生。
- 筛选器——可选条件,必须全部满足才能执行操作。没有筛选器时,流程会作用于触发器触发的每一条记录。下文有更多介绍——几乎在任何情况下,添加至少一个筛选器都是好主意。
- 操作——流程执行的一个或多个操作。你可以在一个流程中添加多个,它们按你定义的顺序从上到下依次执行。
逻辑如下:触发器触发 → 筛选器逐一检查 → 全部通过则执行操作。
触发器——什么可以启动流程
触发器是 easySales 监听的事件。共有 31 个,涵盖订单、报价、商品、退货和服务请求的完整生命周期,按所属业务环节分组。
订单生命周期
订单生命周期组涵盖从订单到达到发货的全过程。触发器包括:订单已创建、订单已修改、订单已拣货、订单已打包、订单已完成、订单已加入处理组,以及自定义订单状态已变更。这是最常用的分组——大多数开票、创建运单、打标签和发送通知的流程都从这里开始。
订单配送
配送触发器在快递相关事件发生时触发:运单已创建、运单已扫描(在打包扫描流程中)、配送状态已更新、尺寸模板已分配给订单。用于自动化发货后的联系点——例如,在运单被扫描后立即发送配送确认短信。
订单开票
开票触发器在生成发票文档时触发:订单发票已创建,以及红冲(贷项通知单)发票已创建。用于串联文档工作流——例如,在生成发票的同时自动创建运单,确保两份文档始终同步生成。
退货
退货触发器涵盖退货的完整生命周期:退货已创建、退货已完成、退货标签已附加、退货运单已创建。用于在退货开启时通知物流团队,或在退货获批后自动生成退货运单。
服务请求
服务请求触发器在服务请求工作流中触发:服务请求已创建、服务请求已修改、服务请求状态已变更、服务请求文档已创建,以及服务请求的取件或派件运单已创建。用于实时通知支持团队,并自动生成保修和维修工作流的相关文档。
商品
商品触发器在目录变更后触发:商品保存后。每当商品记录在 easySales 中被更新时触发——包括批量编辑和导入。用于自动化操作,如在特性变更时附加商品标签,或在商品更新后启用报价。
报价
报价触发器在报价保存后触发。每当报价(与特定平台上的商品绑定的价格和库存记录)被更新时触发。最常见的用途是在库存变为正数时启用商品报价,或在供应商交货期变更时更新配送时间。
每个流程监听恰好一个触发器。
订单生命周期
订单创建、修改、picked、packed、完成、加入处理组、自定义状态变更。
开票
订单发票已创建、红冲(storno)发票已创建。
配送与运单
运单已创建、已扫描、配送状态已更新、已分配尺寸模板。
报价与商品
报价保存后、商品保存后。
退货
退货已创建、已完成、已附加退货标签、退货运单已创建。
服务请求
服务请求已创建、已修改、状态变更、文档或取件/派件运单已创建。
筛选器——收窄流程作用的记录
筛选器是触发后检查的条件。每个筛选器都必须通过,操作才会执行。任何一个不匹配的筛选器都会悄悄中止该记录的整个流程——不会部分执行。
easySales 中共有 147 个筛选条件,按组织分类:
- 订单——平台(市场)、订单状态、付款方式、付款状态、订单金额、订单标签、是否已存在发票或运单、快递公司、配送国家等更多字段。
- 客户——客户类型(个人或企业)、VIES 注册、客户是否在黑名单中,以及客户数据字段。
- 地址——账单地址和配送地址字段:城市、国家、邮编、地区。
- 运输——运单号、快递公司名称、运单状态。
- 发票——发票系列、发票状态、是否存在红冲发票。
- 订单商品——商品名称、SKU、类别、数量、重量、标签、特性。
- 报价——报价价格、库存、配送时间、平台特定的报价字段。
每个筛选器使用一个运算符,可用的运算符取决于字段类型:
- 等于 / 不等于——精确匹配或排除。示例:「平台等于 eMAG」或「付款方式不等于货到付款」。
- 包含 / 不包含——子字符串匹配。示例:「客户名称包含有限公司」以匹配企业客户。
- 大于 / 小于 / 介于——数值范围。示例:「订单金额大于 500」。
- 是其中之一——匹配列表中的任意值。示例:「平台是以下之一:eMAG、Altex、Flip」。
- 匹配模式——正则表达式或通配符。适用于复杂的命名规则。
如果不添加筛选器,流程会作用于触发器触发的每一条记录。对于生成文档的流程,这几乎不是你想要的结果。
操作——流程能做什么
操作是流程在触发器触发且筛选器全部通过后执行的工作。你可以在一个流程中添加任意多个操作——它们按定义的顺序从上到下依次执行。结合每个操作独立设置的执行时间,单个流程可以立即开票,并在数小时后通知客户。
开票与 AWB
开票和配送文档操作涵盖文档的完整生命周期:
- 创建发票——使用已配置的发票系列为订单生成发票。平台中使用最频繁的操作。
- 打印发票——生成后立即将发票发送到已配置的打印机。
- 作废发票——作废订单上的发票,用于退货和纠错流程。
- 创建红冲发票——针对已有发票生成贷项通知单,通常在退货完成时触发。
- 更改发票系列——将发票系列切换为另一个,适用于不同平台需要不同编号序列的场景。
- 创建运单——使用为订单配置的快递公司生成运单。
- 打印运单——将运单发送到已配置的打印机。
- 更改运单 PDF 格式——根据订单类型,在打印前切换运单格式(如 A4 与 A6)。
标签与元数据
标签和元数据操作允许以编程方式标记和注释订单与商品:
- 附加标签——向订单添加预定义标签。用于标记货到付款订单、标记高价值订单或指示仓库区域。
- 移除标签——从订单中移除特定标签。
- 移除所有标签——一次性移除订单上的所有标签,适用于重新处理前重置标签。
- 附加元数据——向订单添加键值对。元数据对团队可见,并可在其他流程中引用。
- 移除元数据——移除特定的元数据键。
- 附加商品标签——向商品(而非订单)添加标签。
- 将商品字段保存为内部特性——将商品字段值复制到内部特性,供后续引用或导出。
通知:邮件与短信
通知操作向你的团队或客户发送消息:
- 发送邮件通知——使用存储的模板发送可配置的邮件。可发送给客户、固定的内部邮箱,或从订单数据中动态获取的收件人。
- 发送短信通知——向客户的手机号发送可配置的短信。需要在账户中配置短信服务商。
常见场景:订单完成时通知仓库团队、运单扫描后向客户发送配送短信、退货开启时提醒采购团队。
价格与报价
价格和报价操作允许更改你在已连接市场上的商品展示和定价:
- 更新报价价格——重新计算并更新一个或多个平台上的报价价格,通常使用价格组或公式作为来源。
- 更新报价配送时间——更改市场列表中显示的预计配送时间。
- 更新报价描述——向市场报价推送新描述。
- 编辑报价字段——更新报价记录中的特定字段(库存、价格、状态或任意报价属性)。
- 启用商品报价——在市场上激活报价,使商品可供购买。通常在库存到货时使用:筛选器设置库存 > 0,操作:启用商品报价。
履约与打包
履约和打包操作连接订单管理与实物拣货、打包流程:
- 发送至履约——将订单发送到已连接的履约服务商。
- 分配尺寸模板——为订单分配包装尺寸模板,使打包扫描流程知道该用哪个箱子。
- 附加箱子——为订单附加特定的箱子尺寸。
- 向订单添加商品——向订单插入额外的商品行(如根据订单金额添加礼品卡或免费样品)。
- 向供应商订单添加商品——将订单商品添加到已开启的供应商采购订单中。
- 打印订单 PDF——生成并将拣货单发送到打印机。
- 发送订单(重新分发)——将订单重新发送到市场或履约系统,适用于从同步失败中恢复。
- 更新运单备注——更新运单上打印的备注。
- 更新最大配送日期——调整订单的最大配送日期。
客户管理
客户管理操作清理客户数据并执行业务规则:
- 规范化电话号码——将电话号码格式化为标准国际格式(如 +8613812345678)。在每笔新订单上执行——可显著提升短信送达率和搜索准确性。
- 规范化增值税号——将企业增值税号格式化为标准格式,去除有时来自市场 API 的空格和国家前缀。
- 自动填充公司详情——在国家注册系统中查询增值税号,并自动填入公司名称、地址和注册号。
- 加入黑名单——将客户加入黑名单,以便过滤或标记其后续订单。
- 移出黑名单——将客户从黑名单中移除。
- 设置税率——将订单上的增值税率设置为特定值。
- 设置收费税率——单独设置收费税率,与显示税率分开。
- 设置为目的地国家税率——应用订单目的地国家的标准增值税率。
- 将零值商品改为礼品折扣——将免费行项目转换为礼品折扣行,某些开票系统要求此格式。
- 移除税费或折扣——从订单中移除税费或折扣行。
- 完成订单——将订单移至已完成状态。
- 取消订单——取消订单。
- 更改自定义状态——设置自定义订单状态标签。
- 将发票标记为已付款——在没有付款交易的情况下将发票标记为已付款。
- 设置付款状态——更新订单上的付款状态。
- 更新付款方式——更改订单上记录的付款方式。
- 发送至 ERP——将订单数据推送到已连接的 ERP 系统。
开票与付款
创建发票或红冲、打印、标记为已付、作废、更改序列、设置付款状态。
发货与打包
创建或删除运单、打印运单、附加包装箱、分配尺寸模板。
标签与元数据
附加或移除订单、商品和退货标签;添加或移除元数据。
通知
为订单、退货和服务请求发送邮件或短信通知。
订单数据与状态
规范化电话或增值税号、自动填充公司信息、设置增值税率、完成或取消、更改自定义状态。
集成与目录
发送至 ERP 或履约、加入供应商订单、更新报价价格和字段、启用商品报价。
执行时间:立即、延迟或按计划
流程中每个操作都有执行时间设置,可为每个操作单独配置,这意味着单个流程可以立即完成某些工作,并将其他工作推迟到稍后执行。
三种执行时间模式:
- 立即——触发器触发且所有筛选器通过后立即执行。这是默认模式,适用于大多数场景:订单完成时立即开票,发票创建时立即生成运单。
- 延迟——在固定分钟数后执行。适用于时间敏感但非即时的通知:运单扫描 30 分钟后向客户发送配送确认短信,或配送 3 天后发送评价请求。延迟以分钟为单位设置——手动换算小时和天数(如 3 小时 = 180 分钟,3 天 = 4320 分钟)。
- 计划——在特定日期和时间或按重复的 cron 计划执行。适用于批量操作:每天早上 07:00 为所有已完成订单生成运单,或每晚 23:00 更新所有列表的报价价格。
执行时间是按操作设置的,因此单个流程可以立即开票、立即打印运单,然后在 3 小时后发送客户通知邮件——全部来自一个流程,无需单独调度。
| 执行时间 | 何时运行 | 示例 |
|---|---|---|
| 无 | 触发器触发后立即 | 订单完成的那一刻开票 |
| 简单延迟 | 在设定的间隔之后 | 配送后 3 小时发送评价短信 |
| 计划延迟 | 在特定的日期和时间 | 每周一 8:00 生成运单 |
流程文件夹——整理工作空间
随着自动化库的增长,扁平的流程列表会变得难以导航。流程文件夹允许你将相关流程分组——例如,一个文件夹用于开票流程,一个用于运单流程,一个用于客户数据清理,每个市场集成一个。
要创建文件夹,请前往自动化 → 流程,在侧边栏使用文件夹管理选项。你可以随时在文件夹之间拖动流程。
文件夹最实用的功能是批量启用/禁用:一键启用或禁用整个文件夹。这在测试时非常有价值(测试新流程时禁用整个「生产」文件夹)以及维护窗口期间(快递 API 迁移前禁用所有运单流程,完成后重新启用)。
文件夹仅用于展示——不影响流程的执行顺序或优先级。所有活动流程在触发器触发时独立并行运行。
一个行之有效的命名规范:在文件夹名称前加上业务域前缀(开票 /、运单 /、标签 /、通知 /、价格 /),流程名称格式为「触发器 → 执行内容」——例如「订单完成 → 发票 + 运单(eMAG)」或「运单已扫描 → 配送短信」。
搭建你的第一个流程——分步指南
以下是从空白界面到运行中的流程的完整过程。
1. 前往自动化 → 流程,点击创建流程。
你将看到流程编辑器,包含三个部分:触发器、筛选器和操作。流程处于草稿模式,直到你明确启用它——因此你可以配置和保存而不会实际运行。
2. 为流程命名要清晰。
在名称中包含触发器和主要操作,以便一眼识别。好的示例:「订单完成 → 发票 + 运单(eMAG)」、「发票已创建 → 创建运单」、「订单已创建 → 规范化电话」、「计划 → 夜间价格更新」。避免使用「流程 1」或「发票流程」这样的通用名称——当你有 20 个流程时,你不会记得它们各自的作用。
3. 选择触发器。
从下拉列表中选择触发器。仔细阅读触发器描述——一些看似相似的触发器行为不同。例如,「订单已创建」在订单首次到达时触发一次;「订单已修改」在每次订单记录变更时触发。选错触发器,流程要么从不触发,要么触发过于频繁。
4. 添加筛选器。
对于任何生成文档或更改订单数据的流程,始终从订单状态筛选器开始。没有筛选器,流程会作用于触发器捕获的每条记录——包括你未预期的状态的订单。如果流程针对特定市场,接着添加平台筛选器。
从最宽泛到最具体地分层设置筛选器:先设状态,然后平台,最后是付款方式或订单金额等附加条件。
5. 添加操作。
点击添加操作,从列表中选择操作类型。配置其参数——大多数操作至少有一个必填字段(如「创建发票」的发票系列,「附加标签」的标签名称)。为每个操作设置执行时间。
如果添加多个操作,按逻辑排序:「创建发票」在「打印发票」之前,「创建运单」在「创建发票」之后(如果运单依赖于发票的存在)。
6. 保存并启用。
点击保存。流程以草稿模式保存。再次审阅,然后切换为已启用。从下一个匹配事件起,easySales 自动运行该流程。
第一天就该设置的十个流程
以下是在处理大订单量的账户中持续出现的流程。按顺序设置——每个都解决一个常见问题,其中几个相互依赖或互为补充。
1. 完成时自动开票
- 触发器:订单已修改
- 筛选器:订单状态等于已完成;发票不存在
- 操作:创建发票 → 打印发票(可选)
- 重要原因:订单一旦进入已完成状态,发票就应在无人干预的情况下开出。没有此流程,你的财务团队每天手动为数百笔订单生成发票。「发票不存在」筛选器可防止同一订单多次触发时生成重复发票。如果只想用于特定渠道,可添加一个平台筛选器。
2. 开票后自动创建运单
- 触发器:订单发票已创建
- 筛选器:订单状态等于已完成;运单不存在
- 操作:创建运单
- 重要原因:串联文档生成——运单始终在发票后立即创建,确保两份文档在订单进入仓库前都已就绪。使用「发票已创建」作为触发器(而非「订单已修改」)意味着只有在确认发票存在时才生成运单。「运单不存在」筛选器至关重要:没有它,重新生成发票会触发第二张运单。
3. 到达时为货到付款订单打标签
- 触发器:订单已创建
- 筛选器:付款方式等于货到付款
- 操作:附加标签「货到付款」
- 重要原因:货到付款订单在仓库中需要不同的处理——运单上需要打印收款单据。在到达时打标签意味着你的团队可以立即筛选货到付款队列,无需手动查找付款方式。
4. VIES 企业零增值税
- 触发器:订单保存后(或订单已创建)
- 筛选器:客户类型等于企业;客户已注册 VIES;订单国家不是[你所在国家]
- 操作:将税率设为 0
- 重要原因:欧盟成员国之间的跨境 B2B 交易增值税税率为零。如果你向其他欧盟国家的企业销售但未自动应用零税率,你的发票将是错误的——可能引发合规问题。此流程无需任何人工干预即可处理。
5. 自动将风险客户加入黑名单
- 触发器:订单已创建
- 筛选器:你的风险标准(如客户有超过 3 笔取消订单,或订单来自高欺诈风险市场,或货到付款订单金额超过阈值)
- 操作:加入黑名单
- 重要原因:重复欺诈客户耗费处理时间和未收回的货到付款费用。自动化黑名单标记意味着你的团队立即看到警告,可以决定是取消还是继续——而不是在发货后才发现问题。
6. 完成时通知仓库
- 触发器:订单已修改
- 筛选器:订单状态等于已完成
- 操作:发送邮件通知(发送至 warehouse@yourcompany.com)
- 重要原因:让你的仓库团队实时了解哪些订单需要拣货和打包,无需他们整天刷新 easySales 界面。如果你的仓库使用纸质拣货单工作,可搭配打印订单 PDF 操作。
7. 库存到货时自动启用报价
- 触发器:报价保存后
- 筛选器:报价库存大于 0;报价未启用
- 操作:启用商品报价
- 重要原因:当你收到补货并在 easySales 中更新库存时,所有已连接市场上的报价会自动重新启用。无需手动「逐个市场重新激活」。「库存 > 0」筛选器确保你永远不会启用零库存的报价,「报价未启用」筛选器则防止冗余的 API 调用。
8. 规范化电话号码
- 触发器:订单已创建
- 筛选器:无(有意为之——在每笔订单上运行)
- 操作:规范化电话号码
- 重要原因:电话号码从市场 API 以各种可能的格式传入——没有国家代码的本地格式、带空格、带连字符、缺少前导零。短信送达失败几乎总是由格式错误的号码引起。在每笔新订单上运行这个操作零成本,并使所有后续短信通知变得可靠。
9. 使用尺寸模板自动打包
- 触发器:订单已加入打包组
- 筛选器:订单总重量在[范围 A]和[范围 B]之间(每个重量档位添加一个流程)
- 操作:分配尺寸模板[对应的箱子]
- 重要原因:在打包扫描流程中,系统需要在打印运单前知道使用哪个箱子。不需要操作员为每笔订单手动选择尺寸,此流程根据重量自动分配正确的模板。按尺寸层级设置一个流程:轻量(信封)、小箱、中箱、大箱。
10. 从价格组每晚更新价格
- 触发器:计划(每天 23:00)
- 筛选器:无(或限定到特定平台)
- 操作:更新报价价格(使用价格组变量)
- 重要原因:如果你的价格每天根据竞争对手数据、供应商报价更新或利润率计算而变化,此流程确保所有报价在每个工作日前的夜间被一致地重新定价。安排在 23:00,以避免与流量高峰期的市场索引窗口竞争。
查看流程做了什么:订单操作历史
流程在订单上执行的每个操作,都会记录在订单的操作历史面板中——位于订单的侧边栏。当你想确认某个流程确实完成了它的工作时,这是首先查看的地方。
在哪里找到:打开任意订单;操作历史面板在侧边栏中。使用它的来源筛选,只显示流程来源的操作(其他来源是手动网页操作、API 和代码),这样你就能准确看到自动化对这笔订单做了什么。
历史记录显示的内容:
- 流程在订单上执行的每个操作——例如通过流程附加的标签、创建的发票或创建的运单——并带有时间戳和来源。
- 操作的结果,包括失败时的错误消息(如「无法创建发票:发票系列未配置」)。
历史记录的是流程做了什么。它不会列出被评估并跳过的流程,也没有逐个筛选器通过/未通过的视图——easySales 不会显示具体是哪个筛选器阻止了流程。
如何用于调试:
如果某个流程的操作未出现在订单的历史中,说明该流程要么从未因此事件触发,要么某个筛选器不匹配,要么操作报错。按此顺序排查:确认流程已启用、其触发器与实际发生的事件相符,并且订单确实满足流程的每一个筛选器。当操作已运行但失败时,历史会显示错误消息,方便你修复原因——缺少发票系列、未配置快递等等。
流程未触发时的故障排除
以下是支持工单中最常见的问题,按大致频率排序。
流程根本没有触发
首先检查:流程是否已启用?草稿流程永远不会运行。带有绿色「已启用」开关的流程才是唯一会评估传入事件的流程。如果流程已启用,检查触发器是否与实际事件匹配。最常见的错误是使用「订单已修改」而事件实际上是「订单已创建」,或相反。打开订单的操作历史(按来源「流程」筛选)——如果该流程的操作完全不出现,说明该事件类型没有触发触发器,或某个筛选器不匹配。
AWB 或发票被创建了两次
这几乎总是由两个具有相同触发器的流程都在生成文档,或一个流程在同一订单更新事件上多次触发引起的。解决方案:添加保护筛选器。对于开票流程,添加「发票不存在」筛选器。对于运单流程,添加「运单不存在」。这些保护筛选器使操作具有幂等性——仅在文档尚未创建时才运行。
延迟操作从未触发
延迟和计划操作由后台队列处理。如果队列积压或暂停,延迟操作将停留在「已计划」状态。检查 Horizon 仪表板(如果你的账户有访问权限)或联系支持并提供订单 ID。请注意,设置为在当天特定时间运行的计划操作,如果在该时间之后创建,将不会在当天运行——它们等待下一个计划窗口。
邮件通知未发送
两件事需要检查:首先,操作中是否配置了邮件模板?没有保存模板的「发送邮件通知」操作会悄无声息地什么都不做。其次,验证收件人地址是否正确——包含错别字的硬编码地址,或对该订单解析为空的动态字段,都会导致无法送达。
流程在错误的订单上触发
通常由缺少平台筛选器引起。如果你为 eMAG 订单构建了流程但未添加「平台等于 eMAG」筛选器,它会在匹配其他条件的每个市场的每笔订单上触发。添加平台筛选器,保存,下一个匹配事件将被正确限定范围。
筛选器在 Skroutz 或 Trendyol 上未正确应用
Skroutz 和 Trendyol 上的「报价保存后」触发器存在已知的边缘情况:这些市场的某些报价字段更新不会按预期方式触发触发器,原因在于它们的 API 推送库存和价格变更的方式。如果你在这些平台上有基于报价的流程未运行,请通过在 easySales 中手动编辑并保存报价来测试触发器——如果流程在那时运行但在市场推送的更新时不运行,这就是那个边缘情况。作为解决方案,对这些平台上的夜间价格和库存同步流程使用计划触发器。