RingCentral SDK 可以通过以下方式初始化。
沙盒
var rcsdk = SDK(appKey: app_key, appSecret: app_secret, server: SDK.RC_SERVER_SANDBOX)
生产
var rcsdk = SDK(appKey: app_key, appSecret: app_secret, server: SDK.RC_SERVER_PRODUCTION)
应该从配置文件中读取与应用密钥('app_key')和应用程序密钥('app_secret')。
根据生产的阶段,将使用
SDK.RC_SERVER_SANDBOX 或 SDK.RC_SERVER_PRODUCTION
作为 'server' 参数。
提取平台对象以授权平台。
var platform = rcsdk.platform()
提取平台后,调用
platform.login(username, password: password)
或(若要通过扩展进行授权)
platform.login(username, ext: ext, password: password)
只要刷新令牌有效,SDK 将自动刷新令牌。
注意:如果没有指定扩展,平台将自动引用扩展 101(默认扩展)。
当前所有请求都可以通过以下方式完成
platform.get('/account/~/extension/~')
platform.post('/account/~/extension/~', body: [])
platform.put('/account/~/extension/~', body: [])
platform.delete('/account/~/extension/~', query: [])
将以下代码作为完成处理程序附加(总是)
{
(transaction) in
if (error) {
// do something for error
} else {
// continue with code
}
}
将返回的数据放入字典中(JSON):这是由 SDK 中的 ApiResponse 类处理的。我们可以按照以下方式检索字典
ApiResponse 类处理 NSJSON 序列化
NSJSONSerialization.JSONObjectWithData(data!, options: nil, error: &errors) as! NSDictionary
如以下所示,在您的应用程序中检索字典
transaction.getDict()
为了数据的可读性
println(transaction.getDict())
RingOut 遵循双段式电信协议。使用以下方法调用发送 RingOut。
platform.post("/account/~/extension/~/ringout", body :
[ "to": ["phoneNumber": "ToNumber"],
"from": ["phoneNumber": "FromNumber"],
"callerId": ["phoneNumber": "CallerId"],
"playPrompt": "true"
])
{
(completition handler)
}
使用以下方法调用发送短信。
platform.post("/account/~/extension/~/sms", body :
[ "to": [["phoneNumber": "18315941779"]],
"from": ["phoneNumber": "15856234190"],
"text": "Test"
])
{
(completition handler)
}
使用 createSubscription 方法创建订阅
var subscription = rcsdk.createSubscription()
将事件添加到订阅对象中
subscription.addEvents(
[
"/restapi/v1.0/account/~/extension/~/presence",
"/restapi/v1.0/account/~/extension/~/message-store"
])
注册订阅
subscription.register()
{
(completition handler)
}
请注意,由于 PUBNUB 库的限制,它是同步的,可能需要手动重新创建订阅,因为订阅可能会过期。
登录页面:输入 app_key、app_secret、用户名、密码以登录。这通常通过配置文件完成。
电话页面:使用数字键盘输入所需的数字。状态栏(初始显示为红色矩形“无通话”)会相应地改变颜色。允许发送短信、传真以及打电话。
日志页面:展示“通话记录”和“短信记录”的实现。