Skip to main content
Waffo 可以在订阅生命周期的六个节点直接给你的订阅者发邮件。本页讲的是这些邮件——什么触发它们,以及如何避免让客户每样东西都收到两份。 Waffo 发给你的服务器的Webhook 通知,见订阅 FAQ中的通知表;重试行为见 订阅重试与支付方式。

Waffo 会给我的订阅者发哪些邮件?

六封,每封都有独立的开/关开关——所以你的账户可以启用任意子集: 第六行是大多数集成会漏掉的。如果你已经在自己给客户发价格变更邮件,请在发送之前确认你的账户是否启用了订阅已变更邮件。

每一封具体什么时候触发?

六封里有三封是事件驱动的,在事件发生后片刻内送达。两封由每日任务执行,因此落在一个窗口内而不是精确的偏移量。一封由你自己的 API 调用同步触发。 由于两封提醒邮件由在前瞻窗口上运行的每日任务驱动,请把它们的偏移量当作近似值。不要在其上构建诸如「您将在恰好 N 小时前收到通知」的对客承诺, 也不要把它们当作你自己排期的时钟。

支付失败邮件真的每次失败都会发吗?

不是,而且假设它会发将让你的去重逻辑出错。它在两种情况下被抑制:
  • **首期失败不发。**首次扣款就失败的订阅不会给客户产生任何失败邮件。如果你希望此时告知客户,那要由你来做。
  • **既非最终尝试、也不属于基于间隔的重试计划的尝试不发。**实际上这意味着立即执行的备用支付方式尝试是静默的;不会每试一张备用卡就给客户发一封邮件。
会发送的情况:每一次独立的计划重试尝试,以及关闭该期的最终尝试。邮件带有一个让客户添加或更新支付方式的链接,这通常正是你希望他们采取的动作。

订阅已变更邮件由什么触发,里面有什么?

由你自己对订阅 update API 的调用触发,当它改变了周期金额、试用金额或按期计划金额中的任何一项。它与该调用同步发送,而不是由任务发送。 邮件告诉客户金额原来是多少、现在是多少,以及新金额从哪一期开始适用。如果你修改了按期计划,则会同时包含旧计划和新计划。 值得在设计时考虑的两个后果:
  • 套餐变更(通过 change API 升级/降级)是另一种操作,不会触发这封邮件。见订阅 FAQ中 change/update 的区别。
  • 因为触发源是你的 API 调用,对同一订阅快速连续地批量执行多次 update 可能产生多封邮件。每一个你想让客户看到的变更只调用一次 update。

这些邮件是什么语言?

收件人的语言按以下顺序解析:
  1. 你在订阅上指定的收银台语言(如果设置了)。
  2. 否则,从订阅的 userCurrency 推导——即客户实际被扣款的币种。
  3. 如果两者都得不出受支持的地区语言,则为英文。
实用规则:**除非你覆盖,否则 userCurrency 决定语言。**如果你客户的语言与计费币种不一致——比如一位以本地币种计费的英语客户—— 请在订阅上显式设置收银台语言,而不要依赖推导。 同一地区语言也会应用到邮件内的订阅管理链接,所以客户打开的页面语言一致。

我能自己编辑模板,或者单独关掉某封邮件吗?

不能从商户 Portal 操作。在当前版本:
  • 六个开关由 Waffo 为你的账户配置,不是自助的。告诉你的 Waffo 对接人六封中你想开哪些、哪些你更愿意自己负责。
  • 模板本身不可由商户编辑。会体现的是你的品牌——你的商户名称以及你为收银台配置的 logo/外观会应用到邮件上,所以邮件不是无品牌的。
如果你需要自己掌控措辞,正确的做法是让对应的 Waffo 邮件关闭,并用同一事件的Webhook 通知驱动你自己的邮件。

怎么避免 Waffo 的邮件和我自己的邮件重复?

对照上表,为每个事件选定一个负责方。可靠的做法: 不要试图通过把你的邮件卡在 Waffo 邮件前后的时间点来压制它——两封提醒邮件落在一个窗口内,而不是固定的偏移量。

每封客户邮件对应哪个Webhook 通知?

每封客户邮件都有一个你可以据以行动的服务端对应物,这正是「关掉邮件、自己发」这一模式可行的原因: 两封提醒是没有Webhook 通知对应物的,因为它们是预测而不是事件。如果你想按自己控制的偏移量发提醒,就从订阅本身计算。

客户说从没收到邮件,我该查什么?

按这个顺序——前三项覆盖了几乎所有情况:
  1. **你的账户开了那个开关吗?**六封都是独立配置且由 Waffo 设置的,所以你以为开着的邮件可能并没有开。这是第一件要确认的事。
  2. **是不是被抑制的情况之一?**首期失败不发失败邮件,备用支付方式尝试也不发。首次扣款就失败的客户什么都没收到是正常的。
  3. **时机和你假设的一样吗?**两封提醒邮件来自在前瞻窗口上运行的每日任务,所以「没有在我假设的精确偏移量到达」是预期行为,不是邮件丢失。
  4. **语言是客户预期的吗?**语言出乎意料的邮件有时会被报告为「没有邮件」。检查订阅的 userCurrency 以及你是否设置了收银台语言。
  5. **事件本身真的发生了吗?**对照上面对应的Webhook 通知确认——如果订阅从未到达 ACTIVE,就不存在要找的激活邮件。

订阅计费历史返回什么?

两种不同的视图,选错是常见的集成错误。 商户查询 API 返回一组刻意精简的按期字段。在订阅查询上传 paymentDetails=1 即可获取: 注意没有的内容:没有试用标记、没有用户币种或用户金额、没有期开始/结束日期、没有失败码。如果你需要这些,你需要订单本身——按 acquiringOrderId 查询。 你的客户看到的托管订阅管理页面渲染更丰富的按期行,包括试用标记、两组币种/金额、期开始和结束、绑定支付方式的掩码卡信息和有效期、 收据链接,以及面向客户的失败原因。该视图是给客户看的;不要把它当作 API 接口。