1

如何使用 Swift 在我的 iOS 应用程序中使用 plivo SMS API。我阅读了很多关于此的文档。我不确定如何快速实现它。

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 中,我希望它用 swift 编写,而且我不确定如何将 plivo 集成到 iOS 应用程序中。我正在开发一个应用程序,它应该在用户请求订单时向管理员发送短信。所以我只想要从 Plivo 到管理员的传出消息。任何建议都非常有帮助。

4

3 回答 3

1

Plivo 销售工程师在这里。我们的建议是托管一个服务器,您的 iOS 应用程序会向该服务器发出发送 SMS 的请求。然后您的服务器可以使用 Plivo 帮助程序库来发出发送 SMS 的 API 请求。这样,您的 AuthID 和 AuthToken 将存储在您的服务器上(只有您可以完全访问该服务器),并且您不会在 iOS 应用程序中公开您的 Plivo 凭据。

如果您从 iOS 应用程序直接请求 Plivo API,那么用户可能会找到并滥用您的凭据。

tl; dr - 不要将您的身份验证凭据放在其他人可以阅读的地方。

于 2016-05-11T16:42:28.373 回答
0

因此,如果没有帮助程序库,您将不得不使用他们的REST API。从他们的网站,发送短信可以通过将您的信息发布到

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

至于 Swift 部分,请查看NSMutableURLRequest或者如果您需要有关网络请求的帮助,您可以查看Alamofire

于 2016-05-11T16:11:10.700 回答
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)
于 2017-04-28T06:35:48.003 回答