SlideShare a Scribd company logo
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

Viewers also liked

Mobile Commerce
Mobile CommerceMobile Commerce
Mobile Commerce
Valter Wolf
 
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
 
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
Commonwealth Telecommunications Organisation
 
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 2012
Prawesh 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 (11)

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

1. device onboarding
1. device onboarding1. device onboarding
1. device onboarding
JudePragashVedam
 
1. device onboarding pdf
1. device onboarding pdf1. device onboarding pdf
1. device onboarding pdf
JudePragashVedam
 
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
Nordic 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 2010
Social Gold
 
Social Gold In-Flash Payments Webinar
Social Gold In-Flash Payments WebinarSocial Gold In-Flash Payments Webinar
Social Gold In-Flash Payments Webinar
Social Gold
 
Advanced RingCentral API Use Cases
Advanced RingCentral API Use CasesAdvanced RingCentral API Use Cases
Advanced RingCentral API Use Cases
Byrne Reese
 
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
Fernando Lopez Aguilar
 
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
Boyan Dimitrov
 
Auth proxy pattern on Kubernetes
Auth proxy pattern on KubernetesAuth proxy pattern on Kubernetes
Auth proxy pattern on Kubernetes
Michał 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 Boston
Michael Dawson
 
Micro app-framework
Micro app-frameworkMicro app-framework
Micro app-framework
Michael Dawson
 
Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8Fiware io t_ul20_cpbr8
Fiware io t_ul20_cpbr8
FIWARE
 
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 microservices
Albert 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

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 

Recently uploaded (20)

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 

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