2016-05-11 52 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) 
相关问题