Picture this. It’s Monday. You wake up and go about your morning routine. Your coffee machine chugs and whirrs and spits out "work fuel". You take a sip. As your mouth burns, you realize it is too hot but still smells marvelous. You scurry out of your house with your flaming-hot coffee. Rushing into the office, you hope to beat everyone in. You get settled into your desk. You are ready to take on the world. You are ready for any kind of challenge.
All of a sudden, while tackling your inbox, you see an email. It’s titled “I wish we could”. Intrigued, you open it. And there it hits you. You have a challenge and no idea on how to conquer it.
“We sell a great product through “Service X”. We track inquiries for them through our website. We use “Service Y” to manage the customers. Why can’t we have a dashboard where we manage everything? We can add, edit or drop products there. We can track inquiries from our website there. We can pull in our CRM info (Service Y) and associate our clients with products and inquiries. We could keep future follow-up information there.”
And from there, the possibilities snowball. Plus, now you have a minor headache. It’s not from drinking that aromatic coffee too fast either
Naturally, you want to know if this is even possible. You contact your development team or preferred web agency. They give you great news, yes it’s possible! As long as they have a REST based API, you should be fine.
Now, instead of dominating your Monday, you are just treading water. It all seems like so much. The project in itself appears to be a tortuous labyrinth. Plus, you have this term thrown at you and you have no idea what it means.
In all reality, this is a simple concept that is immensely powerful. There is no need to worry.
The 100lb Gorilla in that little phrase is “REST”. What does that mean? It stands for Representational state transfer (REST). Browsers, like Google Chrome, use it. It’s considered the language of the Internet. Now, for that pesky API part; that is the ability for the “back and forth” or transaction. To oversimplify it, a REST based API is a doorway to a certain internet application. It provides the ability to grab bits and pieces of information. It’s like making two services talk to each other.
A RESTful API breaks down an internet data transaction in a series of small chunks. Each of these chunks underpins a part of the transaction. This modularity supplies website application developers with flexibility. You can make different services talk with each other as long as your developers know how to work with APIs. And, that’s the nugget you were hoping to glean. With a RESTful API, services talk to each other.
RESTful APIs can do a few standard functions: GET, PUT, POST and DELETE data. This allows you to create, read, update and delete information through the API service. That opens Pandora’s Box with regard to your possibilities.
Come back with me to the example above. Since Service X, your website, and Service Y, all have a REST based API, you can now build your dream dashboard. Like the smart executive you are, you read the documentation. You learn you can create, read, update and delete everything you need. Next up is to draft your plan for the project. It provides you the privileges to:
View a customer, their orders, their inquiries to the website and their CRM data
View product sales based on which state the customer was in
Create a new product on the fly
Message your customers on the fly
Update your website when a product is no longer available
Our agency, Happy Dog, performs SEO audits for clients. The process was clunky. We pulled in some dynamic information but also had a specialist evaluate the findings. Some of the software we used includes Moz, Ahrefs, and GTMetrix.
I noticed that we were putting information from a lot of different sources into one spot. And then came RESTful APIs! We were able to create software that yanked all that information into one spot. It shaved off a lot of time for my staff and helped make our audits that much better.
I see a tale of two stories here.
In SaaS (Software as a service), I see RESTful APIs utilized in splendid fashion. Great SaaS companies develop their own RESTful based APIs often times. Granted, it lies behind a paid subscription sometimes. One SaaS company that built their business model around this was Zapier.
The other (sadder) story is the use throughout custom web projects for SMBs. Often, it's said "that would be way out of budget" or "we can't do that". I think that stems from a more generalized problem. Web development freelancers and small agencies don't have the "know how" to complete it. This could be from years of relying on things already done for them. These include templates, CMSes, automated software and pretty much anything packaged and pre-written. Writing a custom application that uses RESTful based APIs takes some coding capability. But, it's not the hardest thing out there to code either.
The answer to that is simple. Knowledge is power. In this case, it translates into unleashing the power of the web.
I'm a product of the 80s. Childhood memories include sitting in front a TV watching Transformers, GI Joe, and He-Man. He-Man was this muscle-bound man named "Prince Adam". Prince Adam could transform in He-Man by raising his power sword and saying "I Have the power!". Once he did that, he was unstoppable.
With knowledge of RESTful based APIs, you can give your website ideas the power sword it needs. You can transform your website into He-Man. When you can have a website as powerful as He-Man, you can use pieces of information from all kinds of places. That is true power. That's why you should care about RESTful based APIs.
The next time someone asks you “What is RESTful API?” or “Why should I care about APIs?” just mention it turns your website into He-Man. Then point them to this post. :)