收件人在收到你任何号码发送的消息后,都可以要求停止接收。你的应用需要将该请求与后续发送的消息关联起来。
Bird 收到识别的 STOP 后会做什么?
Bird 为该发送方与订阅者的配对记录一条退订,然后发送已配置的确认回复。
它首先将入站文本与适用的关键词规则进行匹配。退订必须在 Bird 确认之前完成记录,这样写入失败就不会产生误导性的确认。
之后该发送方再向该订阅者发送消息时会返回 E12077 SMSRecipientSuppressed。Bird 在创建出站消息或投递尝试之前就拒绝了请求。被拒绝的发送不会产生投递失败事件。
默认情况下,start 结束屏蔽,随后发送确认。help 和 info 返回项目信息,但不更改退订状态。如果不存在单独的 info 规则,INFO 可以用作帮助关键词。
退订是否覆盖我使用的所有号码?
关键词屏蔽仅覆盖一个发送方和一个订阅者,而非工作区中的所有发送方。
例如,来自你营销号码的退订不会自动屏蔽另一个投递通知号码。你的应用必须在使用其他发送方之前,按照当事人实际请求的范围来处理。
要实现全发送方退订,请使用工作区级偏好。该记录独立于 SMS 屏蔽,不会触发 sms_suppression.created。仅监听该事件的事件处理程序将遗漏偏好变更。
退订指南介绍了工作区级偏好。关键词屏蔽以 E12077 拒绝。工作区级偏好可以以 E25000 PreferenceRevoked 拒绝。
如何检查 Bird 是否处理了该关键词?
在依赖自动处理之前,先列出适用于该国家或发送号码的规则。
bird sms keyword-rules list --country NL
空的国家结果表示该国家没有返回任何规则。命令参考记录了其筛选条件,包括 --from-country。
通过 API,使用 GET /v1/sms/keyword-rules。按 number 筛选以查看特定号码的规则。结果按特异性从高到低排列,适用的关键词在 effective_keywords 中。
Bird 的内置目录仅覆盖部分国家。如果没有适用的规则,消息会作为普通文本到达你的入站处理程序。在这种情况下,Bird 不会记录自动退订或确认。你的处理程序必须识别该请求并停止后续发送。
为什么退订确认仍然可以发送?
Bird 豁免内置合规回复,使其不受需要确认的屏蔽影响。
如果没有该豁免,记录 STOP 将屏蔽自身的确认回复。该豁免覆盖退订、订阅、帮助和信息回复。其他发送检查仍然适用。
custom 关键词回复没有此类豁免。否则,自定义回复可能会向已退订的人投递你选择的文本。
confirm 操作标记一条双重订阅确认回复。它不发送响应。你的处理程序必须回复它。没有回复文本的自定义规则也不发送任何内容。
退订后我的应用应该做什么?
阻止与当事人请求冲突的后续发送。记录退订的范围,以便正确应用。
将 E12077 视为需要在你的同意状态中排查的被屏蔽发送,而非可重试的临时投递失败。在收件人仍可回复旧发送方号码的消息期间,保持相关处理程序处于活跃状态。
处理在内置目录之外或通过其他支持的联系方式收到的退订。CTIA 消息传递准则要求发送方支持并尊重退订请求。
对于使用多个号码的项目,同时检查特定发送方的屏蔽和工作区级偏好。这可以防止更换发送方绕过当事人的请求。
简而言之
内置屏蔽仅覆盖一个发送方。
一个被识别的 STOP 会屏蔽该发送方与订阅者的配对。其他发送方需要你的应用做出更广泛的退订决策。
发送前检查关键词覆盖范围。
如果没有适用的规则,Bird 会投递入站文本,但不会自动记录其退订。
被屏蔽的请求不会产生投递尝试。
E12077 在接入时拒绝发送,因此重试不会恢复权限。
确认回复享有有限的豁免。
内置合规回复可以通过屏蔽检查。自定义关键词回复不享有该豁免。