How do APIs work?
APIs allow systems to communicate with each other through a request and response mechanism. One system requests data, the other returns it. Simple...right?
API architecture can be best explained in terms of 'the client' and 'the server'. The application sending the request is called the client whilst the application sending the response is called the server. The API itself is essentially a set of defined rules that dictate how the two communicate with one another and what data is shared. Below, is a very high level overview of how an API works.
A client application sends a request to retrieve data the API endpoint.
The request includes the HTTP method, headers, parameters and an optional body.
The API server receives and processes the request according to the defined rules.
It might interact with databases, perform computations or communicate with other services.
The API server sends a response back to the client.
The response includes a status code (e.g. 404 for not found) and usually a body containing the requested data or a message.
This type of API works by allowing clients to communicate with a server over HTTP. They do this using standard methods including GET, PUT and POST to perform operations on resources, which are typically represented as URLs. The server then responds with data (usually in JSON or XML format) which the client can ultimately use to display, manipulate or store the data. The REST API is one of the most common.
SOAP APIs work by allowing applications to communicate over a network via the SOAP protocol which relies on XML based messaging to request and respond to data. Each message follows a format defined by a contract which ensures consistent data exchange between systems, regardless of their underlying technologies. The SOAP API is not the most flexible and thus, isn't as popular today as it was in the past.
Remote Procedure Call or RPC APIs enable a program to execute code on a remote server in the same way a local function would. The client sends a request with the function name and parameters to the server which then processes it, executes the function and will then return data back to the client.
WebSocket APIs create a continuous two way link between a client and server which differs from the request/response type model of other popular APIs. This type of API allows them to exchange data on in real time without the need for repeated requests. WebSocket APIs is often regarded as more efficient because either side can instantly send new information whenever it’s available, thus saving time on initiating requests.
There are three main types of API: Open or Public, Internal or Private and Partner APIs. Each serve a distinct purpose in the functions they perform. Here we take a close look.
As the name suggests, these public APIs are available to be used by (pretty much) any third party to gain access to the owning organisations data, services, functionality etc. An example of a public API would be those used via Social Media organisations such a X to access user profiles.
Again, the clue is in the name. Internal or Private APIs are used to connect systems within one organisation and cannot be accessed by third parties. An example of a private API would be an internal developer using an API to connect a CRM system to a WFM, facilitating data transfer between the two.
Partner APIs provide specific groups (client and supplier for example) with access to third party data, functionality or services whilst not being accessible to the general public. A partner API example are payment platforms such as Stripe that are used for processing payments by their clients.
What is an API?
Do I need an API?