Application Programming Interface (API): Difference between revisions

From GM-RKB
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 40: Line 40:
** ...
** ...
* <B>Examples:</B>
* <B>Examples:</B>
** [[API Architecture Type]]s, such as:
** [[Service Integration API]]s, such as:
*** [[REST API]]s, such as:
*** [[Social Media API]]s, such as:
**** [[GitHub REST API]] for [[source code management]] (as of 2024).
**** [[Twitter API]] for [[social content management]] and [[analytics tracking]] (as of 2024).
**** [[Stripe REST API]] for [[payment processing]] (as of 2024).
**** [[Facebook Graph API]] for [[social graph access]] and [[user data integration]] (as of 2024).
*** [[GraphQL API]]s, such as:
**** [[Instagram API]] for [[media content integration]] and [[business feature]]s (as of 2024).
**** [[GitHub GraphQL API]] for [[flexible data querying]] (as of 2024).
**** [[LinkedIn API]] for [[professional network integration]] and [[business connectivity]] (as of 2024).
**** [[Shopify GraphQL API]] for [[e-commerce operation]] (as of 2024).
*** [[Payment Processing API]]s, such as:
** [[API Communication Type]]s, such as:
**** [[Stripe API]] for [[payment processing]] and [[subscription management]] (as of 2024).
*** [[Synchronous API]]s, such as:
**** [[PayPal API]] for [[transaction processing]] and [[payment integration]] (as of 2024).
**** [[Database API]] for [[data management system]] interaction.
**** [[Square API]] for [[point of sale integration]] and [[payment handling]] (as of 2024).
**** [[Weather API]] for [[real-time data retrieval]].
**** [[Adyen API]] for [[global payment processing]] and [[payment method integration]] (as of 2024).
*** [[Asynchronous API]]s, such as:
*** [[Communication API]]s, such as:
**** [[Facebook Messenger API]] for [[message handling]] via [[POST request]]s.
**** [[Twilio API]] for [[programmable communication]] and [[messaging service]]s (as of 2024).
**** [[Gmail API]] for [[email operation]]s with [[JSON response]]s.
**** [[SendGrid API]] for [[email delivery]] and [[marketing automation]] (as of 2024).
**** [[Multiplayer Game API]] for [[game event management]].
**** [[Mailchimp API]] for [[email campaign management]] and [[audience targeting]] (as of 2024).
**** [[Asana API]] for [[task notification]] via [[webhook]]s.
**** [[MessageBird API]] for [[global messaging]] and [[voice service]]s (as of 2024).
** [[API Purpose Type]]s, such as:
** [[Infrastructure API]]s, such as:
*** [[Web API]]s for [[web service]] interaction.
*** [[Mapping API]]s, such as:
*** [[Chatbot API]]s for [[chat functionality]] integration.
**** [[Google Maps API]] for [[location service]]s and [[map integration]] (as of 2024).
*** [[Database API]]s for [[data system]] interaction.
**** [[Mapbox API]] for [[custom map rendering]] and [[geospatial analysis]] (as of 2024).
**** [[OpenStreetMap API]] for [[open source mapping]] and [[location data]] (as of 2024).
**** [[Here Maps API]] for [[enterprise mapping solution]]s and [[fleet management]] (as of 2024).
*** [[Cloud Storage API]]s, such as:
**** [[Dropbox API]] for [[file management]] and [[content sharing]] (as of 2024).
**** [[Google Drive API]] for [[document storage]] and [[collaboration tool]]s (as of 2024).
**** [[Box API]] for [[enterprise content management]] and [[security control]]s (as of 2024).
**** [[OneDrive API]] for [[personal storage integration]] and [[file synchronization]] (as of 2024).
*** [[Cloud Platform API]]s, such as:
**** [[AWS API]] for [[cloud resource management]] and [[service orchestration]] (as of 2024).
**** [[Google Cloud API]] for [[cloud infrastructure]] and [[platform service]]s (as of 2024).
**** [[Azure API]] for [[microsoft cloud integration]] and [[enterprise solution]]s (as of 2024).
** [[Development Tool API]]s, such as:
*** [[Version Control API]]s, such as:
**** [[GitHub API]] for [[repository management]] and [[development workflow]] (as of 2024).
**** [[GitLab API]] for [[code management]] and [[CI/CD pipeline]]s (as of 2024).
**** [[Bitbucket API]] for [[source control integration]] and [[team collaboration]] (as of 2024).
*** [[Monitoring API]]s, such as:
**** [[New Relic API]] for [[application performance monitoring]] and [[system metric]]s (as of 2024).
**** [[Datadog API]] for [[infrastructure monitoring]] and [[analytics platform]] (as of 2024).
**** [[Grafana API]] for [[monitoring visualization]] and [[dashboard creation]] (as of 2024).
*** [[Testing API]]s, such as:
**** [[Selenium API]] for [[web automation testing]] and [[browser interaction]] (as of 2024).
**** [[Postman API]] for [[API testing]] and [[documentation generation]] (as of 2024).
**** [[JUnit API]] for [[unit testing framework]] and [[test automation]] (as of 2024).
** ...
** [[API Architecture Style]]s, such as:
*** [[REST API Implementation]]s, such as:
**** [[RESTful Service]] for [[resource management]] using [[HTTP method]]s.
**** [[REST Endpoint]] for [[CRUD operation]]s using [[URL pattern]]s.
*** [[GraphQL API Implementation]]s, such as:
**** [[GraphQL Query]] for [[flexible data fetching]] using [[query language]].
**** [[GraphQL Mutation]] for [[data modification]] using [[operation type]]s.
*** [[gRPC API Implementation]]s, such as:
**** [[gRPC Service]] for [[high-performance communication]] using [[protocol buffer]]s.
**** [[gRPC Stream]] for [[bidirectional communication]] using [[streaming protocol]]s.
** ...
** ...
* <B>Counter-Examples:</B>
* <B>Counter-Examples:</B>

Latest revision as of 23:28, 30 December 2024

An Application Programming Interface (API) is a computing system interface that can be used for building a software application (through standardized program interaction and component communication).



References

2024-12-30

[1] https://www.ibm.com/think/topics/api
[2] https://en.wikipedia.org/wiki/Api
[3] https://blog.postman.com/top-30-apis-for-best-developer-experience/
[4] https://blog.dreamfactory.com/6-examples-of-apis-we-use-in-our-everyday-lives
[5] https://aws.amazon.com/what-is/api/
[6] https://katalon.com/resources-center/blog/api-examples
[7] https://www.techtarget.com/searchapparchitecture/definition/application-program-interface-API
[8] https://www.talend.com/resources/what-is-an-api/
[9] https://www.mulesoft.com/api/what-is-an-api
[10] https://www.altexsoft.com/blog/what-is-api-definition-types-specifications-documentation/

2024

  • (Wikipedia, 2024) ⇒ https://en.wikipedia.org/wiki/API Retrieved:2024-6-20.
    • An () is a way for two or more computer programs or components to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build or use such a connection or interface is called an . A computer system that meets this standard is said to or an API. The term API may refer either to the specification or to the implementation. Whereas a system's user interface dictates how its end-users interact with the system in question, its API dictates how to write code that takes advantage of that system's capabilities. In contrast to a user interface, which connects a computer to a person, an application programming interface connects computers or pieces of software to each other. It is not intended to be used directly by a person (the end user) other than a computer programmer who is incorporating it into the software. An API is often made up of different parts which act as tools or services that are available to the programmer. A program or a programmer that uses one of these parts is said to that portion of the API. The calls that make up the API are also known as subroutines, methods, requests, or endpoints. An API specification these calls, meaning that it explains how to use or implement them. One purpose of APIs is to hide the internal details of how a system works, exposing only those parts that a programmer will find useful, and keeping them consistent even if the internal details change later. An API may be custom-built for a particular pair of systems, or it may be a shared standard allowing interoperability among many systems. There are APIs for programming languages, software libraries, computer operating systems, and computer hardware. APIs originated in the 1940s, though the term did not emerge until the 1960s and 1970s. Contemporary usage of the term API often refers to web APIs,[1] which allow communication between computers that are joined by the internet. Recent developments in APIs have led to the rise in popularity of microservices, which are loosely coupled services accessed through public APIs. APIs should be versioned. There are two common versioning strategies:
      • Additive change strategy: new features are added without modifying existing ones. Any update must be backward compatible. This strategy is suitable for small projects with low rate of change.
      • Explicit version strategy: this strategy allows making any changes including breaking changes. This strategy is suitable for complex applications and complex changes.
  1. Cite error: Invalid <ref> tag; no text was provided for refs named Lane2019

2016

  • (Wikipedia, 2016) ⇒ http://wikipedia.org/wiki/Application_programming_interface Retrieved:2016-4-29.
    • In computer programming, an application programming interface (API) is a set of routines, protocols, and tools for building software and applications.

      An API expresses a software component in terms of its operations, inputs, outputs, and underlying types, defining functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising the interface. A good API makes it easier to develop a program by providing all the building blocks, which are then put together by the programmer. ...