Introduction to WAC Network
APIs
  http://wacapps.net
  @wacapps
                          !"#$%"&'()*$"%+
                          !"#$%&'(#)*")+*,

                 Page 1
•    WAC: the wholesal… what?
•    Operator Network APIs
•    API technical overview
•    What’s next
•    Competition
•    Q&A



                     Page 2
What is WAC?




•  “The Wholesale Applications Community, an
   open global alliance made up of the world¹s
   largest mobile phone network operators and
   manufacturers and is dedicated to making life
   easier for developers to create and distribute
   compelling digital content”

                      Page 3
In other words

•  WAC is a ‘not for profit’ organisation that
   leverages its members commitment to
   deliver innovative developer tools based
   on industry-standard web technologies to
   help the developer ecosystem
•  WAC works mainly in 2 areas:
  –  Web application platforms (WAC apps) and
     operator distribution
  –  Operator Network APIs


                      Page 4
Video overview




             Page 5
APIs	
  that	
  work	
  across	
  operators	
  




                                Page 6
Leveraging	
  (and	
  hopefully	
  helping	
  evolve)	
  
industry	
  standards	
  
                                   •  First authorization
                                      mechanism: OAuth
                                   •  Payment API based on
                                      GSMA OneAPI REST
                                      (plus extension borrowed
                                      from OMA ParlayX)




                              Page 7
APIs	
  that	
  work	
  across	
  pla<orms	
  


•  SDKs provided for
   Android and Web (JSP)
•  Upcoming SDKs for
   JavaScript, Phonegap
   and PHP
•  However, you can also
   code your own




                               Page 8
But how does it work?
         WAC Gateway                                 Operator WAC Endpoint

          Operator	
  discovery	
  
                                                         User	
  AAA	
  -­‐	
  	
  OAuth	
  

                   Query	
                                                                              Operator	
  
                                                                                                         Billing/	
  
                                                             NAPI	
  Payment	
                          Support	
  
               Oauth	
  proxy	
  
                                                                                                        Systems	
  

          NAPI	
  Payment	
  proxy	
                     Provisioning	
  Client	
  



           Developer	
  Portal	
  

       Provisioning	
  Server	
  (App	
                                                        Billing	
  Aggregator/
            Metadata,	
  Dev	
                          WAC	
  SeJlement	
  
                                                                                               SeJlement	
  System	
  
              Metadata)	
  	
  




                                            Page 9
Life of an app: registering




                Page 10
Life of an app: protocols

  •  It’s as easy as 1-2-3 (and sometimes 4)
      1 discover operator
      http://api.wacapps.net/discovery/operator/{application-id}
      http://api.wacapps.net/products/{application-id}

      2 request user authorization
      http://api.wacapps.net/2/oauth/authorize

      3 make the charge to the user bill
      https://api.wacapps.net/1/payment/acr:Authorization/transactions/amount
      4 check the status of the transaction
      https://api.wacapps.net/1/payment/acr:Authorization/transactions/amount/
      {transaction-id}


https://github.com/wacapps/NAPI-SDK---Early-Access/wiki/WAC-API-Reference-Guide


                                                Page 11
Life	
  of	
  an	
  app:	
  pushing	
  to	
  prod,	
  counNng	
  the	
  
money	
  
•  At the moment we are
   working on a Beta phase
   with some selected
   developers, but we have
   space for some more
   innovative apps!
•  After production
   deployment, WAC
   centralizes the settlement
   back to the developer (so
   no worries about multiple
   checks, currency
   conversions, etc…)

                                   Page 12
And	
  you’re	
  good	
  to	
  go	
  across	
  pla<orms	
  
       Android (as widget)                  Android (as native app)




                                 Page 13
And you’re good to go across platforms
          Cross browser HTML5 (no plugins)




                        Page 14
"#$%&'()!*+,-(
                   The	
  future	
  is	
  coming!	
  In-­‐app	
  Payment	
  
!"#$%&'(")*#$+#,)-.*$/('##0$-0(.&1#*$,"#$23..34-05$
                                                                          04;<!:7)5%22!55=%9)521!!:



023'6),-307

    "#$%&'()*+#%,'-.')/$0'/-'1$'+2&34%*$(5'/4$'%++#)3%/)-6'
    %6('/4$'6%0$'-.'/4$'($7$#-+$&

                    •  Unified payment flow
    84$'%0-26/'/4%/'/4$'2*$&'9)##'1$'+%,)6:'.-&'/4$')/$0
    ;'3#$%&'*/%/$0$6/'$<+#%)6)6:'/4%/'2*$&*'9)##'1$'34%&:$('
    -6'/4$)&'0-1)#$'1)##
                    •  Revision of the
                   24::>7)6!7!27)03>:!):%<?!1
    =+$&%/-&'#-:-'/-'&$)/$&%/$'/4%/'/4)*')*'&$#%/$('/-'%6'
    -+$&%/-&'34%&:$
                         authorization protocol
    >)6?'/-'/$&0*'%6('3-6()/)-6*'$<+#%)6)6:'4-9'/4$'*$&7)3$'
    9-&?*5'%6('*/%/)6:'4$#+')6.-&0%/)-6'*234'%*'32*/-0$&'
                    •  New auth mechanisms
    3%&$'+4-6$'6201$&5'$0%)#'%6('+-&/%#@
    A&-0)6$6/'";B"C>'12//-6'*-'2*$&'3%6'3%63$#'/4$'
                    •  Better end-user
    +2&34%*$').'/4$,'(-'6-/'9%6/'/-'+&-3$$(@

                         management and
84$'*3&$$6'D%6(')6.-&0%/)-6'1$4)6('/4$'#)6?E'9)##'1$'*4-96'
6'/4$'#%6:2%:$'-.'/4$'3-26/&,'/-'94)34'/4$'FGH'&$#%/$*'/-'
                         analytics
$6*2&$'/4%/'/4$'$6('2*$&'3%6'26($&*/%6('/4$')6.-&0%/)-6'%6('
%(7)3$'+&-7)($(@




!"#$%)86#0,$/&((#**2&.$/('##0$-0(.&1#*$,"#$23..34-05$
023'6),-307

    "-6.)&0%/)-6'-.'/4$'%0-26/'+%)('%6('/4$'#-:-'-.'/4$')/$0'
    /4%/'9%*'1-2:4/
    8&%6*%3/)-6'GI'()*+#%,$('94)34'2*$&*'3%6'2*$'/-'J2$&,'
    /&%6*%3/)-6*'9)/4'K;"'-&'=+$&%/-&'32*/-0$&'*2++-&/@
    G6.-&0)6:'/4$'$6('2*$&*'/4%/'/4$,'4%7$'1$$6'*$6/'/4$0'      Page 15
    %6'FHF'&$3$)+/'D94)34'3-6/%)6*')6.-&0%/)-6'-6'4-9'/-'
    :$/'4$#+E@
The	
  future	
  is	
  coming!	
  Other	
  APIs	
  


•  User identity (ACR)
    –  Per app
    –  Global
•  Network Location
•  Messaging (SMS/MMS)
•  Device profiling
•  User profiling




                                  Page 16
OverTheAir competition
We’re running a competition to select the best OverTheAir hacks that
feature in-app payment. Can be either using our API or Bluevia’s (talk
coming next!)

Tech info you may need is posted at OverTheAir wiki:
    http://overtheair.org/wiki/index.php?title=WAC_Network_APIs




                                    Page 17
Next steps?

•  Register for info and access to github/
   credentials:
  –  http://www.wacapps.net/ota11
•  Ongoing support during event:
  –  Tweet to @wacapps
  –  IRC channel #networkapis_ota11 in freenode
  –  Write us at support@wacapps.net
  –  Find us! J


                      Page 18
Thanks!	
  



                   support@wacapps.net

                   Twitter @wacapps

                   Freenode IRC:
                   #networkapis_ota11




              Page 19

WAC Network APIs @ OverTheAir 2011

  • 1.
    Introduction to WACNetwork APIs http://wacapps.net @wacapps !"#$%"&'()*$"%+ !"#$%&'(#)*")+*, Page 1
  • 2.
    •  WAC: the wholesal… what? •  Operator Network APIs •  API technical overview •  What’s next •  Competition •  Q&A Page 2
  • 3.
    What is WAC? • “The Wholesale Applications Community, an open global alliance made up of the world¹s largest mobile phone network operators and manufacturers and is dedicated to making life easier for developers to create and distribute compelling digital content” Page 3
  • 4.
    In other words • WAC is a ‘not for profit’ organisation that leverages its members commitment to deliver innovative developer tools based on industry-standard web technologies to help the developer ecosystem •  WAC works mainly in 2 areas: –  Web application platforms (WAC apps) and operator distribution –  Operator Network APIs Page 4
  • 5.
  • 6.
    APIs  that  work  across  operators   Page 6
  • 7.
    Leveraging  (and  hopefully  helping  evolve)   industry  standards   •  First authorization mechanism: OAuth •  Payment API based on GSMA OneAPI REST (plus extension borrowed from OMA ParlayX) Page 7
  • 8.
    APIs  that  work  across  pla<orms   •  SDKs provided for Android and Web (JSP) •  Upcoming SDKs for JavaScript, Phonegap and PHP •  However, you can also code your own Page 8
  • 9.
    But how doesit work? WAC Gateway Operator WAC Endpoint Operator  discovery   User  AAA  -­‐    OAuth   Query   Operator   Billing/   NAPI  Payment   Support   Oauth  proxy   Systems   NAPI  Payment  proxy   Provisioning  Client   Developer  Portal   Provisioning  Server  (App   Billing  Aggregator/ Metadata,  Dev   WAC  SeJlement   SeJlement  System   Metadata)     Page 9
  • 10.
    Life of anapp: registering Page 10
  • 11.
    Life of anapp: protocols •  It’s as easy as 1-2-3 (and sometimes 4) 1 discover operator http://api.wacapps.net/discovery/operator/{application-id} http://api.wacapps.net/products/{application-id} 2 request user authorization http://api.wacapps.net/2/oauth/authorize 3 make the charge to the user bill https://api.wacapps.net/1/payment/acr:Authorization/transactions/amount 4 check the status of the transaction https://api.wacapps.net/1/payment/acr:Authorization/transactions/amount/ {transaction-id} https://github.com/wacapps/NAPI-SDK---Early-Access/wiki/WAC-API-Reference-Guide Page 11
  • 12.
    Life  of  an  app:  pushing  to  prod,  counNng  the   money   •  At the moment we are working on a Beta phase with some selected developers, but we have space for some more innovative apps! •  After production deployment, WAC centralizes the settlement back to the developer (so no worries about multiple checks, currency conversions, etc…) Page 12
  • 13.
    And  you’re  good  to  go  across  pla<orms   Android (as widget) Android (as native app) Page 13
  • 14.
    And you’re goodto go across platforms Cross browser HTML5 (no plugins) Page 14
  • 15.
    "#$%&'()!*+,-( The  future  is  coming!  In-­‐app  Payment   !"#$%&'(")*#$+#,)-.*$/('##0$-0(.&1#*$,"#$23..34-05$ 04;<!:7)5%22!55=%9)521!!: 023'6),-307 "#$%&'()*+#%,'-.')/$0'/-'1$'+2&34%*$(5'/4$'%++#)3%/)-6' %6('/4$'6%0$'-.'/4$'($7$#-+$& •  Unified payment flow 84$'%0-26/'/4%/'/4$'2*$&'9)##'1$'+%,)6:'.-&'/4$')/$0 ;'3#$%&'*/%/$0$6/'$<+#%)6)6:'/4%/'2*$&*'9)##'1$'34%&:$(' -6'/4$)&'0-1)#$'1)## •  Revision of the 24::>7)6!7!27)03>:!):%<?!1 =+$&%/-&'#-:-'/-'&$)/$&%/$'/4%/'/4)*')*'&$#%/$('/-'%6' -+$&%/-&'34%&:$ authorization protocol >)6?'/-'/$&0*'%6('3-6()/)-6*'$<+#%)6)6:'4-9'/4$'*$&7)3$' 9-&?*5'%6('*/%/)6:'4$#+')6.-&0%/)-6'*234'%*'32*/-0$&' •  New auth mechanisms 3%&$'+4-6$'6201$&5'$0%)#'%6('+-&/%#@ A&-0)6$6/'";B"C>'12//-6'*-'2*$&'3%6'3%63$#'/4$' •  Better end-user +2&34%*$').'/4$,'(-'6-/'9%6/'/-'+&-3$$(@ management and 84$'*3&$$6'D%6(')6.-&0%/)-6'1$4)6('/4$'#)6?E'9)##'1$'*4-96' 6'/4$'#%6:2%:$'-.'/4$'3-26/&,'/-'94)34'/4$'FGH'&$#%/$*'/-' analytics $6*2&$'/4%/'/4$'$6('2*$&'3%6'26($&*/%6('/4$')6.-&0%/)-6'%6(' %(7)3$'+&-7)($(@ !"#$%)86#0,$/&((#**2&.$/('##0$-0(.&1#*$,"#$23..34-05$ 023'6),-307 "-6.)&0%/)-6'-.'/4$'%0-26/'+%)('%6('/4$'#-:-'-.'/4$')/$0' /4%/'9%*'1-2:4/ 8&%6*%3/)-6'GI'()*+#%,$('94)34'2*$&*'3%6'2*$'/-'J2$&,' /&%6*%3/)-6*'9)/4'K;"'-&'=+$&%/-&'32*/-0$&'*2++-&/@ G6.-&0)6:'/4$'$6('2*$&*'/4%/'/4$,'4%7$'1$$6'*$6/'/4$0' Page 15 %6'FHF'&$3$)+/'D94)34'3-6/%)6*')6.-&0%/)-6'-6'4-9'/-' :$/'4$#+E@
  • 16.
    The  future  is  coming!  Other  APIs   •  User identity (ACR) –  Per app –  Global •  Network Location •  Messaging (SMS/MMS) •  Device profiling •  User profiling Page 16
  • 17.
    OverTheAir competition We’re runninga competition to select the best OverTheAir hacks that feature in-app payment. Can be either using our API or Bluevia’s (talk coming next!) Tech info you may need is posted at OverTheAir wiki: http://overtheair.org/wiki/index.php?title=WAC_Network_APIs Page 17
  • 18.
    Next steps? •  Registerfor info and access to github/ credentials: –  http://www.wacapps.net/ota11 •  Ongoing support during event: –  Tweet to @wacapps –  IRC channel #networkapis_ota11 in freenode –  Write us at support@wacapps.net –  Find us! J Page 18
  • 19.
    Thanks!   support@wacapps.net Twitter @wacapps Freenode IRC: #networkapis_ota11 Page 19