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

Saga about distributed business transactions in microservices world
Saga about distributed business transactions in microservices worldSaga about distributed business transactions in microservices world
Saga about distributed business transactions in microservices worldMikalai Alimenkou
 
Technical seminar on Security
Technical seminar on Security Technical seminar on Security
Technical seminar on Security STS
 
Mulesoft Salesforce Connector - OAuth 2.0 JWT Bearer
Mulesoft Salesforce Connector -  OAuth 2.0 JWT BearerMulesoft Salesforce Connector -  OAuth 2.0 JWT Bearer
Mulesoft Salesforce Connector - OAuth 2.0 JWT BearerVince Soliza
 
Implementing Domain-Driven Design study group - ch. 5 entities
Implementing Domain-Driven Design study group - ch. 5 entitiesImplementing Domain-Driven Design study group - ch. 5 entities
Implementing Domain-Driven Design study group - ch. 5 entitiesHenry Tong
 
Secure Encyrption Systems Chapter 2
Secure Encyrption Systems Chapter 2Secure Encyrption Systems Chapter 2
Secure Encyrption Systems Chapter 2AfiqEfendy Zaen
 
Automation of Release and Deployment Management - Maveric
Automation of Release and Deployment Management - MavericAutomation of Release and Deployment Management - Maveric
Automation of Release and Deployment Management - MavericMaveric Systems
 
Blockchain in government and the public sector
Blockchain in government and the public sectorBlockchain in government and the public sector
Blockchain in government and the public sectorJuarez Junior
 
Scalable and Available, Patterns for Success
Scalable and Available, Patterns for SuccessScalable and Available, Patterns for Success
Scalable and Available, Patterns for SuccessDerek Collison
 
Event Driven Microservices architecture
Event Driven Microservices architectureEvent Driven Microservices architecture
Event Driven Microservices architectureNikhilBarthwal4
 
모바일 게임 보안
모바일 게임 보안모바일 게임 보안
모바일 게임 보안TOAST_NHNent
 
Getting started with Site Reliability Engineering (SRE)
Getting started with Site Reliability Engineering (SRE)Getting started with Site Reliability Engineering (SRE)
Getting started with Site Reliability Engineering (SRE)Abeer R
 
Distributed sagas a protocol for coordinating microservices
Distributed sagas a protocol for coordinating microservicesDistributed sagas a protocol for coordinating microservices
Distributed sagas a protocol for coordinating microservicesJ On The Beach
 
Digital signature
Digital signatureDigital signature
Digital signaturePraseela R
 
FIDO 생체인증 기술 개발 사례
FIDO 생체인증 기술 개발 사례FIDO 생체인증 기술 개발 사례
FIDO 생체인증 기술 개발 사례Lee Ji Eun
 
APIs in a Microservice Architecture
APIs in a Microservice ArchitectureAPIs in a Microservice Architecture
APIs in a Microservice ArchitectureWSO2
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSAOracle Korea
 

What's hot (20)

Patterns of resilience
Patterns of resiliencePatterns of resilience
Patterns of resilience
 
Saga about distributed business transactions in microservices world
Saga about distributed business transactions in microservices worldSaga about distributed business transactions in microservices world
Saga about distributed business transactions in microservices world
 
Introduction to SAML & OIDC
Introduction to SAML & OIDCIntroduction to SAML & OIDC
Introduction to SAML & OIDC
 
Technical seminar on Security
Technical seminar on Security Technical seminar on Security
Technical seminar on Security
 
Kerberos
KerberosKerberos
Kerberos
 
Mulesoft Salesforce Connector - OAuth 2.0 JWT Bearer
Mulesoft Salesforce Connector -  OAuth 2.0 JWT BearerMulesoft Salesforce Connector -  OAuth 2.0 JWT Bearer
Mulesoft Salesforce Connector - OAuth 2.0 JWT Bearer
 
Implementing Domain-Driven Design study group - ch. 5 entities
Implementing Domain-Driven Design study group - ch. 5 entitiesImplementing Domain-Driven Design study group - ch. 5 entities
Implementing Domain-Driven Design study group - ch. 5 entities
 
Secure Encyrption Systems Chapter 2
Secure Encyrption Systems Chapter 2Secure Encyrption Systems Chapter 2
Secure Encyrption Systems Chapter 2
 
Automation of Release and Deployment Management - Maveric
Automation of Release and Deployment Management - MavericAutomation of Release and Deployment Management - Maveric
Automation of Release and Deployment Management - Maveric
 
Blockchain in government and the public sector
Blockchain in government and the public sectorBlockchain in government and the public sector
Blockchain in government and the public sector
 
Optimizing and Profiling Golang Rest Api
Optimizing and Profiling Golang Rest ApiOptimizing and Profiling Golang Rest Api
Optimizing and Profiling Golang Rest Api
 
Scalable and Available, Patterns for Success
Scalable and Available, Patterns for SuccessScalable and Available, Patterns for Success
Scalable and Available, Patterns for Success
 
Event Driven Microservices architecture
Event Driven Microservices architectureEvent Driven Microservices architecture
Event Driven Microservices architecture
 
모바일 게임 보안
모바일 게임 보안모바일 게임 보안
모바일 게임 보안
 
Getting started with Site Reliability Engineering (SRE)
Getting started with Site Reliability Engineering (SRE)Getting started with Site Reliability Engineering (SRE)
Getting started with Site Reliability Engineering (SRE)
 
Distributed sagas a protocol for coordinating microservices
Distributed sagas a protocol for coordinating microservicesDistributed sagas a protocol for coordinating microservices
Distributed sagas a protocol for coordinating microservices
 
Digital signature
Digital signatureDigital signature
Digital signature
 
FIDO 생체인증 기술 개발 사례
FIDO 생체인증 기술 개발 사례FIDO 생체인증 기술 개발 사례
FIDO 생체인증 기술 개발 사례
 
APIs in a Microservice Architecture
APIs in a Microservice ArchitectureAPIs in a Microservice Architecture
APIs in a Microservice Architecture
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 

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
 

Similar to Using the GSMA OneAPI Gateway (20)

testupload
testuploadtestupload
testupload
 
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
 
Esquema de pasos de ejecución IdM
Esquema de pasos de ejecución IdMEsquema de pasos de ejecución IdM
Esquema de pasos de ejecución IdM
 
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
 

Recently uploaded

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 

Recently uploaded (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+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...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 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