【发布时间】:2021-01-12 18:08:56
【问题描述】:
我在使用 AWS Pinpoint 和 SNS 实施双向 SMS 取消订阅/重新订阅时遇到了一些问题。
用例:
在收集到用户的号码后,他会收到一条确认短信。他回复 YES 关键字以选择加入 SMS 列表。他稍后可能会通过使用 STOP 关键字回复来选择退出。选择退出后,他仍然可以选择通过回复 START 关键字来重新订阅。此外,即使在重新订阅后,他也可以选择通过回复 STOP 关键字再次取消订阅,等等。
当前实施:
与文档 (https://docs.aws.amazon.com/pinpoint/latest/developerguide/tutorials-two-way-sms.html) 中给出的示例类似,我有一个订阅 SNS 主题的 lambda 函数,它处理 YES 和 START 关键字。对 STOP(和 HELP)关键字的响应由 AWS Pinpoint 处理。
- 收集用户号码后,后端为用户号码创建一个精确端点,向他发送确认短信,并将端点退出状态更新为 ALL。
- 用户回复 YES,他的回复由 lambda 处理,该 lambda 将端点选择退出状态更新为 NONE。
- 用户使用 STOP 回复,他的回复由 pinpoint 处理,这会自动选择他退出。
- 用户使用 START 回复,他的回复由 lambda 处理,该 lambda 将端点退出状态更新为 NONE。
我需要有关以下查询的帮助:
- 在上述实施的第 3 步中,我注意到用户的号码被添加到 SNS 退出列表(从 AWS 控制台检查),但他的精确端点退出状态(从 aws-检查) cli) 仍然设置为 NONE 而不是 ALL。正如预期的那样,我无法向该用户发送短信。正如我所观察到的,是否为 pinpoint 和 SNS 维护了两个单独的退出状态?如果是,是否有关于它们如何更新的深入文档?
- 在上述实施的第 4 步中,我注意到用户的号码并未从 SNS 退出列表中删除,并且他的精确端点退出状态保持为 NONE。与预期的行为不同,我仍然无法向该用户发送 SMS。我是否正确执行重新订阅?
请回答问题并指导我正确实施我的用例。
【问题讨论】:
标签: amazon-web-services sms amazon-sns unsubscribe aws-pinpoint