In the world of an increasingly more connected, versatile web, the idea of an API is going from something software developers "should" be familiar with, to something most people across practically all industries need to be aware of and should utilize in their everyday business happenings.
An API, in the most simple terms, is an Application Program Interface. It's a toolkit for a software developer, often to make the life of a developer easier and not have to rewrite loads of code or recreate repetitive functionality. This can even include an API servicing other APIs, much like there are tools to create or fix other tools. Like using a blowtorch to fuse together pieces of a broken hammer. APIs can also refer to a strict software-to-software interaction or a toolkit that exposes the software in a hardware device to grant override control of its hardware aspects. This last function is how developers enable features like making something move or making a light blink to indicate a power outage.
These tools can be something as simple and everyday as "make this remote turn that TV off" to something technical and complex like "encrypt my bank information so I don't lose all my money." For a quick marketing example, if one wanted to look at social media analytics to determine measurable impact of a digital marketing campaign, a combination of the APIs of Facebook/Twitter/etc. could be used to pull information like views on a post, visitors to a page, or any other sort of metric. A business could then use this information to figure out whether or not its campaign actually made a difference in traffic and even what aspects of the campaign made the most impact, thus gaining insight into what works and what doesn't when trying to grab customers' attention through social media.
The most common form of API people have interacted with and are likely aware of is definitely web APIs.
Ever wonder how Facebook keeps track of all of who you follow and who follows you? There's a web API for that. Ever looked back on the days before Google gave suggestions and allowed autocompletion and realized how much easier the web's most visited site is to work now in comparison? Thank web APIs for that.
A web API in its purest form is an API that uses HTTP, aka the grammar of the electrical messages sent back and forth via the Internet, to send or receive information between two computers connected on the Internet. By far the most common form of, and more or less the industry standard architecture in crafting web APIs, is called REpresentational State Transfer (REST). An API built this way is said to be a RESTful API.
At a base level, a REST API is effectively a means of creating, getting, updating, or deleting some piece of information using HTTP's language. Technically speaking, while you can set up an API tying any of these actions to any type of HTTP request, the convention for HTTP requests is as follows:
- POST for creating a resource
- GET for getting a resource
- PUT/PATCH for updating a resource
- DELETE for deleting a resource.
Here at Story Block, we are building and using APIs to both make our internal working easier and also enhance our customers' lives. For instance, we have a custom-built dashboard using the project manager software we use to let us know how many tasks we're knocking out and where our time is going. This in turn allows us to figure out not only how efficient the business is running, but also highlights what stifles our productivity and growth so that we can focus on overcoming bumps in the road before they get out of control. For our customers, we work with the HubSpot API to perform cross site audits for content and ADA compliance.