微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS SNS SMS-以编程方式从选择退出列表中删除电话号码即选择加入

如何解决AWS SNS SMS-以编程方式从选择退出列表中删除电话号码即选择加入

似乎不可能使用AWS命令行API(或Java SDK)来选择退出SMS(通过发送STOP消息)的电话号码。这是一个命令行示例(删除了电话号码):

> aws sns check-if-phone-number-is-opted-out --phone-number "612XXXYYYY"
{ "isOptedOut": false }

因此需要国家代码。除此之外,我看到选择退出还是带有“ +”号:

> aws sns check-if-phone-number-is-opted-out --phone-number "+1612XXXYYYY"
{ "isOptedOut": true }

> aws sns check-if-phone-number-is-opted-out --phone-number "1612XXXYYYY"
{ "isOptedOut": true }

因此,我尝试重新选择该号码:

> aws sns opt-in-phone-number --phone-number "+1612XXXYYYY"
An error occurred (InvalidParameter) when calling the OptInPhoneNumber operation: Invalid parameter: 

> aws sns opt-in-phone-number --phone-number "1612XXXYYYY"
An error occurred (InvalidParameter) when calling the OptInPhoneNumber operation: Invalid parameter: 

> aws sns opt-in-phone-number --phone-number "612XXXYYYY"

最后一个没有国家/地区代码错误不会返回错误,但也不会执行任何操作:

> aws sns check-if-phone-number-is-opted-out --phone-number "1612XXXYYYY"
{ "isOptedOut": true }

有趣的是,这是Java SDK版本,该版本也不起作用:

SnsClient snsClient = SnsClient.builder().region(Region.US_WEST_2).build();
OptInPhoneNumberResponse response = snsClient.optInPhoneNumber(b -> b.phoneNumber("1612XXXYYYY"));

是否可以通过编程方式从SMS停用列表中删除电话号码?我可以使用网络控制台手动进行操作,但这无济于事。

解决方法

以上命令/代码可用于反转STOP请求,但仅一次。显然,在发送第二个STOP答复后,AWS将不再允许您选择再次接收该电话号码的SMS消息。因此,如果您要支持多个STOP-> START序列,则必须在Pinpoint中“启用自我管理的退出”并自行处理。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。