What is OneAPI?
A set of APIs that expose network operator capabilities over HTTP. OneAPI is developed in public via the GSMA and is based on existing Web standards and principles. Any network operator or service provider is able to implement OneAPI - it is designed to be an industry standard for easy access to operator capabilities. OneAPI differs from Parlay X in that the network capabilities are exposed in a RESTful fashion, with JSON responses, to facilitate mash-ups with Web APIs. Also the number of functions has been reduced to keep things simple. Vodafone has sponsored and led the GSMA OneAPI project since inception in 2008.
OneAPI v1.0 includes
- Payments - the ability to charge the user's bill (or pre-pay credits) for downloads and in-app micropayments. The API allows a direct charge, pending user authorisation, or the ability to first reserve funds and then charge later (for example, when you are satisfied they have received the item paid for). You may check the receipt of a particular transaction, and refund a user fully or partially for a previous transaction.
- Location - locate one or more users to the requested accuracy. The operator will aim to respond as close to the requested accuracy as possible.
- Messaging - the ability to send and SMS/MMS to a user, or users; and also the ability to have users sens SMS or MMS to your Web application.
OneAPI v2.0 includes
- Data Connection Profile - lookup the network, bearer and roaiming status of a particular terminal
- Device Capability Profile - determine the make/model of device and a link to its UA Prof (or similar) description
- Call control - set up and manage calls between two or more parties, including a Web IVR application and a user.
User authorisation is handled via an OAUTH flow. This aligns OneAPI with many Web services (Facebook, Twitter, Google) that support OAUTH, and it ensures that users are in consenting that their private info can be shared with Web applications.
Why is OneAPI of benefit?
Firstly, it will be consistently supported across operators. This means no more learning to code to various API specifications, depending on the end user's operator.
Secondly, it is a RESTful specification which can be easily bound into various client and server languages, such as jQuery, PHP, Java etc.. Libraries are open source and contributions are welcome.
Finally, it is designed to combine well with, and not compete with, Web APIs. For example a Web API for location may decide that the appropriate way to source location is not through GPS or WiFI - maybe the user is not locatable via those means - but via a OneAPI call to get network location.
The following examples show how OneAPI adds capabilities beyond the features offered by phones. For example, a smartphone may have GPS, but it can only locate the user, not the users' contacts.
- A Web application finds your contacts from their network location (and based on their permission) regardless of their operator
- A free Web game charges users to access extra levels, by charging to their bill or pre-pay credits. This enables them to charge users who do not have credit cards.
- A Web application receives video blogs from its users via MMS