With so many companies investing in this new area of business, possessing a working understanding of APIs becomes increasingly relevant to careers in the software industry. Through this course, we hope to give you that knowledge by building up from the very basics. We start by looking at some fundamental concepts around APIs. We define what an API is, where it lives, and give a high level picture of how one is used.
When talking about APIs, a lot of the conversation focuses on abstract concepts. To anchor ourselves, let’s start with something that is physical: the server. A server is nothing more than a big computer. It has all the same parts as the laptop or desktop you use for work, it’s
just faster and more powerful. Typically, servers don’t have a monitor, keyboard, or mouse, which makes them look unapproachable. The reality is that IT folks connect to them remotely — think remote desktop-style — to work on them.
Servers are used for all sorts of things. Some store data; others send email. The kind people interact with the most are web servers. These are the servers that give you a web page when you visit a website. To better understand how that works, here’s a simple analogy:
In the same way that a program like Solitaire waits for you to click on a card to do something, a web server runs a program that waits for a person to ask it for a web page.
There’s really nothing magical or spectacular about it. A software developer writes a program, copies it to a server, and the server runs the program continuously.
What An API Is and Why It’s Valuable
Websites are designed to cater to people’s strengths. Humans have an incredible ability to take visual information, combine it with our experiences to derive meaning, and then act on that meaning. It’s why you can look at a form on a website and know that the little box with the phrase “First Name” above it means you are supposed to type in
the word you use to informally identify yourself. Yet, what happens when you face a very time-intensive task, like copying the contact info for a thousand customers from one site to
another? You would love to delegate this work to a computer so it can be done quickly and accurately. Unfortunately, the characteristics that make websites optimal for humans make them difficult for computers to use.
The solution is an API. An API is the tool that makes a website’s data digestible for a computer. Through it, a computer can view and edit data, just like a person can by loading pages and submitting forms.
Making data easier to work with is good because it means people can write software to automate tedious and labor-intensive tasks. What might take a human hours to accomplish can take a computer seconds through an API.
How An API Is Used
When two systems (websites, desktops, smartphones) link up through an API, we say they are “integrated.” In an integration, you have two sides, each with a special name. One side we have already talked about: the server. This is the side that actually provides the API. It helps to
remember that the API is simply another program running on the server 3. It may be part of the same program that handles web traffic, or it can be a completely separate one. In either case, it is sitting, waiting for others to ask it for data.
The other side is the “client.” This is a separate program that knows what data is available through the API and can manipulate it, typically at the request of a user. A great example is a smartphone app that syncs with a website. When you push the refresh button your app, it talks to a server via an API and fetches the newest info. The same principle applies to websites that are integrated. When one site pulls in data from the other, the site providing the data is acting as
the server, and the site fetching the data is the client.
API use case examples
Imagine your business uses Infusionsoft as its email marketing system, but your sales team are using Salesforce. As a marketer, each time you drive a new lead to your website and they fill out a data capture form. This data is captured in Infusionsoft so that you can target them with further marketing messages. Now imagine that you’ve set up a scoring system in Infusionsoft that ranks prospects as high value when they’ve revisited more than 3 times. Your sales manager is just dying to get his sales team onto those leads!
Current process is someone in your team needs to download once per week a list of those high value prospects into a csv file and then email the file to the Salesforce admin person, who then uploads them to the Salesforce application. The sales leader then allocates these leads to the sales team based on geography indicators.
You can remove cost and increase quality of the process by using the Infusionsoft and Salesforce APIs together with a piece of cloud based middleware – such as Zapier – that knows how to get the data out of one system into the other system according to a set of rules.
We simply set up Zapier to have log ins to both systems and then use the APIs to extract all new high value lead appears in Infusionsoft, then go to Salesforce, check for any similar records, and if none, create a new prospect record and assign this to a salesperson.
Using such a method not only saves cost and reduces errors of transcripting or loading data manually, but it also gives your sales team much hotter leads which can markedly increase conversion.
This process can be used in reverse to ensure any sales leads captured in the field by sales people can also be copied automatically to Infusionsoft to ensure they received marketing communications.