Application Programming Interface (API)

Application Programming Interface (API) is a software interface that allows two applications to interact with each other without any user intervention. In simple terms, API means a software code that can be accessed or executed

Types of APIs
1. OPEN APIs
Also known as public APIs. These APIs are publicly available and there are no restrictions to access them
2. PARTNER APIs
These APIs are not publicly available, so you need specific rights or licenses to access them.
3. INTERNAL APIs
Internal or private. These APIs are developed by companies to use in their internal systems. It helps you to enhance the productivity of your teams.
4. PARTNER APIs
This type of API combines different data and service
Web Service APIS
1.SOAP
It defines messages in XML format used by web applications to communicate with each other.
2.REST
It makes use of HTTP to GET, POST, PUT, or DELETE data. It is basically used to take advantage of the exit
3.JASON-RPC
It uses JSON for data transfer and is a light-weight remote procedural call defining a few data structure types
4.XML-RPC
It is based on XML and uses HTTP for data transfer. These APIs is widely used to exchange information

Example of API USES
Google Maps API
Weather API
Spotify API
Twitter API
PayPal API
HubSpot API
YouTube API
Amazon's API
Travel Booking
API Testing Tools
POSTMAN
Postman is a plugin in Google Chrome, It can be used to test API services. It is a powerful HTTP client to check web services.
PING API
Ping-API is API testing that allows us to write test scripts in JavaScript CoffeeScript to test your APIs.
vREST
vREST API tool provides an online solution for automated testing, mocking, automatic recording, and specification of REST/HTTP APIs
Features of API
It offers a valuable service ( data, function audience ).
It helps you to plan a business model.
Simple, Flexible, and Quickly, Adopted.
Managed and measured.
Offers great developer support.
API in simple words...







🔹 Smoke Testing
This is done after API development is complete. Simply validate if the APIs are working and nothing breaks.
🔹 Functional Testing
This creates a test plan based on the functional requirements and compares the results with the expected results.
🔹 Integration Testing
This test combines several API calls to perform end-to-end tests. The intra-service communications and data transmissions are tested.
🔹 Regression Testing
This test ensures that bug fixes or new features shouldn’t break the existing behaviors of APIs.
🔹 Load Testing
This tests applications’ performance by simulating different loads. Then we can calculate the capacity of the application.
🔹 Stress Testing
We deliberately create high loads to the APIs and test if the APIs are able to function normally.
🔹 Security Testing
This tests the APIs against all possible external threats.
🔹 UI Testing
This tests the UI interactions with the APIs to make sure the data can be displayed properly.
🔹 Fuzz Testing
This injects invalid or unexpected input data into the API and tries to crash the API. In this way, it identifies the API vulnerabilities.
API gateway
An API gateway is the "front door" to your backend services and APIs. It acts as an intermediary layer, handling client requests and routing them to the appropriate destinations.
The key benefits of API gateways are:
Centralized access: All incoming requests must first pass through the gateway. This simplifies management and monitoring.
Service abstraction: Clients interact only with the gateway. We can hide the complexity of the backend architecture from clients.
Performance enhancement: Implement techniques like caching and load balancing to optimize API performance.
Authentication and Authorization: API gateways verify user and application identities, enforcing whether a request is allowed or not.
API gateways provide a unified access point, streamlining client interactions and securing your backend services. Authentication is an essential element of API gateway security, controlling who can access your resources.
