When the developers claimed they had a problem with an endpoint during a standup, that was the first time I heard about APIs. My colleague (a frontend engineer) explained that "It is an input/instruction you give a computer, expecting the desired output that is part of an API". It did not make sense to me at the time, but we kept building the product months later on. I took out time to understand the concepts of API and how it works and therefore decided to write it for others to learn.
What is API about?
Application Programming Interface (API) is a tool that performs a specific function, or a combination of codes that transforms a defined input to give the desired output. These functions make it easy for applications to interact with each other seamlessly.
The end-users of your product can't make use of APIs directly instead, they make use of the applications that function through APIs.
I would use Twitter Space as an example. When you are on a twitter space, you're able to: select users to be a speaker, share space links as a tweet, click on emojis to show how the topic/speakers are doing, etc. Keep in mind that behind the scenes, each Twitter feature activates (calls) a specific API.
APIs as Business Cases
APIs do not only function to make it easy for applications to interact with each other as I stated earlier. Understanding APIs would help you know the right type to choose for the product you are building. API provides business cases for software products as well.
Here are three types of APIs that you should know about;
- Internal APIs
- Public APIs
- Partner APIs
Internal APIs: They're also known as private APIs, this type of API exists or functions within a department or product. The intent of the internal API is for those who have access to it to improve a product or resolve existing issues. Because it is scalable and efficient to use, this type of API helps to streamline data breaches and security concerns inside a department or business. Some of the products we use daily on our phones or computers are public, but they contain private APIs that are only available to the corporation.
Partner APIs: Bolt's integration of Google Map API to show users their locations while on the app is an excellent example of partner API. Users can now search for their area, check how far the driver is from them, and view their distance in kilometers thanks to this partner integration. What occurred here, is that Google and Bolt reached an agreement for the integration to take place since it benefits both parties.
The Product managers' ultimate goal is to create a product that almost satisfies user needs. Therefore, if developing APIs to accomplish this would be too costly or complex for your team, it is common to make use of this business case. It will save money, time, and effort in terms of personnel management.
Public APIs: Public APIs are typically established for end-users and also work for commercial purposes, as setting up public APIs can generate revenue. Public or external API is your best chance if you want to increase revenue for your company by attracting more clients to use your goods.
It would be expensive to manage the potential infrastructural complications of public APIs. Setting up an agile environment for this purpose is recommended to ensure that every team member understands and believes in the aim, and also understand the impact of these actions.
API Architecture
When a product implements an API to develop adaptable and scalable systems, this is referred to as API architecture. The API building elements are defined to be independent, and they fulfill their responsibilities, but collectively, they allow data to flow from one software to another. The interface block is in charge of defining the API's specifications. API requests and answers are interpreted in the controller block. API computing is handled by the Runtime block, whereas the majority of the data is saved in the Data block.
Some terminologies you should know about
API authentication - the process of receiving and responding to a client or users who want to establish a connection across a protocol. Before the API can permit an application or a client to access data, it must first be authenticated. Most common API authentications are HTTP Basic Authentication, API Key Authentication, and OAuth Authentication.
Caching - The process of caching is to have a temporary storage location to store files or data. API cache is a system for storing and retrieving network requests and their corresponding response.
API calls - When two interfaces are interacting, one sends a request for a service or information to another for a respond once authorized, this process is known as API calls.
The use of APIs in some career paths:
- Backend developers create these API interfaces for use
- When creating the product's user interface, frontend developers use the API for integration.
- Product managers define the APIs requirements for products and their values.
- APIs documentation is written by technical writers, to educate users and developers who use the API. These are some career paths that use APIs to build products daily.
In my experience as a Product manager, APIs are one of the most common and crucial technical topics that product-engineering teams encounter when developing a product. As I progress in my career as a product manager, APIs are becoming increasingly important to me since I've seen how they can generate income and help businesses retain customers.
Resources if you need to learn more: departmentofproduct.com/blog/apis-explained.. altexsoft.com/blog/engineering/what-is-api-..