Total Pageviews

Sunday, August 13, 2023

API

 

API (Application Programming Interface)

 

 

API endpoint

An API endpoint is a digital location where an API receives requests from clients to access information, a resource, or a service. The endpoint is usually a URL (uniform resource locator) that corresponds to the location of a resource on a server.  

Scaffolding 

Scaffolding refers to creating a temporary structure for your project that you can use when developing more complex projects.  

Benefits of using APIs 

APIs benefit businesses, users, and developers in the following ways: 

·        Businesses can access and share content from other software systems.

·        A company’s employees can work faster on tasks and collaborate more easily with coworkers.

·        Internet searchers can find information and interact with sites easily. 

·        External users of apps and digital products can enjoy seamless customer experiences.

·        Developers can often build upon or modify existing APIs, rather than having to create entirely new ones, to deliver value to customers more efficiently. 

·        APIs provide security, so data from one device or server is never fully exposed to another. 

 API key

An API key is used to authenticate the application calling the API. In other words, it verifies the identity of the application it's interacting with to protect sensitive information.

API call

Also known as an API request, an API call is a message sent to a server asking the API to perform an action or provide information. It initiates the action that the user requests on a software application or website. 

API gateway

An API gateway is software that takes user requests, processes them, routes them to the appropriate backend services, and delivers the relevant data back to the user in a simplified package. You can think of them like a front desk receptionist who communicates with customers and helps coordinate the appropriate actions behind the scenes.

API architectural styles

·        REST APIs. REST stands for representational state transfer. It’s a set of guidelines for scalable APIs that are easy to use when transferring data securely. One of the most notable characteristics of REST architecture is statelessness. REST APIs are also known as RESTful APIs.

·        SOAP. SOAP stands for simple object access protocol. This protocol determines how to transmit data across networks, how messages should be sent, and what the messages should include. SOAP is a more complex alternative to REST.

·        RPC. RPC stands for remote procedural call. RPC APIs execute code on remote networks.  

Types of API, In terms of access

·        Open APIs - also known as external or public APIs, are available for anyone to use and integrate with their sites or apps. 

·        Partner APIs - are also considered external, but you can use them only if you have a business relationship with the companies providing them.  

·        Internal APIs - also called private APIs, are used by people within a company and help to transfer data between teams or connect different systems and apps. Third parties do not access internal APIs like they do with open or partner APIs. 

·        Composite APIs - combine multiple APIs from different servers or data sources to create a unified connection to a single system. 

·        Web Service API (or Web API) - an application interface between a web browser and a web server

Types of API, In terms of architecture

·        REST APIs: REST APIs allow you to perform CRUD (create, read, update, and delete) operations between a client and a server. It provides multiple API endpoints to manipulate data.

·        GraphQL APIs: It is a query language that lets clients request the precise data they require from the server. Thus, eliminating the issues of under-fetching and over-fetching that occur in other operating systems.

·        SOAP APIs: Any web service that complies with the SOAP web services API specification is a SOAP web service.

·        Kafka APIs: Apache Kafka is an event streaming platform that combines three capabilities so that you can implement different use cases. The three capabilities are publishing and subscribing to the streams of events, storing streams of events durably and reliably, and processing streams of events as they occur.

·        Async APIs: These APIs work on the principle of Event-Driven Architecture (EDA). In AsyncAPIs, multiple Subscribers can subscribe to a Publisher. When an event occurs, the Publisher (API provider) can notify all the Subscribers via the Message broker.

·         

API examples

·        As an internet user, you’ve most likely experienced the convenience API technology enables when browsing a website or using a mobile app. APIs are a crucial behind-the-scenes aspect of user experience (UX). Consider a few familiar examples of APIs and how a website owner or administrator might use them:

·        The YouTube API allows you to add videos to your website or app, as well as manage your playlists and subscriptions. 

·        The Facebook API for conversions allows you to track page visits and conversions, as well as provide data for ad targeting and reporting.

·        The Google Maps API allows you to embed static and dynamic maps, as well as street view imagery, on your website. 

·        Any time you land on a site and watch a video, see an ad on Facebook related to a website you recently visited, or use the map on a business’s website to find its physical location, chances are an API has been at work to make this experience possible.

1.      Twitter Bots

2.      Log-In Using XYZ

3.      Weather Snippers

4.      Pay with PayPal

5.      Google Maps

6.      Travel Booking

7.      E-Commerce

 

·         

API Testing

·        API testing is a type of software testing that involves testing application programming interfaces (API's).

·        API testing is a part of integration testing.

·        API testing, our focus is on the Business Logic Layer of the software architecture.

Types of API Testing

  • Unit testing testing
    • The smallest piece of code that can be logically isolated in a system
  • Functional testing
    • Functional testing is a type of testing that seeks to establish whether each application feature works as per the software requirements.
  • Load testing
    • Load Testing determines a system behavior under both normal and anticipated peak load conditions
  • Security testing
    • Software Testing that uncovers vulnerabilities, threats, risks in a software application and prevents malicious attacks from intruders.
  • Interoperability testing
    • Checks functionality relationship between two software systems as per the requirement of end users.
  • Penetration testing
    • A simulated cyber attack was made against the system to evaluate its vulnerabilities
  • Fuzz-testing
    • Software testing method that injects invalid, malformed unexpected inputs into system and sees the vulnerabilities in the system

Tools used for API testing 

  • Postman
  • Katalon Studio
  • SoapUI
  • Restassured

Protocols used in API testing 

  • HTTP
  • REST
  • SOAP
  • JMS
  • UDDI

API contract

Contract details means documentation of the API, it will tell how to use the API, what is the HTTP method type, response code, etc

API integration

API integration refers to the connection between two or more applications, and the exchange of data that is completed when their respective APIs communicate. This enables the two to perform a joint function.

What is an API?

An API is a software component, facilitating digital products and services to communicate and interact with each other in order to share data. APIs are used in server-based B2B products, like Salesforce, as well as in everyday B2C smartphone apps, like weather forecasts.

API management

API management refers to the process of designing, publishing, securing, monitoring, and analyzing APIs (Application Programming Interfaces) to maximize their value and potential. 

 

For software to be described as an API management tool, it must offer traffic, security, and functionality monitoring. It must also equip the administrators with operation and monetization tools. Some of the popular API management tools include:

  • RapidAPI
  • Postman
  • Paw
  • Microsoft Azure
  • Anypoint Platform
  • Oracle API Manager
  • Amazon API Gateway
  • Apigee Edge
  • DreamFactory
  • IBM API Management
  • Clearview InFocus
  • SwaggerHub

API documentation

API documentation is a crucial aspect of API management that involves creating a comprehensive guide for developers on how to use an API effectively.

 

 

Web Service APIs

A web service is a system or software that uses an address (ex: the URL on the World Wide Web) to provide access to its services.

Web APIs

 

Common types of web service APIs

The most common types of web service APIs include:

SOAP (Simple Object Access Protocol): This is a protocol that uses XML as a format to transfer data. Its main function is to define the structure of the messages and methods of communication. It also uses WSDL (Web Service Definition Language) in a machine-readable document to publish a definition of its interface.

XML-RPC: This is a protocol that uses a specific XML format to transfer data, compared to SOAP which uses a proprietary XML format. It is also older than SOAP. XML-RPX uses minimum bandwidth and is much simpler than SOAP.

JSON-RPC: This protocol is similar to XML-RPC, but instead of using an XML format to transfer the data, it uses JSON.

REST (Representational State Transfer): REST is not a protocol like the other web services. Instead, it is a set of architectural principles. The REST service needs to have certain characteristics, like simple interfaces, which are resources easily identified within the request.

Webhook APIs

Webhook APIs function similarly to how a traditional REST API works, but it happens in the opposite direction. 

API Request

An API request occurs when a developer adds an endpoint to a URL and makes a call to the server. 

Software development kit (SDK)

An SDK is a collection of software development tools that allow developers to easily create software applications. This kit contains compilers, runtime environments, documentation, debuggers, and a platform- or language-specific framework or collection of code libraries. It generally comes with an API as well.

API Directory

 

API Marketplace

 

API Versioning

 

API Enterprise Hub

 

API Fuzzing

 

API Testing Tools

 

API Testing Frameworks

 

API Monitoring

API monitoring is the process of observing the functional, availability, and performance metrics of an API. The API could be an internal, external, or third-party API that is relied on by another application.

API full Lifecycle Management

 

 

API Analytics

 

API Monetization

 

API Security

 

API policy

An API policy is a way to program API management capabilities into the API. Policies are often implemented by the API Gateway.