What is an API? And why should I care?

rachel-tampa.jpg

Earlier this year, our friend Rachel, who also made a recent cameo on my sister’s blog Stop searching for your life’s purpose, came to visit us in Tampa, Florida.  She arrived on a Friday evening and my wife immediately put her to work as the judge for an art show. Then we had a late dinner and, by the time we got home, we were all exhausted.  We wished her goodnight and good luck sleeping (some have complained that the bed in the guest bedroom can be uncomfortably hard).  

The next morning, bright and early, we abandoned Rachel.  But not without leaving her a key to the house, a note saying we’d be back sometime that afternoon, an empty fridge, and a hand-drawn map on how to get to The Grind, an awesome local coffee shop about five blocks from the house.  Was I concerned that Rachel would go hungry?  After all, she had never been to The Grind.  Well, no, I was quite confident that Rachel would be able to order food successfully at the coffee shop and survive.  Why?  Let’s talk about APIs.

What is an API?

API stands for Application Program Interface, also known as web services (they are not exactly the same, but for simplicity’s sake let’s just assume they are).  If you have spent an afternoon on the web, you have most likely used an API.  Probably several.  From paying for something on an online store to viewing a map on Yelp to scrolling through a Facebook feed on your favorite website to sharing a picture on Instagram — behind the scenes there are APIs at work.

An API is how a website, application or service allows and governs how another website, application or service can request information or services. In short, it allows two different systems to talk to each other. An API defines three primary elements:

  • Access: who is allowed to ask for data or services.
  • Request: what data or services can be asked for  (e.g., if I give you an address can you tell me how to get there?).  Requests have two main parts:
    • Methods: the type of questions you can ask, assuming you have access (it also defines the type of responses available).
    • Parameters: additional details you can include in the question or response.
  • Response: the data or service for your request.

At its essence, an API provides a structured way of asking questions.  It defines the types of questions a site can ask another site, and the responses that are available. Most importantly, once you know the structure of how to communicate with an API, you don’t need to know anything else about the other website or service.

When Rachel woke up that Saturday morning, she was probably questioning our friendship and rightly so.  Until then, her fun in the sun had been that we put her to work, fed her late, made her sleep on a hard futon, and left her on her own in a strange neighborhood. While all true, she also had everything she needed to order food from The Grind using their API-like system:

  • The map we left her and the fact that the coffee shop was open gave her access to the API.
  • When she got to the coffee shop, she had access to the menu with all the different options.  She knew what you can ask for (methods) and the options and details (parameters).  This told her how to place her request for food.  Once Rachel placed her request, the barista played the role of the API and sent a message to the kitchen.
  • Rachel then just had to wait for the response in the form of food and beverage, which the barista, acting as the API, delivered to her with a smile (nice folks at The Grind).

Rachel did not need to go to the kitchen to make her food.  She did not need to know the recipe.  She did not need to know who prepared her food or how. She did not even need to know where the kitchen was. She just needed access to the coffee shop and know what methods and parameters were available to place a request for food.  She used an API, of sorts, to order her food!

On most websites and applications, in the background, they will interact with several APIs.  For example, when you purchase something on a website, it is likely that the website uses several APIs to process your order. Behind the scenes, the site will send your credit card information to a payment processor (e.g., Paypal, Authorize.net, Stripe); send your shipping info to a delivery partner (e.g., US Mail, UPS, FedEx); and, use an address verification API to verify that your address is valid.  The beauty is that site you are on just needs to know what and how to send a request and then wait for a response (e.g., payment accepted, shipping cost, address valid).

APIs are one of the threads in the fabric of today’s highly interconnected online world.   In the example in the previous paragraph, you do not need to go to a different website to pay or ship your order. Thanks to APIs it all happens in one place and one experience. APIs help provide that “The Matrix”-like connected-to-the-universe experience you feel when you tap on your smartphone.

Why do you care?

If you’re just shopping online or browsing websites, there may be little reason for you to care.  After all, one great benefit of APIs is to make the end-user experience as rich yet, as transparent, as possible.  

If you own or manage a website or application, you will probably want to care.  APIs are one of the superpowers of today’s websites and applications. If you are looking to connect to another site or service, there’s probably an API for that.  It is a great way to give your users an exceptional experience.  Here are some examples of how we use them at HandsOn Connect:

  • Integrate social media to share content on Facebook, Twitter, LinkedIn and others, as well as allow users to use their Facebook account to login to HandsOn Connect.
  • Process donations on HandsOn Connect using a partner application such as Click & Pledge.
  • Implement single sign-on (SSO) to allow companies, universities, and other organizations to use their own user accounts to login to HandsOn Connect.  
  • Optimize the pickup and drop off routes for a food bank using a MapAnything integration.
  • Place HandsOn Connect functionality on other websites (e.g., search, listings, calendar, sign up).
  • Connect with other websites and services that you want to include, such as SMS integration, Verified Volunteers background checks, Microsoft Dynamics, Drupal, Luminate/Convio and others.
  • Integrate Salesforce or HandsOn Connect with other websites and applications.

An API is a nerdy thing.  It is developers that will mostly work with them. Even if you never have to write a line of code for an API, knowing what they are and how to use them can help you imagine and build a richer and more compelling experience for your users.    

And Rachel, despite what you might think, we really are happy you visited. Indeed, given the star role played in this API post, I will go so far as to say that we are hAPI you visited. (I told you that this was a nerdy thing!)

At HandsOn Connect we help connect customers to results through richer relationships, with their constituents, data, partners, and community.  APIs are one of the ways to leverage technology to facilitate this.  Customers ask us to explain what an API is and how can it help them.  Although this post is not meant to be an in-depth treaty on APIs, just an intro, I hope you found it useful.  


Alfredo Boccalandro is the CIO of HandsOn Connect Cloud Solutions and co-founder of Avviato, Inc, a global technology solutions firm that helps organizations — including Points of Light, Corporation for National and Community Service, Aetna Foundation, National Voluntary Organizations Active in Disaster, and United Service Organizations (USO) — build and manage cloud and data solutions.

 

To find out more about HandsOn Connect visit https://www.handsonconnect.org.

To see Rachel’s cameo on Stop searching for your life’s purpose by Bea Boccalandro, visit: https://www.linkedin.com/pulse/stop-searching-your-lifes-purpose-bea-boccalandro.

Looking for good coffee and food in Tampa? Visit The Grind: http://thegrindcoffeebar.com.