SMS

什么是固定发送号码(sticky sender)?

固定发送号码在多条消息中为每个接收者保持相同的发送号码。

预订确认和后续提醒来自同一个号码时更容易辨认。如果号码改变,接收者可能会看到一个没有之前上下文的独立对话。

为什么要保持同一个发送号码?

复用发送号码有助于接收者识别对话,也能让回复发送到同一个号码。

手机通常按发送者分组短信。轮换号码可能会将同一业务对话分散到多个消息线程中。

回复会发送到客户所回复的那条消息上的号码。更换出站号码不会将对旧消息的回复重定向到新号码。在接收者仍可能使用该线程期间,继续监听该号码。

退订消息也是如此。发送到旧号码的 STOP 即使在你开始使用新号码发送后仍需处理。STOP 关键词介绍了 Bird 如何限定该抑制的作用范围。

如何在 Bird 中保持固定发送号码?

在每次自由文本发送时通过 from 复用已分配的发送号码。为每个接收者保存该分配关系。

Bird 的自由文本请求需要 from。该值必须标识你的工作区所拥有的发送号码。如果是电话号码,需包含国家代码,例如 +15557654321

省略 from 会返回 HTTP 422 SMSNoEligibleSender。使用未拥有的号码也会返回相同错误。使用未注册的字母数字发送者会返回 422 SMSSenderNotConfigured。发送前验证分配关系,以免已释放的号码中断对话。

messaging_profile_id 字段不提供发送号码池功能:Bird 会以 422 SMSUnsupportedFeature 拒绝该请求。发送端点记录了这些字段。

应该存储和检查什么?

为每个接收者保存一个发送号码。复用前验证它是否仍然可用。

对于新接收者,选择一个你拥有且被允许向该目的地发送的号码。在发送并发消息之前保存该选择,避免两个任务为同一个人分配不同的号码。

对于已有接收者,在发送号码仍归你所有且符合条件时复用该分配。如果你释放了该号码或其目的地权限发生变化,请明确选择一个替代号码。

为某个市场指定专用发送号码可以简化分配,因为每个接收者使用同一个可用号码。但如果你停用该号码,仍需处理变更。

模板发送会保留分配关系吗?

模板发送会自动选择发送号码,因此你无法通过 from 强制使用已保存的分配。

Bird 会拒绝同时传入 fromtemplate。模板路径会为目的地选择发送号码,并在消息的 from 字段中返回所选值。

保存对话时使用该返回值。不要假设它与你上次自由文本发送时的号码一致。模板指南介绍了模板提供哪些值。

发送号码的可用性优先于连续性:被分配但不被允许向某目的地发送的号码无法在该目的地复用。发送者类型介绍了这些限制。

更换号码后回复会怎样?

对旧消息的回复仍会发送到旧号码。

如果你仍拥有旧号码,在过渡期间保持其入站处理处于活跃状态。重建对话时包含两个号码的消息。MO 和 MT 解释了为什么入站回复有自己独立的消息记录。

在使用替代号码发送之前,将退订记录纳入你的发送决策。Bird 的发送者级别抑制不会自动变为工作区范围的偏好设置。新号码不能成为继续向已要求停止的人发送消息的途径。

简而言之

  1. 稳定的发送号码让对话更容易辨认。

    复用同一号码有助于接收者找到之前的消息,也能让回复始终发送到同一个目的地。

  2. 你的应用程序负责保存分配关系。

    Bird 自由文本发送需要 from,因此请保存每个接收者对应的发送号码。

  3. 模板发送会自动选择发送号码。

    Bird 会拒绝同时传入 from 和 template。不要假设模板发送会沿用你保存的分配关系。

  4. 更换发送号码需要入站处理方案。

    接收者可能回复旧消息线程,因此在过渡期间要继续处理那些回复和退订请求。

基于同一网络构建。

测试 API 密钥即刻获取。添加付款方式并验证发送者身份后,即可解锁生产环境。

你的下一个创意。
随时连接。