SlideShare a Scribd company logo
1 of 27
GSMA OneAPI Gateway

                     It's a Cross Carrier play
               Here's where APIs get really exciting!




Confidential                     1
OneAPI — Registration


   1.          Register at:
               https://oneapi-gw.gsma.com

   2.          Confirm email
   3.          Log in


               Provides access to dashboard and developer
                               documentation

Confidential                       2
Creating an Application
                                                         Click on
                                                     Company Name
                    Log In         Go to Dashboard
                                                      in Developer
                                                         Profiles




                                    Complete the      Click ‗Create
               Enter application    form and click    Application‘
                    name                ‗create
                                      application‘   Bottom of page




               Add test phone       Click ―Create
                 numbers            Application‖


Confidential                            3
Manage Application


You can find this page
from the Dashboard:

1.             Go to Dashboard
2.             Click on the company
               name link below
               Developer Profiles
               (bottom of page)
3.             Click on the Manage
               Application button
               next to your
               application name.

     Confidential                     4
Application Specific Info

    Note the two application profile buttons:
     ―Endpoints‖ — Important application settings necessary
      for using the APIs
     ―Manage Whitelist‖ — Phone numbers for testing with
      APIs




Confidential                    5
Necessary Information


              Application Profile — Endpoints
               –   Application User Name & Application Password
               –   The URI prefixes (excluding the ―.*‖ suffix, shown, if
                   any) for each API-type
              PDF documents describing API sets‘ usage
               –   ―Common Information Guide‖ some error codes
               –   ―Sandbox Data service‖ prereq for Payments APIs
                   described in ―Payment Developer Guide‖
               –   ―Privacy Developer Guide‖ prereq for Location APIs
                   described in ―Terminal Location Developer Guide‖


Confidential                                6
API Protocol


              HTTP / REST (mostly)
              HTTP Basic Access Authentication
              Form-data or JSON Input
              XML or JSON output
              Some APIs Accept Callback URIs




Confidential                        7
Tools


              curl — Unix, Linux, OSX, cygwin/Win
              RESTClient — Firefox plug-in
              Chrome debug console — Chrome
              Browser (GET method testing)
              Coding




Confidential                        8
RESTClient




Confidential   9
APIs Supported


              Sending SMS from short code to phone
              Receiving SMS (to short code)
              Location (latitude/longitude)
              Payment — Charge to phone bill




Confidential                       10
Send SMS to Phone


   1.          Add test phone number to Whitelist
   2.          Create request JSON in a file
   3.          Call HTTP
   4.          Receive Transaction ID

              Use Transaction ID to check delivery status




Confidential                         11
SMS Send JSON Example


   {
               "outboundSMSMessageRequest":
               {
                   "address": ["tel:+16045551212"],
                   "clientCorrelator": "10002",
                   "outboundSMSTextMessage":
                       { "message": "Test SMS from 7511" },
                   "senderAddress": "tel:7511",
                   "senderName": "Super Send"
               }
   }



Confidential                        12
SMS Send Response


   https://oneapi-gw.gsma.com/smssend/2_0/smsmessaging/
   outbound/tel%3A7511/requests
   {
    "resourceReference" : {
      "resourceURL" :
         "https://oneapi-gw.gsma.com:443
             /SendSmsService/OneAPI_REST_v2_0
             /routing/2_0/smsmessaging/outbound
             /tel:7511/requests/222405168"
    }
   }




Confidential                 13
Checking SMS Status


   https://oneapi-gw.gsma.com/smssend/2_0/smsmessaging/
   outbound/tel:7511/requests/222405168/deliveryInfos
   {
    "deliveryInfoList" : {
      "resourceURL" : "https://oneapi-
      gw.gsma.com:443/SendSmsService/OneAPI_REST_v
      2_0/routing/2_0/smsmessaging/outbound/tel:7511/requ
      ests/222405168/deliveryInfos",
      "deliveryInfo" : [ {
        "address" : "tel:+16045551212",
        "deliveryStatus" : "DeliveredToNetwork"
      } ] …



Confidential                 14
Location Query


   1.          Whitelist phone number
   2.          Get permission to retrieve position
               (once only, per app, privacy API)
   3.          User authorizes
   4.          Retrieve user‘s location




Confidential                       15
Location Response


   https://oneapi-gw.gsma.com/location/2_0/location/
   queries/location?address=tel%3A%2B16045551212&requestedAccur
   acy=5000
   {
    "terminalLocationList" : {
      "terminalLocation" : [ {
        "address" : "tel:+16045551212",
        "locationRetrievalStatus" : "Retrieved",
        "currentLocation" : {
          "latitude" : 49.248688,
          "longitude" : -123.19475,
          "altitude" : 0.0,
          "accuracy" : 769,
          "timestamp" : "2012-05-30T17:41:37.000-04:00"
        }
      } ] …
Confidential                    16
Location API Example


   1.          Add phone number to Whitelist
   2.          Ask permission to retrieve location

   POST https://oneapi-gw.gsma.com/privacy HTTP/1.1
   Content-Type: application/x-www-form-urlencoded
   address=tel%3A%2B16045551212&callbackUrl=http%3A%2F%2
   Fwww.example.com




Confidential                          17
Location API Example


   3.          User responds to text with ―ALLOW‖
   4.          Check status (or use callback)
   https://oneapi-gw.gsma.com/privacy?address
   =tel%3A%2B16045551212<?xml version="1.0"
     encoding="UTF-8"standalone="yes"?>
   <PrivacyResponse status="ALLOWED"/>


   All future location requests are enabled for the app
      for that user.


Confidential                        18
Location API Example


   5.          Retrieve location
   https://oneapi-gw.gsma.com/location/2_0/location/queries/
   location?address=tel%3A%2B16045551212&requestedAccuracy=5000
   {
    "terminalLocationList" : {
      "terminalLocation" : [ {
        "address" : "tel:+16045551212",
        "locationRetrievalStatus" : "Retrieved",
        "currentLocation" : {
          "latitude" : 49.248688,
          "longitude" : -123.19475,
          "altitude" : 0.0,
          "accuracy" : 769,
          "timestamp" : "2012-05-30T17:41:37.000-04:00"
        }
      } ]
    }
   }
Confidential                       19
Payment API


   1.          Create Payments Sandbox Group (if not
               already created)
   2.          Add ―subscribers‖ to the group, by phone
               number
   3.          Call Payment API to ―charge‖ money
   4.          Call Payment API to detect status



Confidential                      20
Payment Example


   1.          Create Payments Sandbox Group
               https://oneapi-gw.gsma.com
               /sandboxdataservice/Payment_Sandbox
   2.          Add phone numbers to group
               https://oneapi-gw.gsma.com
               /sandboxdataservice/Payment_Sandbox/tel%3A
               %2B16045551212




Confidential                      21
Payment Example


   1.          Create payment request JSON
   {
               "amountTransaction": {
                   "clientCorrelator": "100003",
                   "endUserId": "tel:+16045551212",
                   "paymentAmount": {
                       "chargingInformation": {
                           "amount": "10.01",
                           "currency": "CAD",
                           "description": [”Our product"]
                       },
                       "chargingMetaData" : {
                           "onBehalfOf" : "Viafo Inc",
                           "purchaseCategoryCode" : "Game",
                           "taxAmount" : "0"
                       }
                   },
                   "referenceCode": "REF-NJD-12345a",
                   "transactionOperationStatus": "CHARGED"
               }
   }


Confidential                                          22
Payment Example


   2. Call Payment function API
   https://oneapi-gw.gsma.com/sandboxpayment/
   2_1/payment/tel%3A%2B16045551212/transactions/amount




Confidential                 23
Payment Example
    3.         Payment call‘s response
    {
               "amountTransaction": {
                   "clientCorrelator": "1234569",
                   "endUserId": "tel:+13107486358",
                   "paymentAmount": {
                       "chargingInformation": {
                           "amount": 5.0,
                           "currency": "CAD",
                           "description": [
                               "Alien Invaders Game"
                           ]
                       },
                       "chargingMetaData": {
                           "onBehalfOf": "Example Games Inc",
                           "purchaseCategoryCode": "Game",
                           "taxAmount": 0
                       },
                       "totalAmountCharged": 5.0
                   },
                   "referenceCode": "REF-005",
                   "resourceURL": "https://oneapi-
               gw.gsma.com:443/PaymentService/OneAPI_REST_v2_1/sandbox/2_1/payment/tel%253A%252B131
               07486358/transactions/amount/REF-005-175",
                   "serverReferenceCode": "REF-005-175",
                   "transactionOperationStatus": "CHARGED"
Confidential   }                                      24


    }
Payment Example


   4.          Check payment request status
   https://oneapi-gw.gsma.com/payment/2_1/payment/
   tel%3A%2B16045551212/transactions/amount/REF-005-175




Confidential                       25
Speakers & Your Developer Evangelists


              Caroline Lewko
              Bill Lee
              David O‘Neill




Confidential                    26
http://bit.ly/oneapi-usage-notes


http://www.slideshare.net/oneapilive/using-the-gsma
-oneapi-gateway




Confidential                              27

More Related Content

What's hot

(4) OAuth 2.0 Obtaining Authorization
(4) OAuth 2.0 Obtaining Authorization(4) OAuth 2.0 Obtaining Authorization
(4) OAuth 2.0 Obtaining Authorizationanikristo
 
Android Cloud to Device Messaging Framework at GTUG Stockholm
Android Cloud to Device Messaging Framework at GTUG StockholmAndroid Cloud to Device Messaging Framework at GTUG Stockholm
Android Cloud to Device Messaging Framework at GTUG StockholmJohan Nilsson
 
Securing RESTful APIs using OAuth 2 and OpenID Connect
Securing RESTful APIs using OAuth 2 and OpenID ConnectSecuring RESTful APIs using OAuth 2 and OpenID Connect
Securing RESTful APIs using OAuth 2 and OpenID ConnectJonathan LeBlanc
 
OAuth2 - Introduction
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - IntroductionKnoldus Inc.
 
Stateless Auth using OAuth2 & JWT
Stateless Auth using OAuth2 & JWTStateless Auth using OAuth2 & JWT
Stateless Auth using OAuth2 & JWTGaurav Roy
 
FOSS STHLM Android Cloud to Device Messaging
FOSS STHLM Android Cloud to Device MessagingFOSS STHLM Android Cloud to Device Messaging
FOSS STHLM Android Cloud to Device MessagingJohan Nilsson
 
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...
OAuth 2.0  - The fundamentals, the good , the bad, technical primer and commo...OAuth 2.0  - The fundamentals, the good , the bad, technical primer and commo...
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...Good Dog Labs, Inc.
 
Intro to API Security with Oauth 2.0
Intro to API Security with Oauth 2.0Intro to API Security with Oauth 2.0
Intro to API Security with Oauth 2.0Functional Imperative
 
Implementing OAuth with PHP
Implementing OAuth with PHPImplementing OAuth with PHP
Implementing OAuth with PHPLorna Mitchell
 
#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2
#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2
#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2Profesia Srl, Lynx Group
 
OAuth 2 at Webvisions
OAuth 2 at WebvisionsOAuth 2 at Webvisions
OAuth 2 at WebvisionsAaron Parecki
 
Security for oauth 2.0 - @topavankumarj
Security for oauth 2.0 - @topavankumarjSecurity for oauth 2.0 - @topavankumarj
Security for oauth 2.0 - @topavankumarjPavan Kumar J
 
[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect Protocol[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect ProtocolClément OUDOT
 

What's hot (20)

Demystifying OAuth 2.0
Demystifying OAuth 2.0Demystifying OAuth 2.0
Demystifying OAuth 2.0
 
(4) OAuth 2.0 Obtaining Authorization
(4) OAuth 2.0 Obtaining Authorization(4) OAuth 2.0 Obtaining Authorization
(4) OAuth 2.0 Obtaining Authorization
 
Android Cloud to Device Messaging Framework at GTUG Stockholm
Android Cloud to Device Messaging Framework at GTUG StockholmAndroid Cloud to Device Messaging Framework at GTUG Stockholm
Android Cloud to Device Messaging Framework at GTUG Stockholm
 
Securing RESTful APIs using OAuth 2 and OpenID Connect
Securing RESTful APIs using OAuth 2 and OpenID ConnectSecuring RESTful APIs using OAuth 2 and OpenID Connect
Securing RESTful APIs using OAuth 2 and OpenID Connect
 
OAuth2 - Introduction
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - Introduction
 
Stateless Auth using OAuth2 & JWT
Stateless Auth using OAuth2 & JWTStateless Auth using OAuth2 & JWT
Stateless Auth using OAuth2 & JWT
 
OAuth using PHP5
OAuth using PHP5OAuth using PHP5
OAuth using PHP5
 
FOSS STHLM Android Cloud to Device Messaging
FOSS STHLM Android Cloud to Device MessagingFOSS STHLM Android Cloud to Device Messaging
FOSS STHLM Android Cloud to Device Messaging
 
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...
OAuth 2.0  - The fundamentals, the good , the bad, technical primer and commo...OAuth 2.0  - The fundamentals, the good , the bad, technical primer and commo...
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...
 
TripThru_API_Doc_v1
TripThru_API_Doc_v1TripThru_API_Doc_v1
TripThru_API_Doc_v1
 
OAuth and Open-id
OAuth and Open-idOAuth and Open-id
OAuth and Open-id
 
Intro to API Security with Oauth 2.0
Intro to API Security with Oauth 2.0Intro to API Security with Oauth 2.0
Intro to API Security with Oauth 2.0
 
Implementing OAuth with PHP
Implementing OAuth with PHPImplementing OAuth with PHP
Implementing OAuth with PHP
 
#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2
#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2
#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2
 
OAuth 2 at Webvisions
OAuth 2 at WebvisionsOAuth 2 at Webvisions
OAuth 2 at Webvisions
 
The State of OAuth2
The State of OAuth2The State of OAuth2
The State of OAuth2
 
OpenID Connect Explained
OpenID Connect ExplainedOpenID Connect Explained
OpenID Connect Explained
 
Security for oauth 2.0 - @topavankumarj
Security for oauth 2.0 - @topavankumarjSecurity for oauth 2.0 - @topavankumarj
Security for oauth 2.0 - @topavankumarj
 
Oauth2.0
Oauth2.0Oauth2.0
Oauth2.0
 
[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect Protocol[LDAPCon 2015] The OpenID Connect Protocol
[LDAPCon 2015] The OpenID Connect Protocol
 

Viewers also liked

One API
One APIOne API
One APIfmkrm
 
GSMA OneAPI Gateway Launch Presentation
GSMA OneAPI Gateway Launch PresentationGSMA OneAPI Gateway Launch Presentation
GSMA OneAPI Gateway Launch PresentationGSMA OneAPI Gateway
 
OneAPI New_Deck_2016
OneAPI New_Deck_2016OneAPI New_Deck_2016
OneAPI New_Deck_2016publishers165
 
GSMA MMU: Consultation sur l'argent mobile de la bceao - Juin 2012
GSMA MMU: Consultation sur l'argent mobile de la bceao - Juin 2012GSMA MMU: Consultation sur l'argent mobile de la bceao - Juin 2012
GSMA MMU: Consultation sur l'argent mobile de la bceao - Juin 2012GSMA Mobile for Development
 
MMU: Results from the 2012 Global Mobile Money Adoption Survey
MMU: Results from the 2012 Global Mobile Money Adoption SurveyMMU: Results from the 2012 Global Mobile Money Adoption Survey
MMU: Results from the 2012 Global Mobile Money Adoption SurveyGSMA Mobile for Development
 
Optimising mobile signature v4
Optimising mobile signature v4Optimising mobile signature v4
Optimising mobile signature v4moldovaictsummit
 
MMU Webinar: Agent Training (French) - Oct 10, 2012
MMU Webinar: Agent Training (French) - Oct 10, 2012MMU Webinar: Agent Training (French) - Oct 10, 2012
MMU Webinar: Agent Training (French) - Oct 10, 2012GSMA Mobile for Development
 
The Customer Journey to Regular Usage - MMU Global Event 2013
The Customer Journey to Regular Usage - MMU Global Event 2013The Customer Journey to Regular Usage - MMU Global Event 2013
The Customer Journey to Regular Usage - MMU Global Event 2013GSMA Mobile for Development
 
GSMA mAgri Webinar: Designing & Marketing Mobile Information & Advisory Servi...
GSMA mAgri Webinar: Designing & Marketing Mobile Information & Advisory Servi...GSMA mAgri Webinar: Designing & Marketing Mobile Information & Advisory Servi...
GSMA mAgri Webinar: Designing & Marketing Mobile Information & Advisory Servi...GSMA Mobile for Development
 
Sebastian M. Cabello, 4G y el Dividendo Digital en América Latina
Sebastian M. Cabello, 4G y el Dividendo Digital en América LatinaSebastian M. Cabello, 4G y el Dividendo Digital en América Latina
Sebastian M. Cabello, 4G y el Dividendo Digital en América LatinaAhciet
 
mAgri Webinar: Mobile market information systems for farmers: requirements fo...
mAgri Webinar: Mobile market information systems for farmers: requirements fo...mAgri Webinar: Mobile market information systems for farmers: requirements fo...
mAgri Webinar: Mobile market information systems for farmers: requirements fo...GSMA Mobile for Development
 
GSMA mWomen design challenge 2012
GSMA mWomen design challenge 2012GSMA mWomen design challenge 2012
GSMA mWomen design challenge 2012Prawesh Shrestha
 
Mousse de iogurte
Mousse de iogurteMousse de iogurte
Mousse de iogurtealetriak
 
Webinar slides-how-to-maximise-the-impact-of-m health-services-for-maternal-a...
Webinar slides-how-to-maximise-the-impact-of-m health-services-for-maternal-a...Webinar slides-how-to-maximise-the-impact-of-m health-services-for-maternal-a...
Webinar slides-how-to-maximise-the-impact-of-m health-services-for-maternal-a...3GDR
 
Getting the Most Out of Your Data - Segmenting Your Mobile Money Customer Bas...
Getting the Most Out of Your Data - Segmenting Your Mobile Money Customer Bas...Getting the Most Out of Your Data - Segmenting Your Mobile Money Customer Bas...
Getting the Most Out of Your Data - Segmenting Your Mobile Money Customer Bas...GSMA Mobile for Development
 

Viewers also liked (18)

One API
One APIOne API
One API
 
GSMA OneAPI Gateway Launch Presentation
GSMA OneAPI Gateway Launch PresentationGSMA OneAPI Gateway Launch Presentation
GSMA OneAPI Gateway Launch Presentation
 
OneAPI New_Deck_2016
OneAPI New_Deck_2016OneAPI New_Deck_2016
OneAPI New_Deck_2016
 
GSMA MMU: Consultation sur l'argent mobile de la bceao - Juin 2012
GSMA MMU: Consultation sur l'argent mobile de la bceao - Juin 2012GSMA MMU: Consultation sur l'argent mobile de la bceao - Juin 2012
GSMA MMU: Consultation sur l'argent mobile de la bceao - Juin 2012
 
MMU: Results from the 2012 Global Mobile Money Adoption Survey
MMU: Results from the 2012 Global Mobile Money Adoption SurveyMMU: Results from the 2012 Global Mobile Money Adoption Survey
MMU: Results from the 2012 Global Mobile Money Adoption Survey
 
Optimising mobile signature v4
Optimising mobile signature v4Optimising mobile signature v4
Optimising mobile signature v4
 
MMU Webinar: Agent Training (French) - Oct 10, 2012
MMU Webinar: Agent Training (French) - Oct 10, 2012MMU Webinar: Agent Training (French) - Oct 10, 2012
MMU Webinar: Agent Training (French) - Oct 10, 2012
 
Mobile Commerce
Mobile CommerceMobile Commerce
Mobile Commerce
 
The Customer Journey to Regular Usage - MMU Global Event 2013
The Customer Journey to Regular Usage - MMU Global Event 2013The Customer Journey to Regular Usage - MMU Global Event 2013
The Customer Journey to Regular Usage - MMU Global Event 2013
 
GSMA mAgri Webinar: Designing & Marketing Mobile Information & Advisory Servi...
GSMA mAgri Webinar: Designing & Marketing Mobile Information & Advisory Servi...GSMA mAgri Webinar: Designing & Marketing Mobile Information & Advisory Servi...
GSMA mAgri Webinar: Designing & Marketing Mobile Information & Advisory Servi...
 
Commonwealth Digital Broadcasting Switchover Forum 2015 Mortimer Hope
Commonwealth Digital Broadcasting Switchover Forum 2015 Mortimer HopeCommonwealth Digital Broadcasting Switchover Forum 2015 Mortimer Hope
Commonwealth Digital Broadcasting Switchover Forum 2015 Mortimer Hope
 
Sebastian M. Cabello, 4G y el Dividendo Digital en América Latina
Sebastian M. Cabello, 4G y el Dividendo Digital en América LatinaSebastian M. Cabello, 4G y el Dividendo Digital en América Latina
Sebastian M. Cabello, 4G y el Dividendo Digital en América Latina
 
mAgri Webinar: Mobile market information systems for farmers: requirements fo...
mAgri Webinar: Mobile market information systems for farmers: requirements fo...mAgri Webinar: Mobile market information systems for farmers: requirements fo...
mAgri Webinar: Mobile market information systems for farmers: requirements fo...
 
DIA 2_01 mobile money_business_models_gsma
DIA 2_01 mobile money_business_models_gsmaDIA 2_01 mobile money_business_models_gsma
DIA 2_01 mobile money_business_models_gsma
 
GSMA mWomen design challenge 2012
GSMA mWomen design challenge 2012GSMA mWomen design challenge 2012
GSMA mWomen design challenge 2012
 
Mousse de iogurte
Mousse de iogurteMousse de iogurte
Mousse de iogurte
 
Webinar slides-how-to-maximise-the-impact-of-m health-services-for-maternal-a...
Webinar slides-how-to-maximise-the-impact-of-m health-services-for-maternal-a...Webinar slides-how-to-maximise-the-impact-of-m health-services-for-maternal-a...
Webinar slides-how-to-maximise-the-impact-of-m health-services-for-maternal-a...
 
Getting the Most Out of Your Data - Segmenting Your Mobile Money Customer Bas...
Getting the Most Out of Your Data - Segmenting Your Mobile Money Customer Bas...Getting the Most Out of Your Data - Segmenting Your Mobile Money Customer Bas...
Getting the Most Out of Your Data - Segmenting Your Mobile Money Customer Bas...
 

Similar to Using the GSMA OneAPI Gateway

OAuth and OpenID Connect for PSD2 and Third-Party Access
OAuth and OpenID Connect for PSD2 and Third-Party AccessOAuth and OpenID Connect for PSD2 and Third-Party Access
OAuth and OpenID Connect for PSD2 and Third-Party AccessNordic APIs
 
BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...
BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...
BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...BlueHat Security Conference
 
Social Gold in-Flash Webinar Jan 2010
Social Gold in-Flash Webinar Jan 2010Social Gold in-Flash Webinar Jan 2010
Social Gold in-Flash Webinar Jan 2010Social Gold
 
Social Gold In-Flash Payments Webinar
Social Gold In-Flash Payments WebinarSocial Gold In-Flash Payments Webinar
Social Gold In-Flash Payments WebinarSocial Gold
 
Advanced RingCentral API Use Cases
Advanced RingCentral API Use CasesAdvanced RingCentral API Use Cases
Advanced RingCentral API Use CasesByrne Reese
 
Complex architectures for authentication and authorization on AWS
Complex architectures for authentication and authorization on AWSComplex architectures for authentication and authorization on AWS
Complex architectures for authentication and authorization on AWSBoyan Dimitrov
 
Auth proxy pattern on Kubernetes
Auth proxy pattern on KubernetesAuth proxy pattern on Kubernetes
Auth proxy pattern on KubernetesMichał Wcisło
 
Is your mobile app as secure as you think?
Is your mobile app as secure as you think?Is your mobile app as secure as you think?
Is your mobile app as secure as you think?Matt Lacey
 
Micro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMicro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMichael Dawson
 
Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8FIWARE
 
Tadhack madrid June 2014: Joris Swinnen and WebRTC Nederland "Invite my colle...
Tadhack madrid June 2014: Joris Swinnen and WebRTC Nederland "Invite my colle...Tadhack madrid June 2014: Joris Swinnen and WebRTC Nederland "Invite my colle...
Tadhack madrid June 2014: Joris Swinnen and WebRTC Nederland "Invite my colle...Bart Uelen
 
From on premises monolith to cloud microservices
From on premises monolith to cloud microservicesFrom on premises monolith to cloud microservices
From on premises monolith to cloud microservicesAlbert Lombarte
 
Insight User Conference Bootcamp - Use the Engagement Tracking and Metrics A...
Insight User Conference Bootcamp - Use the Engagement Tracking  and Metrics A...Insight User Conference Bootcamp - Use the Engagement Tracking  and Metrics A...
Insight User Conference Bootcamp - Use the Engagement Tracking and Metrics A...SparkPost
 
Orion Context Broker
Orion Context Broker Orion Context Broker
Orion Context Broker TIDChile
 
Dave Carroll Application Services Salesforce
Dave Carroll Application Services SalesforceDave Carroll Application Services Salesforce
Dave Carroll Application Services Salesforcedeimos
 
How to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxHow to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxChanna Ly
 
CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...
CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...
CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...PROIDEA
 

Similar to Using the GSMA OneAPI Gateway (20)

1. device onboarding
1. device onboarding1. device onboarding
1. device onboarding
 
1. device onboarding pdf
1. device onboarding pdf1. device onboarding pdf
1. device onboarding pdf
 
OAuth and OpenID Connect for PSD2 and Third-Party Access
OAuth and OpenID Connect for PSD2 and Third-Party AccessOAuth and OpenID Connect for PSD2 and Third-Party Access
OAuth and OpenID Connect for PSD2 and Third-Party Access
 
BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...
BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...
BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...
 
Social Gold in-Flash Webinar Jan 2010
Social Gold in-Flash Webinar Jan 2010Social Gold in-Flash Webinar Jan 2010
Social Gold in-Flash Webinar Jan 2010
 
Social Gold In-Flash Payments Webinar
Social Gold In-Flash Payments WebinarSocial Gold In-Flash Payments Webinar
Social Gold In-Flash Payments Webinar
 
Advanced RingCentral API Use Cases
Advanced RingCentral API Use CasesAdvanced RingCentral API Use Cases
Advanced RingCentral API Use Cases
 
Complex architectures for authentication and authorization on AWS
Complex architectures for authentication and authorization on AWSComplex architectures for authentication and authorization on AWS
Complex architectures for authentication and authorization on AWS
 
Auth proxy pattern on Kubernetes
Auth proxy pattern on KubernetesAuth proxy pattern on Kubernetes
Auth proxy pattern on Kubernetes
 
Is your mobile app as secure as you think?
Is your mobile app as secure as you think?Is your mobile app as secure as you think?
Is your mobile app as secure as you think?
 
Micro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMicro app-framework - NodeLive Boston
Micro app-framework - NodeLive Boston
 
Micro app-framework
Micro app-frameworkMicro app-framework
Micro app-framework
 
Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8
 
Tadhack madrid June 2014: Joris Swinnen and WebRTC Nederland "Invite my colle...
Tadhack madrid June 2014: Joris Swinnen and WebRTC Nederland "Invite my colle...Tadhack madrid June 2014: Joris Swinnen and WebRTC Nederland "Invite my colle...
Tadhack madrid June 2014: Joris Swinnen and WebRTC Nederland "Invite my colle...
 
From on premises monolith to cloud microservices
From on premises monolith to cloud microservicesFrom on premises monolith to cloud microservices
From on premises monolith to cloud microservices
 
Insight User Conference Bootcamp - Use the Engagement Tracking and Metrics A...
Insight User Conference Bootcamp - Use the Engagement Tracking  and Metrics A...Insight User Conference Bootcamp - Use the Engagement Tracking  and Metrics A...
Insight User Conference Bootcamp - Use the Engagement Tracking and Metrics A...
 
Orion Context Broker
Orion Context Broker Orion Context Broker
Orion Context Broker
 
Dave Carroll Application Services Salesforce
Dave Carroll Application Services SalesforceDave Carroll Application Services Salesforce
Dave Carroll Application Services Salesforce
 
How to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxHow to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptx
 
CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...
CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...
CONFidence 2017: Hacking Card Emulation - how to clone any Android HCE contac...
 

Recently uploaded

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Recently uploaded (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Using the GSMA OneAPI Gateway

  • 1. GSMA OneAPI Gateway It's a Cross Carrier play Here's where APIs get really exciting! Confidential 1
  • 2. OneAPI — Registration 1. Register at: https://oneapi-gw.gsma.com 2. Confirm email 3. Log in Provides access to dashboard and developer documentation Confidential 2
  • 3. Creating an Application Click on Company Name Log In Go to Dashboard in Developer Profiles Complete the Click ‗Create Enter application form and click Application‘ name ‗create application‘ Bottom of page Add test phone Click ―Create numbers Application‖ Confidential 3
  • 4. Manage Application You can find this page from the Dashboard: 1. Go to Dashboard 2. Click on the company name link below Developer Profiles (bottom of page) 3. Click on the Manage Application button next to your application name. Confidential 4
  • 5. Application Specific Info Note the two application profile buttons:  ―Endpoints‖ — Important application settings necessary for using the APIs  ―Manage Whitelist‖ — Phone numbers for testing with APIs Confidential 5
  • 6. Necessary Information  Application Profile — Endpoints – Application User Name & Application Password – The URI prefixes (excluding the ―.*‖ suffix, shown, if any) for each API-type  PDF documents describing API sets‘ usage – ―Common Information Guide‖ some error codes – ―Sandbox Data service‖ prereq for Payments APIs described in ―Payment Developer Guide‖ – ―Privacy Developer Guide‖ prereq for Location APIs described in ―Terminal Location Developer Guide‖ Confidential 6
  • 7. API Protocol  HTTP / REST (mostly)  HTTP Basic Access Authentication  Form-data or JSON Input  XML or JSON output  Some APIs Accept Callback URIs Confidential 7
  • 8. Tools  curl — Unix, Linux, OSX, cygwin/Win  RESTClient — Firefox plug-in  Chrome debug console — Chrome  Browser (GET method testing)  Coding Confidential 8
  • 10. APIs Supported  Sending SMS from short code to phone  Receiving SMS (to short code)  Location (latitude/longitude)  Payment — Charge to phone bill Confidential 10
  • 11. Send SMS to Phone 1. Add test phone number to Whitelist 2. Create request JSON in a file 3. Call HTTP 4. Receive Transaction ID  Use Transaction ID to check delivery status Confidential 11
  • 12. SMS Send JSON Example { "outboundSMSMessageRequest": { "address": ["tel:+16045551212"], "clientCorrelator": "10002", "outboundSMSTextMessage": { "message": "Test SMS from 7511" }, "senderAddress": "tel:7511", "senderName": "Super Send" } } Confidential 12
  • 13. SMS Send Response https://oneapi-gw.gsma.com/smssend/2_0/smsmessaging/ outbound/tel%3A7511/requests { "resourceReference" : { "resourceURL" : "https://oneapi-gw.gsma.com:443 /SendSmsService/OneAPI_REST_v2_0 /routing/2_0/smsmessaging/outbound /tel:7511/requests/222405168" } } Confidential 13
  • 14. Checking SMS Status https://oneapi-gw.gsma.com/smssend/2_0/smsmessaging/ outbound/tel:7511/requests/222405168/deliveryInfos { "deliveryInfoList" : { "resourceURL" : "https://oneapi- gw.gsma.com:443/SendSmsService/OneAPI_REST_v 2_0/routing/2_0/smsmessaging/outbound/tel:7511/requ ests/222405168/deliveryInfos", "deliveryInfo" : [ { "address" : "tel:+16045551212", "deliveryStatus" : "DeliveredToNetwork" } ] … Confidential 14
  • 15. Location Query 1. Whitelist phone number 2. Get permission to retrieve position (once only, per app, privacy API) 3. User authorizes 4. Retrieve user‘s location Confidential 15
  • 16. Location Response https://oneapi-gw.gsma.com/location/2_0/location/ queries/location?address=tel%3A%2B16045551212&requestedAccur acy=5000 { "terminalLocationList" : { "terminalLocation" : [ { "address" : "tel:+16045551212", "locationRetrievalStatus" : "Retrieved", "currentLocation" : { "latitude" : 49.248688, "longitude" : -123.19475, "altitude" : 0.0, "accuracy" : 769, "timestamp" : "2012-05-30T17:41:37.000-04:00" } } ] … Confidential 16
  • 17. Location API Example 1. Add phone number to Whitelist 2. Ask permission to retrieve location POST https://oneapi-gw.gsma.com/privacy HTTP/1.1 Content-Type: application/x-www-form-urlencoded address=tel%3A%2B16045551212&callbackUrl=http%3A%2F%2 Fwww.example.com Confidential 17
  • 18. Location API Example 3. User responds to text with ―ALLOW‖ 4. Check status (or use callback) https://oneapi-gw.gsma.com/privacy?address =tel%3A%2B16045551212<?xml version="1.0" encoding="UTF-8"standalone="yes"?> <PrivacyResponse status="ALLOWED"/> All future location requests are enabled for the app for that user. Confidential 18
  • 19. Location API Example 5. Retrieve location https://oneapi-gw.gsma.com/location/2_0/location/queries/ location?address=tel%3A%2B16045551212&requestedAccuracy=5000 { "terminalLocationList" : { "terminalLocation" : [ { "address" : "tel:+16045551212", "locationRetrievalStatus" : "Retrieved", "currentLocation" : { "latitude" : 49.248688, "longitude" : -123.19475, "altitude" : 0.0, "accuracy" : 769, "timestamp" : "2012-05-30T17:41:37.000-04:00" } } ] } } Confidential 19
  • 20. Payment API 1. Create Payments Sandbox Group (if not already created) 2. Add ―subscribers‖ to the group, by phone number 3. Call Payment API to ―charge‖ money 4. Call Payment API to detect status Confidential 20
  • 21. Payment Example 1. Create Payments Sandbox Group https://oneapi-gw.gsma.com /sandboxdataservice/Payment_Sandbox 2. Add phone numbers to group https://oneapi-gw.gsma.com /sandboxdataservice/Payment_Sandbox/tel%3A %2B16045551212 Confidential 21
  • 22. Payment Example 1. Create payment request JSON { "amountTransaction": { "clientCorrelator": "100003", "endUserId": "tel:+16045551212", "paymentAmount": { "chargingInformation": { "amount": "10.01", "currency": "CAD", "description": [”Our product"] }, "chargingMetaData" : { "onBehalfOf" : "Viafo Inc", "purchaseCategoryCode" : "Game", "taxAmount" : "0" } }, "referenceCode": "REF-NJD-12345a", "transactionOperationStatus": "CHARGED" } } Confidential 22
  • 23. Payment Example 2. Call Payment function API https://oneapi-gw.gsma.com/sandboxpayment/ 2_1/payment/tel%3A%2B16045551212/transactions/amount Confidential 23
  • 24. Payment Example 3. Payment call‘s response { "amountTransaction": { "clientCorrelator": "1234569", "endUserId": "tel:+13107486358", "paymentAmount": { "chargingInformation": { "amount": 5.0, "currency": "CAD", "description": [ "Alien Invaders Game" ] }, "chargingMetaData": { "onBehalfOf": "Example Games Inc", "purchaseCategoryCode": "Game", "taxAmount": 0 }, "totalAmountCharged": 5.0 }, "referenceCode": "REF-005", "resourceURL": "https://oneapi- gw.gsma.com:443/PaymentService/OneAPI_REST_v2_1/sandbox/2_1/payment/tel%253A%252B131 07486358/transactions/amount/REF-005-175", "serverReferenceCode": "REF-005-175", "transactionOperationStatus": "CHARGED" Confidential } 24 }
  • 25. Payment Example 4. Check payment request status https://oneapi-gw.gsma.com/payment/2_1/payment/ tel%3A%2B16045551212/transactions/amount/REF-005-175 Confidential 25
  • 26. Speakers & Your Developer Evangelists  Caroline Lewko  Bill Lee  David O‘Neill Confidential 26