GlobeConnectSwift 1.2.1

GlobeConnectSwift 1.2.1

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最后发布2017年3月
SwiftSwift 版本3.0
SPM支持 SPM

globelabsdev 维护。



  • Rico Maglayon

Globe Connect for Swift

设置

请参阅此 链接 来获取通过 CocoaPods 安装 Globe Connect Swift 的说明。

认证

概述

如果您尚未注册,请遵循入门指南中的说明以获取 App IDApp 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是大多数智能手机上构建的基本功能,允许手机用户与菜单选项进行交互。

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回复

以下示例展示了如何发送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

概述

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"
            }
        ]
    }
}