2015-06-03 66 views
0

我使用Twilio在我的应用程序中发送短信验证。我只使用Twilio REST API为每个用户发送一条短信。Twilio足以进行国际短信验证吗?

然而,启动后,我们收到了来自国际用户的几个投诉。他们从来没有收到短信。

什么是实施短信/语音验证几乎无处不在的最佳方式?

是的,国际短信在我的Twilio帐户中启用。

def sendByTwilio(phone, verificationCode): 
try: 
    account_sid = "XXXXX" 
    auth_token = "XXXXXX" 
    client = TwilioRestClient(account_sid, auth_token) 
    rv = client.sms.messages.create(to="phone", 
            from_="XXXXXXXXXX", 
            body="Your verification code is "+str(verificationCode)) 
    return True 
except TwilioRestException, e: 
    pass 

return False 

回答

1

有几个原因可能导致短信在国际地区无法使用。 Twilio在一些地方运行良好,但并不是无处不在。在印度,它们非常有限,不会推荐使用它们 - https://www.twilio.com/help/faq/sms/are-there-limitations-on-sending-sms-messages-to-indian-mobile-devices

我不认为API版本会改变SMS的传送能力,当您走向国际时,确保SMS收到的障碍超出了SMS网关。请阅读本文以获取有关改善全球SMS接收的更多信息check out this

1

您是否启用了地理位置?如果没有,您必须从twilio帐户设置启用它。次要你应该做TwilioException的一些日志记录。可能是数字可能不带前缀+符号,这会导致问题

2

Twilio开发人员传道这里。

Kamran是对的,你应该检查你的帐户的国际权限。

另一件事是您正在使用SMS/Messages resource which has been deprecated。如果您将代码更新为:

rv = client.messages.create(to="phone", 
          from_="XXXXXXXXXX", 
          body="Your verification code is "+str(verificationCode)) 

然后您将使用较新的Messages资源。

+0

我同意philnash有关短信API弃用。虽然我已经使用C#版本的SMS短信,但有多个问题。所以我使用了其他消息传递API,其工作相当好,除了一个问题,即当消息到达客户端时,该数字是随机生成的,而不是我们从twilio购买的数字 –

+0

@KamranShahid如果你有这个问题,那么请在[email protected]上提出它(如果你还没有)Twilio支持。 – philnash

+0

好phil.Just让外星人知道他可能还会面临什么问题,因为他正在发送一些验证码,如果客户回复可能的随机生成的号码,则回复可能无法到达。 –