In the loop

API Management in layman’s terms

Call To People — Sep 2019 by Miguel Pacheco

Why the hype over APIs now? What has changed and how are these use cases only appearing now?

Have you noticed how today we see a lot of standardisation and simplification on how we interact with companies daily? You have probably heard:

  • banks and companies such as SIBS presenting a single view over all your different banking accounts from multiple banks;
  • transportation companies - “are standardising their systems to enable combined transportation business models such as the new public transportations monthly fare”;
  • utilities players - “came up with a common language to allow the move towards a liberalised market”.

And every time we read a bit more about it, somewhere it will be written that “APIs” are enabling these visions. With such direct implications in our lives, we should start by clarifying the simplest of questions: “What is an API?”

To understand that, let’s start with a bit of much-needed context… Every day computers have a bigger role in our lives, which renders them more and more complex. The fact is we have been using technology to reinvent almost everything we do, and it is continuously evolved to potentiate it. You now order food online, ask for technical assistance through an app, manage health appointments in your computer, have a company such as Vodafone selling you music services or allowing you to order pizza from your TV, etc.

To achieve what is stated above, companies have evolved their systems looking towards:

  • what they really need to operate their business;
  • what other things they can sell you to differentiate from their competition;
  • what systems they need to do both.

and yes, with needs as diverse as handling your support calls, invoicing, allowing people to manage services via the internet, suggesting other products for you to buy (some of them from other companies) … We end up with a lot of computers and systems joined together in such fashion that every day you have a better experience as a customer, while in fact things are really complex and scattered on the enterprise’s end.

And why are we talking about this? Well, because if you have multiple systems, you must connect them, right? Some years back, when you bought your VHS player, it had to be connected to the television for you to watch a movie. Like that black cable we see against your living room’s white wall, there must be something connecting every two systems, so they can send information – as your VHS sends images and sound. And, as such, APIs are born as “the cables connecting the boxes”.

An API (Application Programming Interface) is a function a given system exposes to other systems. As an example, if your utilities provider has a mobile app where you can retrieve your past invoices, that implies the app is calling that company’s billing system, querying something that we, in natural language, would state as “give me July’s invoice for this customer id” (no need to say “please” when talking to machines…). And how is it possible for the app on your phone to call that API that retrieves invoices? It is quite simple… when you want to query Google for something, you start by typing “google.com” in your browser, right? That represents the address where you believe Google resides. Identically, every API has its own “address”; a system intending to call other systems must know the list of things (APIs) it needs to call, and for each of them it must know its address, how to properly phrase a question (providing customer id and invoice month, on the previous example) and what type of answer to expect (e.g.: a PDF with the invoice).

And that about sums up – what an API is, in layman’s terms. The truth is they have been around for a long, long time, supporting your communication services provider, your bank, or the health insurance card validation they do every time you check in at the hospital. So, why the hype over APIs now? What has changed and how are these use cases only appearing now?

What changed was our expectation as a consumer! Having internet everywhere, and easy-to-use devices such as our smartphones, we expect to find a site or an app for everything we do, regardless of time and place. And we also demand to have simpler relations with our providers (be it health, communications, banks, transportation), lower costs, and wider options. For enterprises, such as communication services providers, this yields that their API’s will be invoked:

  • much more frequently than before, since in the “old days” you would have a call centre assistant working on their systems, and now millions of customers can manage their services at once;
  • from other companies, as when Vodafone and HBO interact to register HBO customers via Vodafone TV.

In this day and age, where we are all afraid of who stores information about us, and every one demands the services they pay for to work at all times, the two considerations above raise critical concerns on how an enterprise can guarantee their systems work, are secure, and allow you to know who had access to what. And that is how specialised systems arose, with the sole mission of guaranteeing availability and security to other systems.

So now there is a “special” system between two existing systems. Its role is not to get in the way and harm experience, but to improve it. Moving to a new example, at Celfocus we are working on APIs for Vodafone TV. This means we are implementing a layer between your TV box and Vodafone’s systems, which will present all functions the box requires, ensure those functions are available and guarantee security when accessing them. Imagine you want to watch a video-on-demand content; while you browse through the VOD menu it can trigger actions on Vodafone’s side such as:

  • asking the VOD systems for available video titles for you to rent;
  • querying billing system for your balance, to ensure you can rent it;
  • request the video renting, which will trigger a set of systems and actions ensuring you are able to watch the movie, its cost is deducted from your balance and the purchase action is stored for auditing purposes.

What the API system will do here is :

  • avail all functions from all of these systems;
  • present them in a single fashion to the TV Box: remember the VHS example? This API system is like an adapter for a lot of different cables to be presented to the TV as if all of them were VHS;
  • enforce security for your data: only you and Vodafone’s internal systems know who you are and what you are purchasing;
  • guarantee performance: it stores information such as the program guide or the VOD movies so that your browsing experience is instantaneous.

The benefit for you as a customer? I would highlight that this added level of performance and security enabled companies to expose themselves more (more functions, more services, more data), potentiating new offers . The way their computer systems are designed also changed and now interactions between systems are simpler and faster, giving us more features and instant browsing through applications and sites, even when multiple system interactions are happening in the background.

In the upcoming years, I expect us to see companies presenting new and improved services faster and faster (as we demand them). In the past we experienced slow responses to market needs, many times caused by the impossibility of changing systems or the risk of having them malfunction after a change. With this new API tool in the middle of such systems, companies will be able to minimise changes to them, instead playing around their “API’s” and being “inventive” and disruptive on what they present us with.