1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 在进一步探索后,我发现了以下情况:
观察结果:
- 如果不使用Pinpoint,并且用户的号码显示在SNS退订列表中,通过SNS发布消息发送的消息将无法送达。
- 无论是否使用Pinpoint,来自用户的进入短信总是通过SNS传递,并检查退订关键词,如STOP、END、CANCEL等(https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-manage.html)。如果发现退订关键词,该号码将始终被添加到SNS退订列表中。(进一步阅读 - https://docs.aws.amazon.com/sns/latest/dg/sms_manage.html)
- 如果Pinpoint长代码的“Self-managed opt-outs”选项被禁用,并且用户的号码显示在SNS退订列表中 3.1. 无法为该号码创建新的Pinpoint端点 3.2. 通过现有Pinpoint端点为该号码发送的消息将无法送达 3.3. 通过SNS发布消息发送的消息也将无法送达。
- 如果Pinpoint长代码的“自管理退订”选项已启用,并且用户的号码显示在SNS退订列表中 4.1. 上述3.1和3.2点仍然成立 4.2. 通过SNS发布消息发送的消息将能够送达,因为启用了“Self-managed opt-outs”,尽管号码被添加到SNS退订列表中。
问题的原因 在我的案例中,“Self-managed opt-outs”选项被禁用了,这就是为什么Pinpoint端点退订状态不相关,SNS退订列表具有优先权。
解决方案:
- 如上所述,保持“Self-managed opt-outs”禁用并没有满足我的要求。所以我启用了它。
- 由于SNS退订列表始终具有优先级,因此无法使用Pinpoint端点。
- 最后,我只使用Pinpoint获取启用了双向SMS和“Self-managed opt-outs”的长代码。我使用SNS发布消息而不是Pinpoint端点来发送消息。
- 现在我正在使用“Self-managed opt-outs”,这里需要注意的一点是 - 我在后端为每个用户的号码维护退订状态,并在中间件级别处理传出消息的允许/拒绝。
相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 3 年前