6. API Growth from 2000 to 2016
0
5000
10000
15000
20000
25000
30000
35000
2000 2005 2007 2009 2011 2013 2015 2016
API's
API's
Source: 2016 data from nordicapis.com. 2005-2015 data from
rubenverborgh.github.io and 2000-2004 data from blog.cutter.com
7. An API is like …
An API (Application Programming Interface) is best thought of as a contract
provided by one piece of computer software to another.
8. APIs help developers create apps that
benefit the end user.
Yelp asks for Map
Data
Google Maps
returns map data
via API
Users sees
list of
restaurants
close to
them
27. Summary:
1. You Understand the Purpose
2. You Know what REST is
3. Request & Response – Makes sense
4. Documentation – Live by it.
5. Debugging&Test Tools – Prevent
headaches
I’m here to give you the 5 steps to take with you to understand REST APIs and start building stuff on your own. Before you can work with APIs, one has to understand APIs.
So when I say REST, I don’t mean this…
An API stands for Application Programming Interface
It’s a way for two pieces of software to talk to each other.
Okay, so what is an API and why are they important?
Why are API’s so important? Most companies today have several different software’s they need to use,
including sales, accounting, CRM, a project management system, etc.
Having all their software work together is more important for financial reasons and to make work processes easier
They can also create their own tool to enhance their software, making their customers happier.
APIs started out as 1 API in 2000, the Ebay API. Since 2011, it has doubled exponentially.
From 2015 to 2016, it has doubled in growth from 15,000 to 30,00.
An API is best thought of as a contract provided by one piece of computer software to another.
REST describes a way of interacting with a HTTP server.
A REST API defines a set of functions which developers can perform requests and receive responses via HTTP protocol such as GET and POST.
REST is best explained as a way to talk to other machines through the server with an HTTP Protocol.
It uses Verbs and nouns that I will show you later.
So basically it’s a way of http talking to other machines with things and actions for each thing.
When you view a web page, it sends a request to the web server, and sends a response back.
So you are making a request and getting a response.
When you send your HTTP request, you are sending a GET request.
You get your response as an HTTP response code, where 200 means good, and everything came back okay.
This is exactly what is happening between your app and their app between an API
When you are getting data using an API, you make your request.
In this flow chart, you see that your app is asking to make a list of Spark rooms, then the Spark server prepares the data and sends the list of spark rooms back.
And you can have it parsed in any parsing format you want, such as JSON.
Cisco Spark is a collaborative tool similar to Slack.
So your Application would be the API consumer, the request is GET /rooms and the Cisco Spark API is the API Provider.
Then the return result is a HTTP 200 OK.
This is a list of different HTTP routing methods you can use to make a request. Each of these “GET, POST, PUT, DELETE” are Verbs. Each Verb can make an action with a noun.
GET --- Can get a list of items, or get an individual item id
POST --- Creates an item
PUT --- Updates an item
DELETE – Delete’s an item
A great API will have great documentation.
If people cannot figure out how to use your API, then you will not have as many users as you were hoping for. The most popular API’s out there have very well written documentation.
You could have the best API in the world, but if developers cannot figure out how to use it, they will find something else.
As an example, I’m going to use Cisco Spark’s API Reference.
So for each section in the API Reference, which are the Nouns, you can do 5 Verbs
For People, you can create a person, get person details, update a person, delete a person, and get my own details.
For Messages, you can List rooms, Create a Room, Get Room Details, Update a Room, and Delete a Room
How do you know what kind of parameters you can use for each section of the API Reference?
What can I do when I’m working with the section “MESSAGES”?
This is the list of parameters you can use for the messages
Okay, so what is an API?
There are a lot of different ways you can debug or test your APIs.
The one I use the most is POSTMAN, the GUI HTTP Client to test API Calls.
Postman is a free tool to forge API Requests and examine responses. You can install it on a Mac as an app or install the Chrome plugin Postman.
For Mozilla or Safari, you can install a plugin called RESTClient
Using the Github API, you add the resource URL in the box next to where you select your method, which is the verb to use.
Then you hit SEND and will receive a response http code.
The HTML page contents are placed in the Body
So hopefully you are ready to start programming with APIs!