What are APIs?
To begin with, we’d like to make it clear that this article is intended for those who are new to programming and are interested in starting to know more about APIs. If you’re already a developer and you’re searching for in-depth content Pipefy API documentations, please go to https://developers.pipefy.com
You’ve probably seen these letters in websites, blogs and applications and have wondered what they mean, right? If you’re new to the term, don’t worry, after a couple of minutes of reading you’ll understand more about it.
APIs are not exclusive to the internet world, they’ve always been used in software development, including your computer’s operational system, for example.
Have you ever thought about these three letters: A – P – I?
Together they form an acronym that stands for Application Programming Interface.
Got it? 😃 Maybe not yet… And that’s ok, we’re still warming up!
Let’s separate these letters and understand the meaning of each one, starting with Interface.
We work with interfaces all the time as every web page or application has its own interface. However, interfaces are not exclusive to web applications, we can also find (and interact with) them in the ‘real’ world: every time we push a button in a device at home or even in our car, for example, we’re interacting with an interface that simplifies some complicated mechanism behind it.
The reason why it exists is because you don’t necessarily need to know how it works, all you need is a basic notion on how to use the options that this interface offers you.
In other words, you could see an Interface as something that simplifies mechanisms by giving you manageable options and making it easier to use them. In technology this is called an abstraction.
Application is a common name for a computer program or a software that has a specific function or set of functions. A program or a software is commonly a group of operations that serves an user as an application, and every single application or software is built through programming.
To program an application is to write down tasks and commands to establish its rules and behaviors, basically how it will work.
You see? We already defined each of the letters of the acronym API. But I know, you’d probably like to know more about how they work and why we use them.
Basically, API’s are used to establish communication between different applications. For that, it offers an interface, or a simplification of basic functions of this application, oriented to interaction and how to exchange messages between them.
It’s basically a set of rules that one application gives to another to make it possible to communicate with it.
But what about interfaces? Do we have a screen to click or drag and drop anything? What about dropdowns and interactions?
Screens are great and I know we couldn’t live without them, but remember, in API context, an interface is not a screen, but a set of simplifications of a complex system in functions that other applications can use.
So it’s basically code.
It must be only code to let other applications understand it and translate to something meaningful, maybe rendering it in a nice page with drags and drops and dropdowns, etc.
But you shouldn’t worry about that, code is beautiful.
It’s practice time!
Alright, over the next paragraphs we’ll present a practical example of API, but without any code examples this time, ok? We’ll do it in the next articles. This one will be just an exercise of abstraction.
Let’s assume you use an e-commerce site where you buy all your books, for example. And it has its own API.
Wow, nice!! So if APIs are used for interaction, can I get data from this website to send it to another place?
Yes, you can!
If you wanted to store information about all the books that you’ve bought in a spreadsheet, where you control your personal library (I know, there are several nice apps where you can build a cool library, but this one is just for educational purposes).
Ok, so the website where you buy your books allows you to get the books’ information with a function called get_books.
In order for two (or more) applications to communicate, they need to have APIs or at least support to get the information needed. In the context of web applications, an HTTP request must be made (Oh nice, another acronym. Yes, but we won’t cover this one today).
HTTP is basically the foundation of the internet where everything is connected.
So your spreadsheet application must call this get_books function and then understand how the code is organized so it can store it in the content of your beautifully crafted library spreadsheet.
You see? The application where you chose to store your library doesn’t need to know how the website where you buy books works, it just needs to know how to call the function get_books and retrieve the information.
Wrapping up
So now you know what API is. It’s an acronym for Application Programming Interface that’s basically a set of functions to allow applications to establish interactions between them and exchange information.
APIs are extremely used in web applications where more and more systems need to be connected, and it allows us to build automations saving lots of time we’d spend in manual work, but we’ll cover that in the next articles as well.
Hope you enjoyed it and thank you!
This article was written by Marcos Carvalho, Backend Developer at Pipefy