2016-05-11 86 views
1

如何在使用Swift的iOS應用程序中使用plivo SMS API。我閱讀了很多關於這方面的文檔。我不知道如何在swift上實現它。使用Plivo API從iOS應用程序發送短信

var plivo = require('plivo'); 
var p = plivo.RestAPI({ 
authId: 'Your AUTH_ID', 
authToken: 'Your AUTH_TOKEN' 
}); 

var params = { 
'src': '1111111111', // Sender's phone number with country code 
'dst' : '2222222222', // Receiver's phone Number with country code 
'text' : "Hi, text from Plivo", // Your SMS Text Message - English 
//'text' : "こんにちは、元気ですか?", // Your SMS Text Message - Japanese 
//'text' : "Ce est texte généré aléatoirement", // Your SMS Text Message - French 
'url' : "http://example.com/report/", // The URL to which with the status of the message is sent 
'method' : "GET" // The method used to call the url 
}; 

// Prints the complete response 
p.send_message(params, function (status, response) { 
console.log('Status: ', status); 
console.log('API Response:\n', response); 
console.log('Message UUID:\n', response['message_uuid']); 
console.log('Api ID:\n', response['api_id']); 
}); 

上面的代碼是在Node.js的,我想它的迅速寫入,同時還我不知道如何plivo集成到iOS應用。我正在開發一個應用程序,當用戶請求訂單時,它應該向用戶發送短信。所以我只想從Plivo傳出的消息給管理員。任何建議都非常有用。

+0

一個類似的例子(儘管不使用plivo):bit.ly/2fw6fN1 –

回答

0

因此,如果沒有輔助函數庫,您將不得不使用它們的REST API。從他們的網站,發送短信可以發佈您的信息做

https://api.plivo.com/v1/Account/{auth_id}/Message/ 

至於雨燕部分在NSMutableURLRequest看看,或者如果您需要使用網絡請求幫助,你可以看看Alamofire

+0

我明白,我應該利用HTTP請求。但是如何將REST API集成到我的應用程序中?我應該爲此導入Plivo?但我如何實現這一目標? –

+0

沒有助手庫沒有什麼可導入的,你必須手動建立http請求。像Alamofire這樣的圖書館會讓這更容易 –

+0

謝謝Jason。我還有一個問題,蘋果公司是否允許只發送HTTP請求的短信?它會安全嗎?如果我這樣做,我的應用會被拒絕嗎? –

1

Plivo銷售工程師在這裏。我們的建議是託管一臺服務器,iOS應用程序將向其發送SMS請求。然後你的服務器可以使用一個Plivo幫助程序庫來發送發送SMS的API請求。這樣,您的AuthID和AuthToken就會存儲在您的服務器上(只有您擁有完全訪問權限),並且您不會在iOS應用中暴露您的Plivo憑據。

如果您從iOS應用程序直接請求了Plivo API,那麼用戶可能會發現並濫用您的憑證。

tl; dr - 不要將您的認證憑證放在其他人可以讀取的地方。

+0

感謝諮詢查理。我肯定會考慮它。現在我正在試用帳戶並嘗試發送消息。既然你說你是Plivo Sales engg,我幾乎沒有問題給你。我通過這個HTTP請求「https://api.plivo.com/v1/Account/\(myTrialauthid)\(myTrialAuthToken)/Message/」我得到這樣的回覆:響應:無法驗證您的訪問級別爲該網址。 您必須使用適當的憑據登錄 請問您有什麼問題嗎? –

+0

您在請求url時需要使用http基本認證。你應該可以像這樣編寫url:'https:// AUTH_ID:AUTH_TOKEN @ api.plivo.com/v1/Account/AUTH_ID/Message /'用你的Plivo認證ID和'AUTH_TOKEN'替換'AUTH_ID' Plivo Auth令牌。 – CharlieC

+0

我試過了,但不起作用 –

0

如果你想使用REST API,你可以這樣做:

lazy var plivoRestAPI: PlivoRest = { 
    let rest = PlivoRest(authId: Constants.Credentials.Plivo.AuthId, 
         andAuthToken: Constants.Credentials.Plivo.AuthToken)! 
    rest.delegate = self 
    return rest 
}() 

let params = ["to": phoneNumberToCall, 
       "from": "1111111111", 
       "answer_url": "", 
       "answer_method": "GET"] 
plivoRestAPI.callOutbound(params) 
相關問題