测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可 | MIT |
发布最后发布 | 2017年3月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✓ |
由 globelabsdev 维护。
请参阅此 链接 来获取通过 CocoaPods 安装 Globe Connect Swift 的说明。
如果您尚未注册,请遵循入门指南中的说明以获取 App ID
和 App Secret
,这些标记将用于验证您与 Globe API 的交互请求的大部分内容。
The authenication process follows the protocols of **OAuth 2.0**. The example code below shows how you can swap your app tokens for an access token.
import GlobeConnectSwift
Authentication().getAccessToken(
appId: "[app_id]",
appSecret: "[app_secret]",
code: "[code]",
success: { json in
dump(json)
},
failure: { error in
print(error)
})
let url = Authentication().getDialogUrl(appId: "[app_id]")
print(url)
{
"access_token":"1ixLbltjWkzwqLMXT-8UF-UQeKRma0hOOWFA6o91oXw",
"subscriber_number":"9171234567"
}
短信服务 (SMS) 允许您的应用程序或服务向您的 Globe / TM 订户发送和接收安全、有针对性的文本消息和警报。
Note: All API calls must include the access_token as one of the Universal Resource Identifier (URI) parameters.
向一个或多个手机终端发送 SMS 消息
import GlobeConnectSwift
let sms = Sms(
accessToken: "[access_token]",
shortCode: "[short_code]"
)
sms.sendMessage(
address: "[subscriber_number]",
message: "[message]",
success: { json in
dump(json)
},
failure: { error in
print(error)
})
{
"outboundSMSMessageRequest": {
"address": "tel:+639175595283",
"deliveryInfoList": {
"deliveryInfo": [],
"resourceURL": "https://devapi.globelabs.com.ph/smsmessaging/v1/outbound/8011/requests?access_token=3YM8xurK_IPdhvX4OUWXQljcHTIPgQDdTESLXDIes4g"
},
"senderAddress": "8011",
"outboundSMSTextMessage": {
"message": "Hello World"
},
"receiptRequest": {
"notifyURL": "http://test-sms1.herokuapp.com/callback",
"callbackData": null,
"senderName": null,
"resourceURL": "https://devapi.globelabs.com.ph/smsmessaging/v1/outbound/8011/requests?access_token=3YM8xurK_IPdhvX4OUWXQljcHTIPgQDdTESLXDIes4g"
}
}
}
通过短信发送二进制数据
import GlobeConnectSwift
let sms = Sms(
accessToken: "[access_token]",
shortCode: "[short_code]"
)
sms.sendBinaryMessage(
address: "[subscriber_number]",
message: "[message]",
header: "[data_header]",
success: { json in
dump(json)
},
failure: { error in
print(error)
})
{
"outboundBinaryMessageRequest": {
"address": "9171234567",
"deliveryInfoList": {
"deliveryInfo": [],
"resourceURL": "https://devapi.globelabs.com.ph/binarymessaging/v1/outbound/{senderAddress}/requests?access_token={access_token}",
"senderAddress": "21581234",
"userDataHeader": "06050423F423F4",
"dataCodingScheme": 1,
"outboundBinaryMessage": {
"message": "samplebinarymessage"
},
"receiptRequest": {
"notifyURL": "http://example.com/notify",
"callbackData": null,
"senderName": null
},
"resourceURL": "https://devapi.globelabs.com.ph/binarymessaging/v1/outbound/{senderAddress}/requests?access_token={access_token}"
}
}
USSD是大多数智能手机上构建的基本功能,允许手机用户与菜单选项进行交互。
以下示例展示了如何发送USSD请求。
import GlobeConnectSwift
let ussd = Ussd(
accessToken: "[access_token]",
shortCode: "[short_code]"
)
ussd.sendUssdRequest(
address: "[subscriber_number]",
message: "[message]",
flash: [flash],
success: { json in
dump(json)
},
failure: { error in
print(error)
})
{
"outboundUSSDMessageRequest": {
"address": "639954895489",
"deliveryInfoList": {
"deliveryInfo": [],
"resourceURL": "https://devapi.globelabs.com.ph/ussd/v1/outbound/21589996/reply/requests?access_token=access_token"
},
"senderAddress": "21580001",
"outboundUSSDMessage": {
"message": "Simple USSD Message\nOption - 1\nOption - 2"
},
"receiptRequest": {
"ussdNotifyURL": "http://example.com/notify",
"sessionID": "012345678912"
},
"resourceURL": "https://devapi.globelabs.com.ph/ussd/v1/outbound/21589996/reply/requests?access_token=access_token"
}
}
以下示例展示了如何发送USSD回复。
import GlobeConnectSwift
let ussd = Ussd(
accessToken: "[access_token]",
shortCode: "[short_code]"
)
ussd.replyUssdRequest(
address: "[subscriber_number]",
message: "[message]",
sessionId: "[session_id]",
flash: [flash],
success: { json in
dump(json)
},
failure: { error in
print(error)
})
{
"outboundUSSDMessageRequest": {
"address": "639954895489",
"deliveryInfoList": {
"deliveryInfo": [],
"resourceURL": "https://devapi.globelabs.com.ph/ussd/v1/outbound/21589996/reply/requests?access_token=access_token"
},
"senderAddress": "21580001",
"outboundUSSDMessage": {
"message": "Simple USSD Message\nOption - 1\nOption - 2"
},
"receiptRequest": {
"ussdNotifyURL": "http://example.com/notify",
"sessionID": "012345678912",
"referenceID": "f7b61b82054e4b5e"
},
"resourceURL": "https://devapi.globelabs.com.ph/ussd/v1/outbound/21589996/reply/requests?access_token=access_token"
}
}
您的应用程序可以通过向客户发送付费请求来货币化来自客户手机充电的服务,客户可以选择接受。
以下示例展示了您如何请求客户付费。
import GlobeConnectSwift
let payment = Payment(
appId: "[app_id]",
appSecret: "[app_secret]",
accessToken: "[access_token]"
)
payment.sendPaymentRequest(
amount: [amount],
description: "[description]",
endUserId: "[subscriber_number]",
referenceCode: "[reference]",
transactionOperationStatus: "[status]",
success: { json in
dump(json)
},
failure: { error in
print(error)
})
{
"amountTransaction":
{
"endUserId": "9171234567",
"paymentAmount":
{
"chargingInformation":
{
"amount": "0.00",
"currency": "PHP",
"description": "my application"
},
"totalAmountCharged": "0.00"
},
"referenceCode": "12341000023",
"serverReferenceCode": "528f5369b390e16a62000006",
"resourceURL": null
}
}
以下示例展示了您如何获取充值的最后参考。
import GlobeConnectSwift
let payment = Payment(
appId: "[app_id]",
appSecret: "[app_secret]",
accessToken: "[access_token]"
)
payment.getLastReferenceCode(
success: { json in
dump(json)
},
failure: { error in
print(error)
})
{
"referenceCode": "12341000005",
"status": "SUCCESS",
"shortcode": "21581234"
}
Amax是一款您可以在应用程序中使用来自动构建促销活动,以奖励客户某些全球优惠。
import GlobeConnectSwift
let amax = Amax(
appId: "[app_id]",
appSecret: "[app_secret]"
)
amax.sendRewardRequest(
address: "[subscriber_number]",
promo: "[promo]",
rewardsToken: "[rewards_token]",
success: { json in
dump(json)
},
failure: { error in
print(error)
})
{
"outboundRewardRequest": {
"transaction_id": 566,
"status": "Please check your AMAX URL for status",
"address": "9065272450",
"promo": "FREE10MB"
}
}
为了确定您客户的通用区域(纬度,经度),您可以利用此功能。
import GlobeConnectSwift
let locationQuery = LocationQuery(accessToken: "[access_token]")
locationQuery
.getLocation(
address: "[subscriber_number]",
success: { json in
dump(json)
},
failure: { error in
print(error)
})
{
"terminalLocationList": {
"terminalLocation": {
"address": "tel:9171234567",
"currentLocation": {
"accuracy": 100,
"latitude": "14.5609722",
"longitude": "121.0193394",
"map_url": "http://maps.google.com/maps?z=17&t=m&q=loc:14.5609722+121.0193394",
"timestamp": "Fri Jun 06 2014 09:25:15 GMT+0000 (UTC)"
},
"locationRetrievalStatus": "Retrieved"
}
}
}
用户数据查询API界面允许Web应用程序查询移动网络运营商客户的终端用户的客户资料。
以下示例展示了您如何获取用户余额。
import GlobeConnectSwift
let subscriber = Subscriber(accessToken: "[access_token]")
subscriber.getSubscriberBalance(
address: "[subscriber_number]",
success: { json in
dump(json)
},
failure: { error in
print(error)
})
{
"terminalLocationList":
{
"terminalLocation":
[
{
address: "639171234567",
subBalance: "60200"
}
]
}
}
以下示例展示了如何获取订阅者重新加载的金额。
import GlobeConnectSwift
let subscriber = Subscriber(accessToken: "[access_token]")
subscriber
.getSubscriberReloadAmount(
address: "[subscriber_number]",
success: { json in
dump(json)
},
failure: { error in
print(error)
})
{
"terminalLocationList":
{
"terminalLocation":
[
{
address: "639171234567",
reloadAmount: "30000"
}
]
}
}