SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

OAuth 2 at Webvisions
OAuth 2 at WebvisionsOAuth 2 at Webvisions
OAuth 2 at Webvisions
Aaron Parecki
 

Tendances (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
 

En vedette

OneAPI New_Deck_2016
OneAPI New_Deck_2016OneAPI New_Deck_2016
OneAPI New_Deck_2016
publishers165
 
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
GSMA 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 Survey
GSMA Mobile for Development
 
Optimising mobile signature v4
Optimising mobile signature v4Optimising mobile signature v4
Optimising mobile signature v4
moldovaictsummit
 
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
GSMA 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 2013
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 Latina
Ahciet
 
Mousse de iogurte
Mousse de iogurteMousse de iogurte
Mousse de iogurte
aletriak
 

En vedette (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...
 

Similaire à Using the GSMA OneAPI Gateway

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
 
Dave Carroll Application Services Salesforce
Dave Carroll Application Services SalesforceDave Carroll Application Services Salesforce
Dave Carroll Application Services Salesforce
deimos
 
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
 

Similaire à 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...
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

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