Sign inGet Started

退订与关键词

当有人向您的某个号码发送短信时,Bird 会在您收到消息之前将其与关键词目录进行匹配。识别到的 stop 关键词会阻止该发送方向该订阅者发送后续消息,start 关键词会解除阻止,help 关键词会回复支持信息。受支持的国家/地区无需额外设置即可使用此功能。
本指南涵盖 Bird 的默认行为、如何查看该行为以及如何更改它。

默认行为

订阅者向您的某个号码发送 STOP。Bird:
  1. 根据该号码所属国家/地区的关键词目录识别该消息。
  2. 在该发送方与订阅者的精确配对上记录一条抑制。
  3. 回复该国家/地区的退订消息以确认操作。
此后,该发送方向该订阅者的发送将被拒绝并返回 E12077 SMSRecipientSuppressed,而非实际发出。START 会解除抑制并同样发送确认,HELP 则仅回复而不改变任何内容。
一条抑制仅覆盖一个发送方和一个订阅者,不会覆盖整个工作区。该阻止的技术范围并不意味着您有权使用另一个发送方。请将客户明确表达的偏好应用于其要求停止的消息和计划。如需一次性停止工作区中的所有发送方,请参阅下方的退订所有发送方。
确认消息不受其所记录的抑制影响。即使新的抑制会阻止后续的出站发送,Bird 仍可回复入站消息。

覆盖范围按国家/地区划分

Bird 的目录覆盖部分国家/地区。在已覆盖的国家/地区,Bird 默认处理退订、订阅和帮助关键词。在未覆盖的国家/地区,Bird 不识别任何关键词、不发送回复、也不记录退订。如果您向未覆盖的国家/地区发送消息,则必须自行处理退订。
在依赖某个国家/地区之前,先检查其覆盖情况:
代码示例
bird sms keyword-rules list --country NL
空结果表示该国家/地区没有覆盖。您可以在那里添加自己的 custom 关键词,但其他每种操作都是替换 Bird 内置的内容,因此只能为 Bird 目录中已有的国家/地区创建规则。

查看当前生效的规则

GET /v1/sms/keyword-rules 描述了您的号码收到回复时的处理方式。不加过滤时,它会返回 Bird 的完整目录以及您创建的所有规则;使用 country、number、operation 或 scope 来缩小范围:
  • scope=system 仅返回 Bird 的目录,包括被工作区规则替换的默认值。
  • scope=workspace 仅返回您自己的规则。
  • number=+18005551234 返回适用于您某个号码的规则,按应用于入站消息的顺序排列;添加 from_country 可查看从其他位置发送消息的发送方所匹配的规则,结果可能不同。
规则按从最具体到最一般的顺序返回,每条规则都包含 effective_keywords:Bird 为该操作和国家/地区设定的关键词集,加上您添加的内容。
该列表除 stop、start 和 help 之外还返回两种操作:
  • info 回复您的计划信息,行为与 help 完全相同。它被单独设置,以便 INFO 回复需要与 HELP 回复不同的国家/地区可以同时使用两者;在 Bird 未为某个国家/地区提供 info 规则的情况下,INFO 是该国家/地区的 help 关键词之一,并使用 help 回复进行应答。
  • confirm 标记双重订阅确认回复,例如 JOIN 或 YES。它目前不发送任何内容,请在您自己的处理程序中处理。Bird 持有这些关键词,以防止 custom 规则占用它们。

更改回复内容

Bird 的默认回复是正确的但较为通用。要以您自己的名义回复,请为该国家/地区和操作创建一条规则:
代码示例
bird sms keyword-rules create \
  --operation stop \
  --country NL \
  --reply "You are unsubscribed from MyBrand. Reply START to resume."
您的规则会替换 Bird 在该国家/地区的默认回复,并保留 Bird 的关键词,除非您添加更多。它还会继承 Bird 之后添加的关键词。您不能更改分配给退订或订阅关键词的操作;Bird 会拒绝尝试将 STOP 绑定到其他操作的规则。
如果 Bird 以多种语言提供某个国家/地区的关键词,则每种语言都有各自的规则,因此创建时必须指定要替换的语言。加拿大就属于这种情况:其 stop、start 和 help 规则分别有 en 和 fr 两种版本。language 在此处是必需的,而对于 Bird 仅以单一语言提供的国家/地区则会被拒绝。
代码示例
bird sms keyword-rules create \
  --operation stop \
  --country CA \
  --language fr \
  --reply "Vous etes desabonne de MyBrand. Repondez DEBUT pour reprendre."
列出某个国家/地区的规则可以查看是否存在语言拆分以及有哪些语言可用。
要将规则限定到一个号码而非您在该国家/地区持有的所有号码,请设置 number 而不是仅依赖国家/地区。
如果您从自己的系统而非通过 Bird 来回复这些消息,请将 reply 设为 null 并同时设置 confirmed_self_managed。这会关闭 Bird 对该规则的自动回复,而抑制本身继续生效。

活动关键词

custom 规则不带有内置行为。它们匹配您选择的关键词并发送您编写的回复,可用于支持 PIZZA 等活动关键词。custom 规则不继承任何关键词,因此至少需要一个自定义关键词,并且可以省略 country 以在您发送的所有地区生效。
Bird 已绑定到合规操作的关键词不能作为自定义关键词重复使用。

查看和管理抑制

GET /v1/sms/suppressions 列出当前被阻止发送消息的配对,最新的排在最前。按 destination 过滤可在发送前检查某个订阅者,按 originator 过滤可查看某个发送方,或按 reason 过滤:
  • keyword_stop:订阅者发送了 stop 关键词。
  • carrier_opted_out:其运营商上报了退订。
  • manual:通过 API 或控制台添加。
已结束的抑制不会列出,因此响应结果标识的是您当前无法发送消息的收件人。
您可以手动添加一条抑制,以处理客户通过电话告知您的退订请求:
代码示例
bird sms suppressions add --destination +15550001234 --originator +15557654321
手动抑制会阻止所有类别,包括事务性消息,且添加操作是幂等的。移除操作有意限定范围较窄:只有 manual 抑制可以通过此方式结束。订阅者自己的 stop 关键词和运营商的退订会被拒绝移除,因为这些不是您有权撤销的。

退订所有发送方

stop 关键词和上述手动抑制都只停止一个发送方。有些订阅者希望一次性退订工作区中的所有发送方,例如某人告诉您的支持团队停止所有短信,而非逐个号码回复。
这是一种明确表达的偏好而非抑制,因此它位于 SMS > Suppressions 的 Preferences 选项卡中,而不在上述列表中。打开该选项卡并使用工作区中的所有发送方记录退订:该号码将停止接收工作区中所有发送方(包括之后添加的发送方)的 SMS。在此选项卡上记录的退订覆盖所有消息,包括验证短信;如果只需停止营销类消息,请使用工作区级别的 Contacts > Preferences 页面,其对话框提供覆盖范围选择。
Bird 会先检查本指南中描述的抑制,因此普通关键词 stop 仍然像之前一样返回 E12077 拒绝。向已记录工作区级退订的号码发送消息时,会被以 E25000 PreferenceRevoked 拒绝。要在订阅者要求后恢复发送,请从 Preferences 选项卡中移除该条目(是您记录的,所以您可以移除),或在工作区级别的 Contacts > Preferences 页面记录一条订阅。

后续步骤

在进行受众发送之前,请查阅活动同意与发送控制,或了解用于集成的 SMS 退订处理。
  • 发送 SMS:查看类别、发送方和拒绝条件。
  • Events:处理发送和回复的 sms.* 事件。
  • SMS 日志:检查消息详情,包括被拒绝的发送。