2015-06-03 44 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讓外星人知道他可能還會面臨什麼問題,因爲他正在發送一些驗證碼,如果客戶回覆可能的隨機生成的號碼,則回覆可能無法到達。 –