检测Twilio服务号以防止SMS响应循环

时间:2016-04-27 17:20:16

标签: api sms twilio

我们的一位用户(可能是偶然而非恶意)将Lyft的短信服务号码作为她的电话号码。因此,我们的SMS文本服务正在循环中与Lyft的SMS文本服务进行交互。见下面的日志: enter image description here

我想知道是否有办法检测这种机器到机器的SMS循环并防止它发生。我们正在使用Twilio API为我们的SMS自动回复系统和so does Lyft提供支持。

2 个答案:

答案 0 :(得分:3)

只需对您的应用逻辑进行更改即可在一定数量的相同消息后停止回复(在memcache中存储每条消息的散列几分钟或类似内容。)SMS消息中没有元数据可以允许您最终将发起人确定为另一种自动服务。

答案 1 :(得分:2)

您正在体验以下内容:https://www.twilio.com/docs/api/errors/14107

为对话中的每个出站TwiML回复设置了一个计数器(两个数字之间)。当第一个回复发生时,计数器从1开始。如果在前一个回复后不到15秒发送下一个回复,则计数器转到2.如果每个回复少于15秒,这将继续,直到计数器超过20,Twilio将保留发送30秒的任何消息并抛出此错误。

您可以考虑使用Lookup API尝试检测您可能会或可能不会成功的服务号码,具体取决于条件。

我建议您在this page上尝试使用相关号码的示例请求和响应,并查看返回的参数,以确定在这种情况下这是否有帮助。