๐ 1. What is an API?
- ๐ Full Form: Application Programming Interface.
- ๐ Definition: A set of functions, procedures, definitions, and protocols used for integrating application software.
- ๐ง Core Concept: It is a way for applications to abstract themselves so they can be easily reusable within their own system, or for other software and services to consume them. Essentially, APIs are all about integration and abstracting functionality for reusability.
๐งฎ 2. Breaking Down the Term “API” (The Calculator Example)
To understand what the name actually means, let’s break down each letter using a calculator app as an example:
- ๐ฑ A – Application: A piece of software designed to perform a specific task.
- Example: The calculator application on your phone.
- โ๏ธ P – Programming: A specific program or functionality that runs within the application.
- Example: Addition, subtraction, multiplication, and division are all separate programs that make up the calculator app. (Adding 10 + 7 is a different program than subtracting 10 – 7).
- ๐ฅ๏ธ I – Interface: A place or medium where the program can run successfully.
- Example: Your phone is the interface where the calculator application and its addition program run.
๐ก Note: You don’t need to know the complex code running behind the addition (+) button. You just need to know that when you input two integers and use the addition functionality, you will get a response (the sum) from the calculator.
๐ 3. The Restaurant Analogy
The easiest way to understand how an API functions is by visualizing a restaurant scenario:
- ๐ค You (The Client): You are at a restaurant and want to order food (a pizza).
- ๐งโ๐ณ The Chef (The Server/System): The chef is the one who makes the pizza. However, the chef doesn’t speak your language, and you don’t know exactly how the chef prepares the pizza.
- ๐โโ๏ธ The Waiter (The API): The waiter acts as the messenger. They take your order (your request), communicate it to the chef in a way the chef understands, and then bring the finished pizza (the response) back to you.
๐ 4. Key Takeaways
- ๐๏ธโ๐จ๏ธ Abstraction: APIs allow you to use a program’s functionality without having any knowledge of how that program actually works behind the scenes.
- ๐ Platform-Independent: APIs are platform-independent.
- ๐ ๏ธ Zero Maintenance: Typically, there is no maintenance required for the consumer using the API.
- ๐ค Mutual Benefit: It creates a win-win situation for both the client (requesting the data) and the server (providing the data).
๐ API (เฐ เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑ เฐชเฑเฐฐเฑเฐเฑเฐฐเฐพเฐฎเฐฟเฐเฐเฑ เฐเฐเฐเฐฐเฑโเฐซเฑเฐธเฑ) เฐชเฐฐเฐฟเฐเฐฏเฐ
๐ 1. API เฐ เฐเฐเฑ เฐเฐฎเฐฟเฐเฐฟ?
- ๐ เฐชเฑเฐฐเฑเฐคเฐฟ เฐฐเฑเฐชเฐ: เฐ เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑ เฐชเฑเฐฐเฑเฐเฑเฐฐเฐพเฐฎเฐฟเฐเฐเฑ เฐเฐเฐเฐฐเฑโเฐซเฑเฐธเฑ (Application Programming Interface).
- ๐ เฐจเฐฟเฐฐเฑเฐตเฐเฐจเฐ: เฐ เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑ เฐธเฐพเฐซเฑเฐเฑโเฐตเฑเฐฐเฑโเฐจเฑ เฐเฐเฑเฐเฑเฐคเฐ (integrate) เฐเฑเฐฏเฐกเฐพเฐจเฐฟเฐเฐฟ เฐเฐชเฐฏเฑเฐเฐชเฐกเฑ เฐซเฐเฐเฑเฐทเฐจเฑโเฐฒเฑ, เฐตเฐฟเฐงเฐพเฐจเฐพเฐฒเฑ, เฐจเฐฟเฐฐเฑเฐตเฐเฐจเฐพเฐฒเฑ เฐฎเฐฐเฐฟเฐฏเฑ เฐชเฑเฐฐเฑเฐเฑเฐเฐพเฐฒเฑโเฐฒ เฐธเฐฎเฑเฐฆเฐพเฐฏเฐ.
- ๐ง เฐฎเฑเฐเฑเฐฏ เฐเฐฆเฑเฐฆเฑเฐถเฑเฐฏเฐ: เฐ เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑเฐฒเฑ เฐคเฐฎ เฐธเฑเฐเฐค เฐธเฐฟเฐธเฑเฐเฐฎเฑโเฐฒเฑ เฐคเฐฟเฐฐเฐฟเฐเฐฟ เฐเฐชเฐฏเฑเฐเฐฟเฐเฐเฑเฐเฑเฐตเฐกเฐพเฐจเฐฟเฐเฐฟ (reusable) เฐฒเฑเฐฆเฐพ เฐเฐคเฐฐ เฐธเฐพเฐซเฑเฐเฑโเฐตเฑเฐฐเฑ เฐธเฑเฐตเฐฒเฑ เฐตเฐฟเฐจเฐฟเฐฏเฑเฐเฐฟเฐเฐเฑเฐเฑเฐตเฐกเฐพเฐจเฐฟเฐเฐฟ เฐคเฐฎเฐจเฑ เฐคเฐพเฐฎเฑ เฐ เฐฌเฑโเฐธเฑเฐเฑเฐฐเฐพเฐเฑเฐเฑ (abstract) เฐเฑเฐธเฑเฐเฑเฐจเฑ เฐเฐ เฐฎเฐพเฐฐเฑเฐเฐ. เฐเฐฆเฐฟ เฐชเฑเฐฐเฐงเฐพเฐจเฐเฐเฐพ เฐธเฐพเฐซเฑเฐเฑโเฐตเฑเฐฐเฑโเฐฒ เฐฎเฐงเฑเฐฏ เฐเฐฎเฑเฐฏเฑเฐจเฐฟเฐเฑเฐทเฐจเฑ เฐฎเฐฐเฐฟเฐฏเฑ เฐเฐเฐเฐฟเฐเฑเฐฐเฑเฐทเฐจเฑ เฐเฑเฐธเฐ เฐเฐชเฐฏเฑเฐเฐชเฐกเฑเฐคเฑเฐเฐฆเฐฟ.
๐งฎ 2. ‘API’ เฐชเฐฆ เฐตเฐฟเฐตเฐฐเฐฃ (เฐเฐพเฐฒเฐฟเฐเฑเฐฏเฑเฐฒเฑเฐเฐฐเฑ เฐเฐฆเฐพเฐนเฐฐเฐฃเฐคเฑ)
- ๐ฑ A – Application (เฐ
เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑ): เฐเฐ เฐจเฐฟเฐฐเฑเฐฆเฐฟเฐทเฑเฐ เฐชเฐจเฐฟเฐจเฐฟ เฐเฑเฐธเฑ เฐธเฐพเฐซเฑเฐเฑโเฐตเฑเฐฐเฑ.
- เฐเฐฆเฐพเฐนเฐฐเฐฃ: เฐฎเฑ เฐซเฑเฐจเฑโเฐฒเฑเฐจเฐฟ เฐเฐพเฐฒเฐฟเฐเฑเฐฏเฑเฐฒเฑเฐเฐฐเฑ เฐฏเฐพเฐชเฑ.
- โ๏ธ P – Programming (เฐชเฑเฐฐเฑเฐเฑเฐฐเฐพเฐฎเฐฟเฐเฐเฑ): เฐ
เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑโเฐฒเฑ เฐเฐ เฐจเฐฟเฐฐเฑเฐฆเฐฟเฐทเฑเฐ เฐชเฐจเฐฟเฐจเฐฟ เฐเฑเฐธเฑ เฐชเฑเฐฐเฑเฐเฑเฐฐเฐพเฐฎเฑ เฐฒเฑเฐฆเฐพ เฐซเฐเฐเฑเฐทเฐจเฐพเฐฒเฐฟเฐเฑ.
- เฐเฐฆเฐพเฐนเฐฐเฐฃ: เฐเฐพเฐฒเฐฟเฐเฑเฐฏเฑเฐฒเฑเฐเฐฐเฑโเฐฒเฑเฐจเฐฟ เฐเฑเฐกเฐฟเฐ, เฐคเฑเฐธเฐฟเฐตเฑเฐค เฐตเฐเฐเฐฟ เฐตเฐฟเฐญเฐฟเฐจเฑเฐจ เฐชเฑเฐฐเฑเฐเฑเฐฐเฐพเฐฎเฑโเฐฒเฑ. (10+7 เฐ เฐจเฑเฐฆเฐฟ 10-7 เฐเฐเฐเฑ เฐญเฐฟเฐจเฑเฐจเฐฎเฑเฐจ เฐชเฑเฐฐเฑเฐเฑเฐฐเฐพเฐฎเฑ).
- ๐ฅ๏ธ I – Interface (เฐเฐเฐเฐฐเฑโเฐซเฑเฐธเฑ): เฐ เฐชเฑเฐฐเฑเฐเฑเฐฐเฐพเฐฎเฑ เฐตเฐฟเฐเฐฏเฐตเฐเฐคเฐเฐเฐพ เฐฐเฐจเฑ เฐเฐพเฐตเฐกเฐพเฐจเฐฟเฐเฐฟ เฐเฐชเฐฏเฑเฐเฐชเฐกเฑ เฐชเฑเฐฐเฐฆเฑเฐถเฐ เฐฒเฑเฐฆเฐพ เฐฎเฐพเฐงเฑเฐฏเฐฎเฐ.
- เฐเฐฆเฐพเฐนเฐฐเฐฃ: เฐฎเฑ เฐซเฑเฐจเฑ. เฐฎเฑเฐเฑ เฐเฑเฐกเฐฟเฐ (+) เฐฌเฐเฐจเฑ เฐตเฑเฐจเฑเฐ เฐเฐจเฑเฐจ เฐเฑเฐกเฑ เฐคเฑเฐฒเฐฟเฐฏเฐพเฐฒเฑเฐธเฐฟเฐจ เฐ เฐตเฐธเฐฐเฐ เฐฒเฑเฐฆเฑ, เฐฐเฑเฐเฐกเฑ เฐ เฐเฐเฑเฐฒเฑ เฐเฐธเฑเฐคเฑ เฐ เฐฆเฐฟ เฐซเฐฒเฐฟเฐคเฐพเฐจเฑเฐจเฐฟ (response) เฐเฐธเฑเฐคเฑเฐเฐฆเฐฟ.
๐ 3. เฐธเฑเฐฒเฐญเฐเฐเฐพ เฐ เฐฐเฑเฐฅเฐ เฐเฑเฐธเฑเฐเฑเฐตเฐกเฐพเฐจเฐฟเฐเฐฟ เฐเฐ เฐเฐฆเฐพเฐนเฐฐเฐฃ: เฐฐเฑเฐธเฑเฐเฐพเฐฐเฑเฐเฐเฑ
API เฐเฐฒเฐพ เฐชเฐจเฐฟเฐเฑเฐธเฑเฐคเฑเฐเฐฆเฑ เฐ เฐฐเฑเฐฅเฐ เฐเฑเฐธเฑเฐเฑเฐตเฐกเฐพเฐจเฐฟเฐเฐฟ เฐฐเฑเฐธเฑเฐเฐพเฐฐเฑเฐเฐเฑ เฐตเฐพเฐคเฐพเฐตเฐฐเฐฃเฐ เฐธเฐฐเฑเฐจ เฐเฐฆเฐพเฐนเฐฐเฐฃ:
- ๐ค เฐฎเฑเฐฐเฑ (Client): เฐฎเฑเฐเฑ เฐเฐ เฐธเฑเฐต (เฐชเฐฟเฐเฑเฐเฐพ) เฐเฐพเฐตเฐพเฐฒเฐฟ.
- ๐งโ๐ณ เฐเฑเฐซเฑ (Server/System): เฐฎเฑเฐเฑ เฐเฐพเฐตเฐฒเฐธเฐฟเฐจ เฐเฐนเฐพเฐฐเฐพเฐจเฑเฐจเฐฟ เฐคเฐฏเฐพเฐฐเฑเฐเฑเฐฏเฐเฐฒ เฐตเฑเฐฏเฐเฑเฐคเฐฟ, เฐเฐพเฐจเฑ เฐ เฐคเฐจเฐฟเฐเฐฟ เฐฎเฑ เฐญเฐพเฐท เฐ เฐฐเฑเฐฅเฐ เฐเฐพเฐฆเฑ.
- ๐โโ๏ธ เฐตเฑเฐฏเฐฟเฐเฐฐเฑ (API): เฐฎเฑ เฐจเฑเฐเฐกเฐฟ เฐเฐฐเฑเฐกเฐฐเฑ เฐคเฑเฐธเฑเฐเฑเฐจเฐฟ, เฐเฑเฐซเฑโเฐเฑ เฐ เฐเฐฆเฐฟเฐเฐเฑ เฐฎเฐงเฑเฐฏเฐตเฐฐเฑเฐคเฐฟ. เฐเฑเฐซเฑ เฐคเฐฏเฐพเฐฐเฑเฐเฑเฐธเฐฟเฐจ เฐชเฐฟเฐเฑเฐเฐพเฐจเฑ เฐคเฐฟเฐฐเฐฟเฐเฐฟ เฐฎเฑเฐเฑ เฐ เฐเฐฆเฐฟเฐธเฑเฐคเฐพเฐกเฑ.
๐ 4. เฐฎเฑเฐเฑเฐฏเฐฎเฑเฐจ เฐชเฐพเฐฏเฐฟเฐเฐเฑเฐฒเฑ (Key Takeaways)
- ๐๏ธโ๐จ๏ธ เฐ เฐเฐคเฐฐเฑเฐเฐคเฐเฐเฐพ เฐชเฑเฐฐเฑเฐเฑเฐฐเฐพเฐฎเฑ เฐฒเฑเฐฆเฐพ เฐเฑเฐกเฑ เฐเฐฒเฐพ เฐชเฐจเฐฟเฐเฑเฐธเฑเฐคเฑเฐเฐฆเฐจเฑ เฐ เฐตเฐเฐพเฐนเฐจ (knowledge) เฐฒเฑเฐเฐชเฑเฐฏเฐฟเฐจเฐพ เฐฆเฐพเฐจเฑเฐจเฐฟ เฐธเฑเฐฒเฐญเฐเฐเฐพ เฐเฐชเฐฏเฑเฐเฐฟเฐเฐเฑเฐเฑเฐตเฐกเฐพเฐจเฐฟเฐเฐฟ APIเฐฒเฑ เฐ เฐจเฑเฐฎเฐคเฐฟเฐธเฑเฐคเฐพเฐฏเฐฟ.
- ๐ APIเฐฒเฑ เฐชเฑเฐฒเฐพเฐเฑโเฐซเฐพเฐฐเฐฎเฑ เฐเฐเฐกเฐฟเฐชเฑเฐเฐกเฑเฐเฐเฑ (Platform Independent).
- ๐ ๏ธ เฐธเฐพเฐงเฐพเฐฐเฐฃเฐเฐเฐพ เฐตเฐฟเฐจเฐฟเฐฏเฑเฐเฐฆเฐพเฐฐเฑเฐจเฐฟเฐเฐฟ (consumer) APIเฐฒ เฐจเฐฟเฐฐเฑเฐตเฐนเฐฃ (maintenance) เฐ เฐตเฐธเฐฐเฐ เฐเฐเฐกเฐฆเฑ.
- ๐ค เฐเฐฆเฐฟ เฐเฑเฐฒเฐฏเฐฟเฐเฐเฑ เฐฎเฐฐเฐฟเฐฏเฑ เฐธเฐฐเฑเฐตเฐฐเฑ เฐเฐฆเฑเฐฆเฐฐเฐฟเฐเฑ เฐฒเฐพเฐญเฐฆเฐพเฐฏเฐเฐฎเฑเฐจ (Win-Win) เฐตเฐพเฐคเฐพเฐตเฐฐเฐฃเฐพเฐจเฑเฐจเฐฟ เฐธเฑเฐทเฑเฐเฐฟเฐธเฑเฐคเฑเฐเฐฆเฐฟ.
๐ Class Notes: APIs and Web Services
In this lecture, we discussed standard API examples and how web services work. We will be using Python as our main backend development programming language.
๐ 1. The ‘Round’ Function in Python & Abstraction
Python has many built-in functions that are automatically available in the interpreter. One of them is the round function.
- ๐ข Functionality: It allows you to round the decimals of a number.
- Example:
X = round(3.14159265359, 2) - Result:
3.14
- Example:
- ๐ก Key Takeaway: As programmers, we don’t need to know exactly how this code is processed internally. Python has abstracted the functionality and provided it for us to call directly.
- ๐ฏ The Power of an API: This is the true power of an API. We are acting as the client consuming a service that does a specific job without needing to write the code from scratch.
โ๏ธ 2. API (Application Programming Interface)
- ๐ Integration: APIs are everywhere and embedded in programming languages, regardless of front-end or back-end technologies.
- โป๏ธ Reusability: They are incredibly helpful because they abstract functionality away while delivering greater integration.
- ๐ซ Less Effort: Using an API means you do not have to reinvent the wheel.
๐ 3. Web Services
When most people discuss APIs, they are primarily talking about Web Services or Web APIs.
- ๐ Access: A web service is exactly what it sounds like: an API that is accessible over the web via HTTP (Hypertext Transfer Protocol).
- ๐ค Contract: APIs allow data to be sent between applications without needing to know how the other application is built or how it works. To communicate over the web, all the applications need is a “contract” to send and receive data.
โ๏ธ 4. Example: Travel Booking Website
A great example of a web service is your favorite travel booking website (e.g., Google Flights). You might be using these web services without even knowing it.
- ๐ How it works: When you enter a location and date (e.g., Las Vegas to Orlando), the travel website kicks off multiple API requests at once to all the top airlines.
- ๐ฅ Response: It receives the responses from all those airlines and then categorizes the best deals based on your personal filters.
- ๐ Public API / Agreement: These web services must be public, or the travel company must have an agreement (contract) to use the airline APIs. Airlines without this agreement won’t show up on the website.
๐ ๏ธ 5. Benefits for Travel Companies (Zero Maintenance)
Using APIs provides the following benefits to a travel company’s business model:
- ๐ฏ Focus: The travel company can focus on their main objective, which is providing the best value airline deals for your travel purposes.
- โ Zero Maintenance: If an airline changes a flight time or stops offering a trip, the travel company doesn’t need to make any changes to their application. They are simply consuming the data sent to them.
- ๐ Data Management: Because all data is sent from APIs, there is no burden on the travel company to manage external data outside of their own system.
๐ เฐเฑเฐฒเฐพเฐธเฑ เฐจเฑเฐเฑเฐธเฑ: APIเฐฒเฑ เฐฎเฐฐเฐฟเฐฏเฑ เฐตเฑเฐฌเฑ เฐธเฐฐเฑเฐตเฑเฐธเฑเฐธเฑ
เฐ เฐฒเฑเฐเฑเฐเฐฐเฑโเฐฒเฑ เฐชเฑเฐฐเฐพเฐฎเฐพเฐฃเฐฟเฐ API เฐเฐฆเฐพเฐนเฐฐเฐฃเฐฒเฑ เฐฎเฐฐเฐฟเฐฏเฑ เฐตเฑเฐฌเฑ เฐธเฐฐเฑเฐตเฑเฐธเฑเฐธเฑ เฐเฐฒเฐพ เฐชเฐจเฐฟเฐเฑเฐธเฑเฐคเฐพเฐฏเฐฟ เฐ เฐจเฑ เฐตเฐฟเฐทเฐฏเฐพเฐฒเฐจเฑ เฐเฐฐเฑเฐเฐฟเฐเฐเฐพเฐฎเฑ. เฐฎเฐจ เฐชเฑเฐฐเฐงเฐพเฐจ เฐฌเฑเฐฏเฐพเฐเฑเฐเฐกเฑ เฐกเฑเฐตเฐฒเฐชเฑโเฐฎเฑเฐเฐเฑ เฐฒเฐพเฐเฐเฑเฐตเฑเฐเฑโเฐเฐพ เฐชเฑเฐฅเฐพเฐจเฑโเฐจเฑ (Python) เฐเฐชเฐฏเฑเฐเฐฟเฐธเฑเฐคเฐพเฐฎเฑ.
๐ 1. เฐชเฑเฐฅเฐพเฐจเฑโเฐฒเฑ ‘Round’ เฐซเฐเฐเฑเฐทเฐจเฑ เฐฎเฐฐเฐฟเฐฏเฑ เฐ เฐฌเฑโเฐธเฑเฐเฑเฐฐเฐพเฐเฑเฐทเฐจเฑ (Abstraction)
เฐชเฑเฐฅเฐพเฐจเฑโเฐฒเฑ เฐฆเฐพเฐจเฐเฐคเฐ เฐ
เฐตเฑ เฐเฐเฑเฐฎเฑเฐเฐฟเฐเฑโเฐเฐพ เฐ
เฐเฐฆเฑเฐฌเฐพเฐเฑเฐฒเฑ เฐเฐเฐกเฑ เฐ
เฐจเฑเฐ เฐเฐจเฑโเฐฌเฐฟเฐฒเฑเฐเฑ เฐซเฐเฐเฑเฐทเฐจเฑโเฐฒเฑ (built-in functions) เฐเฐจเฑเฐจเฐพเฐฏเฐฟ. เฐ
เฐเฐฆเฑเฐฒเฑ เฐเฐเฐเฐฟ round เฐซเฐเฐเฑเฐทเฐจเฑ.
- ๐ข เฐซเฐเฐเฑเฐทเฐจเฐพเฐฒเฐฟเฐเฑ: เฐเฐฆเฐฟ เฐเฐ เฐธเฐเฐเฑเฐฏเฐฒเฑเฐจเฐฟ เฐกเฑเฐธเฐฟเฐฎเฐฒเฑเฐธเฑโเฐจเฑ (เฐฆเฐถเฐพเฐเฐถเฐพเฐฒเฐจเฑ) เฐฐเฑเฐเฐกเฑ เฐเฑเฐฏเฐกเฐพเฐจเฐฟเฐเฐฟ เฐเฐชเฐฏเฑเฐเฐชเฐกเฑเฐคเฑเฐเฐฆเฐฟ.
- เฐเฐฆเฐพเฐนเฐฐเฐฃ:
X = round(3.14159265359, 2) - เฐซเฐฒเฐฟเฐคเฐ:
3.14
- เฐเฐฆเฐพเฐนเฐฐเฐฃ:
- ๐ก เฐฎเฑเฐเฑเฐฏ เฐเฐฎเฐจเฐฟเฐ: เฐ เฐเฑเฐกเฑ เฐ เฐเฐคเฐฐเฑเฐเฐคเฐเฐเฐพ เฐเฐฒเฐพ เฐชเฑเฐฐเฐพเฐธเฑเฐธเฑ เฐ เฐตเฑเฐคเฑเฐเฐฆเฑ เฐชเฑเฐฐเฑเฐเฑเฐฐเฐพเฐฎเฐฐเฑเฐฒเฑเฐเฐพ เฐฎเฐจเฐ เฐคเฑเฐฒเฑเฐธเฑเฐเฑเฐตเฐพเฐฒเฑเฐธเฐฟเฐจ เฐ เฐตเฐธเฐฐเฐ เฐฒเฑเฐฆเฑ. เฐชเฑเฐฅเฐพเฐจเฑ เฐฆเฐพเฐจเฐฟ เฐซเฐเฐเฑเฐทเฐจเฐพเฐฒเฐฟเฐเฑเฐจเฐฟ เฐ เฐฌเฑโเฐธเฑเฐเฑเฐฐเฐพเฐเฑเฐเฑ (abstract) เฐเฑเฐธเฐฟ เฐฎเฐจเฐเฑ เฐ เฐเฐฆเฐฟเฐเฐเฐฟเฐเฐฆเฐฟ.
- ๐ฏ API เฐถเฐเฑเฐคเฐฟ: เฐฎเฐจเฐเฑ เฐ เฐตเฐธเฐฐเฐฎเฑเฐจ เฐซเฐเฐเฑเฐทเฐจเฐพเฐฒเฐฟเฐเฑ เฐเฑเฐธเฐ เฐฎเฐณเฑเฐฒเฑ เฐเฑเฐกเฑ เฐฐเฐพเฐฏเฐพเฐฒเฑเฐธเฐฟเฐจ เฐ เฐตเฐธเฐฐเฐ เฐฒเฑเฐเฑเฐเฐกเฐพ, เฐเฐ เฐธเฑเฐตเฐจเฑ (service) เฐจเฑเฐฐเฑเฐเฐพ เฐตเฐฟเฐจเฐฟเฐฏเฑเฐเฐฟเฐเฐเฑเฐเฑเฐตเฐกเฐฎเฑ API เฐฏเฑเฐเฑเฐ เฐ เฐธเฐฒเฑเฐจ เฐถเฐเฑเฐคเฐฟ.
โ๏ธ 2. API (เฐ เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑ เฐชเฑเฐฐเฑเฐเฑเฐฐเฐพเฐฎเฐฟเฐเฐเฑ เฐเฐเฐเฐฐเฑโเฐซเฑเฐธเฑ)
- ๐ เฐเฐเฐเฐฟเฐเฑเฐฐเฑเฐทเฐจเฑ: เฐเฐฆเฐฟ เฐซเฑเฐฐเฐเฐเฑ-เฐเฐเฐกเฑ เฐฒเฑเฐฆเฐพ เฐฌเฑเฐฏเฐพเฐเฑ-เฐเฐเฐกเฑ เฐเฑเฐเฑเฐจเฐพเฐฒเฐเฑเฐฒเฐคเฑ เฐธเฐเฐฌเฐเฐงเฐ เฐฒเฑเฐเฑเฐเฐกเฐพ เฐชเฑเฐฐเฐคเฐฟเฐเฑเฐเฐพ เฐเฐเฐเฑเฐเฐฆเฐฟ.
- โป๏ธ เฐชเฑเฐจเฐฐเฑเฐตเฐฟเฐจเฐฟเฐฏเฑเฐเฐ: เฐซเฐเฐเฑเฐทเฐจเฐพเฐฒเฐฟเฐเฑเฐจเฐฟ เฐ เฐฌเฑโเฐธเฑเฐเฑเฐฐเฐพเฐเฑเฐเฑ เฐเฑเฐธเฑเฐคเฑเฐจเฑ, เฐฎเฑเฐฐเฑเฐเฑเฐจ เฐเฐเฐเฐฟเฐเฑเฐฐเฑเฐทเฐจเฑโเฐจเฑ เฐ เฐเฐฆเฐฟเฐธเฑเฐคเฐพเฐฏเฐฟ.
- ๐ซ เฐถเฑเฐฐเฐฎ เฐคเฐเฑเฐเฐฟเฐเฐชเฑ: APIเฐฒเฐจเฑ เฐเฐชเฐฏเฑเฐเฐฟเฐเฐเฐกเฐ เฐตเฐฒเฑเฐฒ เฐเฐเฑ เฐชเฐจเฐฟเฐจเฐฟ เฐฎเฑเฐฆเฐเฐฟ เฐจเฑเฐเฐกเฐฟ เฐฎเฐณเฑเฐฒเฑ เฐเฑเฐฏเฐพเฐฒเฑเฐธเฐฟเฐจ เฐ เฐตเฐธเฐฐเฐ เฐเฐเฐกเฐฆเฑ (No need to reinvent the wheel).
๐ 3. เฐตเฑเฐฌเฑ เฐธเฐฐเฑเฐตเฑเฐธเฑเฐธเฑ (Web Services)
เฐเฐพเฐฒเฐพเฐฎเฐเฐฆเฐฟ APIเฐฒ เฐเฑเฐฐเฐฟเฐเฐเฐฟ เฐฎเฐพเฐเฑเฐฒเฐพเฐกเฑเฐคเฑเฐจเฑเฐจเฐชเฑเฐชเฑเฐกเฑ, เฐตเฐพเฐฐเฑ เฐชเฑเฐฐเฐงเฐพเฐจเฐเฐเฐพ เฐตเฑเฐฌเฑ เฐธเฐฐเฑเฐตเฑเฐธเฑเฐธเฑ เฐเฑเฐฐเฐฟเฐเฐเฑ เฐเฐฐเฑเฐเฐฟเฐธเฑเฐคเฑเฐเฐเฐพเฐฐเฑ.
- ๐ เฐฏเฐพเฐเฑเฐธเฑเฐธเฑ: เฐตเฑเฐฌเฑ เฐฆเฑเฐตเฐพเฐฐเฐพ, เฐ เฐเฐเฑ HTTP (เฐนเฑเฐชเฐฐเฑโเฐเฑเฐเฑเฐธเฑเฐเฑ เฐเฑเฐฐเฐพเฐจเฑเฐธเฑโเฐซเฐฐเฑ เฐชเฑเฐฐเฑเฐเฑเฐเฐพเฐฒเฑ) เฐฆเฑเฐตเฐพเฐฐเฐพ เฐฏเฐพเฐเฑเฐธเฑเฐธเฑ เฐเฑเฐฏเฐเฐฒ APIเฐฒเฐจเฑ เฐตเฑเฐฌเฑ เฐธเฐฐเฑเฐตเฑเฐธเฑเฐธเฑ เฐ เฐเฐเฐพเฐฐเฑ.
- ๐ค เฐเฐพเฐเฐเฑเฐฐเฐพเฐเฑเฐเฑ (Contract): เฐเฐคเฐฐ เฐ เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑเฐฒเฑ เฐเฐฒเฐพ เฐจเฐฟเฐฐเฑเฐฎเฐฟเฐเฐเฐฌเฐกเฑเฐกเฐพเฐฏเฑ เฐคเฑเฐฒเฐฟเฐฏเฐเฐชเฑเฐฏเฐฟเฐจเฐพ, เฐเฐ ‘เฐเฐพเฐเฐเฑเฐฐเฐพเฐเฑเฐเฑ’ เฐเฐงเฐพเฐฐเฐเฐเฐพ เฐตเฑเฐฌเฑ เฐฆเฑเฐตเฐพเฐฐเฐพ เฐ เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑเฐฒเฑ เฐเฐฎเฑเฐฏเฑเฐจเฐฟเฐเฑเฐเฑ เฐเฑเฐธเฑเฐเฑเฐจเฐฟ เฐกเฑเฐเฐพเฐจเฑ เฐชเฐเฐเฑเฐเฑเฐตเฐกเฐพเฐจเฐฟเฐเฐฟ เฐเฐตเฐฟ เฐ เฐจเฑเฐฎเฐคเฐฟเฐธเฑเฐคเฐพเฐฏเฐฟ.
โ๏ธ 4. เฐเฐฆเฐพเฐนเฐฐเฐฃ: เฐเฑเฐฐเฐพเฐตเฑเฐฒเฑ เฐฌเฑเฐเฐฟเฐเฐเฑ เฐตเฑเฐฌเฑโเฐธเฑเฐเฑ
Google Flights เฐตเฐเฐเฐฟ เฐเฑเฐฐเฐพเฐตเฑเฐฒเฑ เฐฌเฑเฐเฐฟเฐเฐเฑ เฐตเฑเฐฌเฑโเฐธเฑเฐเฑเฐฒเฑ เฐตเฑเฐฌเฑ เฐธเฐฐเฑเฐตเฑเฐธเฑเฐธเฑโเฐเฑ เฐ เฐฆเฑเฐญเฑเฐคเฐฎเฑเฐจ เฐเฐฆเฐพเฐนเฐฐเฐฃ.
- ๐ เฐเฐฒเฐพ เฐชเฐจเฐฟเฐเฑเฐธเฑเฐคเฑเฐเฐฆเฐฟ?: เฐฎเฑเฐฐเฑ เฐเฐ เฐชเฑเฐฐเฐฆเฑเฐถเฐ เฐฎเฐฐเฐฟเฐฏเฑ เฐคเฑเฐฆเฑเฐจเฐฟ เฐเฐเฐเฐฐเฑ เฐเฑเฐฏเฐเฐพเฐจเฑ (เฐเฐฆเฐพ: เฐฒเฐพเฐธเฑ เฐตเฑเฐเฐพเฐธเฑ เฐจเฑเฐเฐกเฐฟ เฐเฐฐเฑเฐฒเฐพเฐเฐกเฑ), เฐ เฐตเฑเฐฌเฑโเฐธเฑเฐเฑ เฐ เฐจเฑเฐจเฐฟ เฐชเฑเฐฐเฐฎเฑเฐ เฐเฐฏเฐฟเฐฐเฑโเฐฒเฑเฐจเฑเฐธเฑโเฐเฑ เฐเฐเฑเฐธเฐพเฐฐเฐฟ เฐ เฐจเฑเฐ API เฐฐเฐฟเฐเฑเฐตเฑเฐธเฑเฐเฑโเฐฒเฐจเฑ เฐชเฐเฐชเฑเฐคเฑเฐเฐฆเฐฟ.
- ๐ฅ เฐฐเฑเฐธเฑเฐชเฐพเฐจเฑเฐธเฑ: เฐเฐฏเฐฟเฐฐเฑโเฐฒเฑเฐจเฑเฐธเฑ เฐจเฑเฐเฐกเฐฟ เฐตเฐเฑเฐเฐฟเฐจ เฐฐเฑเฐธเฑเฐชเฐพเฐจเฑเฐธเฑโเฐฒเฐจเฑ เฐธเฑเฐตเฑเฐเฐฐเฐฟเฐเฐเฐฟ, เฐฎเฑ เฐซเฐฟเฐฒเฑเฐเฐฐเฑเฐฒ เฐเฐงเฐพเฐฐเฐเฐเฐพ เฐฌเฑเฐธเฑเฐเฑ เฐกเฑเฐฒเฑเฐธเฑโเฐจเฑ เฐเฑเฐชเฐฟเฐธเฑเฐคเฑเฐเฐฆเฐฟ.
- ๐ เฐชเฐฌเฑเฐฒเฐฟเฐเฑ API / เฐ เฐเฑเฐฐเฐฟเฐฎเฑเฐเฐเฑ: เฐเฐฏเฐฟเฐฐเฑโเฐฒเฑเฐจเฑเฐธเฑ เฐกเฑเฐเฐพเฐจเฑ เฐเฑเฐชเฐฟเฐเฐเฐพเฐฒเฐเฐเฑ เฐ APIเฐฒเฑ เฐชเฐฌเฑเฐฒเฐฟเฐเฑ เฐ เฐฏเฐฟ เฐเฐเฐกเฐพเฐฒเฐฟ เฐฒเฑเฐฆเฐพ เฐเฐฏเฐพ เฐเฐฏเฐฟเฐฐเฑโเฐฒเฑเฐจเฑเฐธเฑโเฐคเฑ เฐเฑเฐฐเฐพเฐตเฑเฐฒเฑ เฐเฐเฐชเฑเฐจเฑเฐเฐฟ เฐเฐ เฐ เฐเฑเฐฐเฐฟเฐฎเฑเฐเฐเฑ (เฐเฐพเฐเฐเฑเฐฐเฐพเฐเฑเฐเฑ) เฐเฐเฐกเฐพเฐฒเฐฟ.
๐ ๏ธ 5. เฐเฑเฐฐเฐพเฐตเฑเฐฒเฑ เฐเฐเฐชเฑเฐจเฑเฐฒเฐเฑ เฐเฐฒเฐฟเฐเฑ เฐฒเฐพเฐญเฐพเฐฒเฑ (Zero Maintenance)
APIเฐฒเฐจเฑ เฐเฐชเฐฏเฑเฐเฐฟเฐเฐเฐกเฐ เฐตเฐฒเฑเฐฒ เฐเฑเฐฐเฐพเฐตเฑเฐฒเฑ เฐเฐเฐชเฑเฐจเฑเฐฒ เฐฌเฐฟเฐเฐฟเฐจเฑเฐธเฑ เฐฎเฑเฐกเฐฒเฑโเฐเฑ เฐ เฐเฐฟเฐเฐฆเฐฟ เฐฒเฐพเฐญเฐพเฐฒเฑ เฐเฐจเฑเฐจเฐพเฐฏเฐฟ:
- ๐ฏ เฐซเฑเฐเฐธเฑ (Focus): เฐเฐธเฑเฐเฐฎเฐฐเฑเฐฒเฐเฑ เฐ เฐคเฑเฐฏเฑเฐคเฑเฐคเฐฎ เฐกเฑเฐฒเฑเฐธเฑ เฐ เฐเฐฆเฐฟเฐเฐเฐกเฐ เฐ เฐจเฑ เฐคเฐฎ เฐชเฑเฐฐเฐงเฐพเฐจ เฐเฐฆเฑเฐฆเฑเฐถเฑเฐฏเฐเฐชเฑ เฐฎเฐพเฐคเฑเฐฐเฐฎเฑ เฐธเฐเฐธเฑเฐฅเฐฒเฑ เฐฆเฑเฐทเฑเฐเฐฟ เฐชเฑเฐเฑเฐเฐเฐฒเฑเฐเฑเฐคเฐพเฐฏเฐฟ.
- โ เฐเฑเฐฐเฑ เฐฎเฑเฐฏเฐฟเฐเฐเฑเฐจเฑเฐจเฑเฐธเฑ (Zero Maintenance): เฐเฐฏเฐฟเฐฐเฑโเฐฒเฑเฐจเฑ เฐตเฐพเฐณเฑเฐฒเฑ เฐซเฑเฐฒเฑเฐเฑ เฐเฑเฐฎเฑโเฐจเฐฟ เฐฎเฐพเฐฐเฑเฐเฐฟเฐจเฐพ, เฐฐเฐฆเฑเฐฆเฑ เฐเฑเฐธเฐฟเฐจเฐพ เฐเฑเฐฐเฐพเฐตเฑเฐฒเฑ เฐเฐเฐชเฑเฐจเฑ เฐคเฐฎ เฐ เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑโเฐฒเฑ เฐฎเฐพเฐฐเฑเฐชเฑเฐฒเฑ เฐเฑเฐฏเฐพเฐฒเฑเฐธเฐฟเฐจ เฐ เฐตเฐธเฐฐเฐ เฐฒเฑเฐฆเฑ. เฐตเฐพเฐฐเฑ เฐเฑเฐตเฐฒเฐ เฐกเฑเฐเฐพเฐจเฑ เฐฎเฐพเฐคเฑเฐฐเฐฎเฑ เฐคเฑเฐธเฑเฐเฑเฐเฐเฐพเฐฐเฑ.
- ๐ เฐกเฑเฐเฐพ เฐฎเฑเฐจเฑเฐเฑโเฐฎเฑเฐเฐเฑ: เฐกเฑเฐเฐพ เฐ เฐเฐคเฐพ APIเฐฒ เฐฆเฑเฐตเฐพเฐฐเฐพเฐจเฑ เฐตเฐธเฑเฐคเฑเฐเฐฆเฐฟ เฐเฐพเฐฌเฐเฑเฐเฐฟ, เฐเฐคเฐฐ เฐกเฑเฐเฐพเฐจเฑ เฐฎเฑเฐจเฑเฐเฑ เฐเฑเฐธเฑ เฐญเฐพเฐฐเฐ เฐเฑเฐฐเฐพเฐตเฑเฐฒเฑ เฐเฐเฐชเฑเฐจเฑเฐเฐฟ เฐเฐเฐกเฐฆเฑ.
While “Web APIs” are the most commonly discussed type today because they power the internet, the term “API” (Application Programming Interface) is much broader. APIs can be classified in a few different ways depending on where they operate, who can access them, and how they are built.
Here is a breakdown of the other types of APIs:
1. By System and Environment (Where they operate)
Web APIs operate over a network. The counterparts to Web APIs are local or system-level APIs that run on a specific machine.
- Operating System (OS) APIs: These allow your software to communicate directly with an operating system to manage files, allocate memory, or interact with hardware.
- Examples: Windows API (Win32), POSIX (for Linux/Unix), or Apple’s Cocoa API.
- Library / Framework APIs: These are provided by software libraries or frameworks so developers can use pre-written code to perform specific tasks within their own applications.
- Examples: Python’s built-in
mathorround()functions, JavaScript’s React API, or Java’s Core API.
- Examples: Python’s built-in
- Database APIs: These enable an application to communicate with a database management system to query or modify data.
- Examples: JDBC (Java Database Connectivity), ODBC (Open Database Connectivity).
- Hardware APIs: These provide an interface to interact with specific hardware components, like graphics cards or sensors.
- Examples: OpenGL, Vulkan, or DirectX for graphics processing.
2. By Availability and Access (Who can use them)
This classification looks at the release policies of APIs, usually in a business context.
- Public / Open APIs: Available to any external third-party developer or business to consume. They are designed to encourage external integration.
- Examples: Google Maps API, Stripe API, OpenWeather API.
- Private / Internal APIs: Hidden from the public and used exclusively within a single company to connect internal systems, teams, or microservices (e.g., connecting a company’s HR system to its internal payroll system).
- Partner APIs: Shared only with strategically chosen and authorized business partners. They require strict authentication and formal agreements.
- Composite APIs: These combine multiple different API calls into a single sequence. Instead of a client making five different requests to get related data, a composite API gathers it all on the server side and returns it in one go.
3. By Architecture and Protocol (How Web APIs are built)
If we zoom specifically into “Web APIs,” they are further divided by the architectural styles and protocols they use to format and transfer data over the internet.
- REST (Representational State Transfer): The most popular and lightweight web architecture, relying on standard HTTP methods and mostly using JSON for data transfer.
- SOAP (Simple Object Access Protocol): An older, highly structured, and rigid protocol that exclusively uses XML. It is heavily used in enterprise, banking, and legacy systems due to its built-in security features.
- GraphQL: A modern query language where the client can request the exact specific data it needs from a single endpoint, rather than relying on multiple fixed endpoints.
- gRPC: A high-performance framework developed by Google that uses Protocol Buffers (a binary format) instead of JSON/XML, making it incredibly fast for internal system communication.
- WebSockets: An API type that keeps a continuous, two-way connection open between the client and server, making it ideal for real-time applications like live chat or multiplayer games.
เฐชเฑเฐฐเฐธเฑเฐคเฑเฐคเฐ เฐเฐเฐเฐฐเฑเฐจเฑเฐเฑโเฐจเฑ เฐจเฐกเฐฟเฐชเฐฟเฐธเฑเฐคเฑเฐจเฑเฐจเฐตเฐฟ “เฐตเฑเฐฌเฑ API (Web APIs)”เฐฒเฑ เฐเฐพเฐฌเฐเฑเฐเฐฟ, เฐตเฐพเฐเฐฟ เฐเฑเฐฐเฐฟเฐเฐเฐฟ เฐเฐเฑเฐเฑเฐตเฐเฐพ เฐเฐฐเฑเฐเฐฟเฐธเฑเฐคเฑเฐเฐเฐพเฐฐเฑ. เฐเฐพเฐจเฑ, “API” (เฐ เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑ เฐชเฑเฐฐเฑเฐเฑเฐฐเฐพเฐฎเฐฟเฐเฐเฑ เฐเฐเฐเฐฐเฑโเฐซเฑเฐธเฑ) เฐ เฐจเฑ เฐชเฐฆเฐ เฐเฐพเฐฒเฐพ เฐตเฐฟเฐธเฑเฐคเฑเฐคเฐฎเฑเฐจเฐฆเฐฟ. APIเฐฒเฑ เฐเฐเฑเฐเฐก เฐชเฐจเฐฟเฐเฑเฐธเฑเฐคเฐพเฐฏเฐฟ, เฐตเฐพเฐเฐฟเฐจเฐฟ เฐเฐตเฐฐเฑ เฐฏเฐพเฐเฑเฐธเฑเฐธเฑ เฐเฑเฐฏเฐเฐฒเฐฐเฑ เฐฎเฐฐเฐฟเฐฏเฑ เฐ เฐตเฐฟ เฐเฐฒเฐพ เฐจเฐฟเฐฐเฑเฐฎเฐฟเฐเฐเฐฌเฐกเฑเฐกเฐพเฐฏเฐฟ เฐ เฐจเฑ เฐฆเฐพเฐจเฐฟ เฐเฐงเฐพเฐฐเฐเฐเฐพ เฐตเฐพเฐเฐฟเฐจเฐฟ เฐตเฐฟเฐตเฐฟเฐง เฐฐเฐเฐพเฐฒเฑเฐเฐพ เฐตเฐฐเฑเฐเฑเฐเฐฐเฐฟเฐเฐเฐตเฐเฑเฐเฑ.
API เฐฒ เฐฏเฑเฐเฑเฐ เฐเฐคเฐฐ เฐฐเฐเฐพเฐฒเฑ เฐเฐเฑเฐเฐก เฐเฐจเฑเฐจเฐพเฐฏเฐฟ:
1. เฐธเฐฟเฐธเฑเฐเฐฎเฑ เฐฎเฐฐเฐฟเฐฏเฑ เฐชเฐฐเฑเฐฏเฐพเฐตเฐฐเฐฃเฐ เฐเฐงเฐพเฐฐเฐเฐเฐพ (เฐ เฐตเฐฟ เฐเฐเฑเฐเฐก เฐชเฐจเฐฟเฐเฑเฐธเฑเฐคเฐพเฐฏเฐฟ)
เฐตเฑเฐฌเฑ APIเฐฒเฑ เฐจเฑเฐเฑโเฐตเฐฐเฑเฐเฑ เฐฆเฑเฐตเฐพเฐฐเฐพ เฐชเฐจเฐฟเฐเฑเฐธเฑเฐคเฐพเฐฏเฐฟ. เฐตเฑเฐเฐฟเฐเฐฟ เฐญเฐฟเฐจเฑเฐจเฐเฐเฐพ, เฐเฐ เฐจเฐฟเฐฐเฑเฐฆเฐฟเฐทเฑเฐ เฐฎเฑเฐทเฑเฐจเฑโเฐฒเฑ (เฐเฐเฐชเฑเฐฏเฑเฐเฐฐเฑ/เฐกเฐฟเฐตเฑเฐธเฑ) เฐฐเฐจเฑ เฐ เฐฏเฑเฐฏเฑ เฐฒเฑเฐเฐฒเฑ เฐฒเฑเฐฆเฐพ เฐธเฐฟเฐธเฑเฐเฐฎเฑ-เฐฒเฑเฐตเฐฒเฑ APIเฐฒเฑ เฐเฑเฐกเฐพ เฐเฐเฐเฐพเฐฏเฐฟ.
- เฐเฐชเฐฐเฑเฐเฐฟเฐเฐเฑ เฐธเฐฟเฐธเฑเฐเฐฎเฑ (OS) APIเฐฒเฑ: เฐซเฑเฐฒเฑโเฐฒเฐจเฑ เฐจเฐฟเฐฐเฑเฐตเฐนเฐฟเฐเฐเฐกเฐพเฐจเฐฟเฐเฐฟ, เฐฎเฑเฐฎเฐฐเฑเฐจเฐฟ เฐเฑเฐเฐพเฐฏเฐฟเฐเฐเฐกเฐพเฐจเฐฟเฐเฐฟ เฐฒเฑเฐฆเฐพ เฐนเฐพเฐฐเฑเฐกเฑโเฐตเฑเฐฐเฑโเฐคเฑ เฐเฐเฐเฐฐเฐพเฐเฑเฐเฑ เฐ
เฐตเฑเฐตเฐกเฐพเฐจเฐฟเฐเฐฟ เฐฎเฑ เฐธเฐพเฐซเฑเฐเฑโเฐตเฑเฐฐเฑ เฐจเฑเฐฐเฑเฐเฐพ เฐเฐชเฐฐเฑเฐเฐฟเฐเฐเฑ เฐธเฐฟเฐธเฑเฐเฐฎเฑโเฐคเฑ เฐเฐฎเฑเฐฏเฑเฐจเฐฟเฐเฑเฐเฑ เฐเฑเฐฏเฐกเฐพเฐจเฐฟเฐเฐฟ เฐเฐตเฐฟ เฐ
เฐจเฑเฐฎเฐคเฐฟเฐธเฑเฐคเฐพเฐฏเฐฟ.
- เฐเฐฆเฐพเฐนเฐฐเฐฃเฐฒเฑ: Windows API (Win32), POSIX (Linux/Unix เฐเฑเฐธเฐ), เฐฒเฑเฐฆเฐพ Apple เฐฏเฑเฐเฑเฐ Cocoa API.
- เฐฒเฑเฐฌเฑเฐฐเฐฐเฑ / เฐซเฑเฐฐเฑเฐฎเฑโเฐตเฐฐเฑเฐเฑ APIเฐฒเฑ: เฐกเฑเฐตเฐฒเฐชเฐฐเฑเฐฒเฑ เฐคเฐฎ เฐธเฑเฐเฐค เฐ
เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑโเฐฒเฐฒเฑ เฐจเฐฟเฐฐเฑเฐฆเฐฟเฐทเฑเฐ เฐชเฐจเฑเฐฒเฐจเฑ เฐเฑเฐฏเฐกเฐพเฐจเฐฟเฐเฐฟ เฐฎเฑเฐเฐฆเฑเฐเฐพ เฐฐเฐพเฐธเฐฟเฐจ เฐเฑเฐกเฑโเฐจเฑ (pre-written code) เฐเฐชเฐฏเฑเฐเฐฟเฐเฐเฑเฐเฑเฐจเฑเฐฒเฐพ เฐเฐตเฐฟ เฐธเฐพเฐซเฑเฐเฑโเฐตเฑเฐฐเฑ เฐฒเฑเฐฌเฑเฐฐเฐฐเฑเฐฒเฑ เฐฒเฑเฐฆเฐพ เฐซเฑเฐฐเฑเฐฎเฑโเฐตเฐฐเฑเฐเฑโเฐฒ เฐฆเฑเฐตเฐพเฐฐเฐพ เฐ
เฐเฐฆเฐฟเฐเฐเฐฌเฐกเฐคเฐพเฐฏเฐฟ.
- เฐเฐฆเฐพเฐนเฐฐเฐฃเฐฒเฑ: เฐชเฑเฐฅเฐพเฐจเฑ เฐฏเฑเฐเฑเฐ เฐเฐจเฑโเฐฌเฐฟเฐฒเฑเฐเฑ
mathเฐฒเฑเฐฆเฐพround()เฐซเฐเฐเฑเฐทเฐจเฑเฐฒเฑ, JavaScript เฐฏเฑเฐเฑเฐ React API, เฐฒเฑเฐฆเฐพ Java เฐฏเฑเฐเฑเฐ Core API.
- เฐเฐฆเฐพเฐนเฐฐเฐฃเฐฒเฑ: เฐชเฑเฐฅเฐพเฐจเฑ เฐฏเฑเฐเฑเฐ เฐเฐจเฑโเฐฌเฐฟเฐฒเฑเฐเฑ
- เฐกเฑเฐเฐพเฐฌเฑเฐธเฑ APIเฐฒเฑ: เฐกเฑเฐเฐพเฐจเฑ เฐเฑเฐตเฑเฐฐเฑ เฐเฑเฐฏเฐกเฐพเฐจเฐฟเฐเฐฟ (เฐตเฑเฐคเฐเฐกเฐพเฐจเฐฟเฐเฐฟ) เฐฒเฑเฐฆเฐพ เฐธเฐตเฐฐเฐฟเฐเฐเฐกเฐพเฐจเฐฟเฐเฐฟ เฐกเฑเฐเฐพเฐฌเฑเฐธเฑ เฐฎเฑเฐจเฑเฐเฑโเฐฎเฑเฐเฐเฑ เฐธเฐฟเฐธเฑเฐเฐฎเฑโเฐคเฑ เฐ
เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑ เฐเฐฎเฑเฐฏเฑเฐจเฐฟเฐเฑเฐเฑ เฐเฑเฐฏเฐกเฐพเฐจเฐฟเฐเฐฟ เฐเฐตเฐฟ เฐ
เฐจเฑเฐฎเฐคเฐฟเฐธเฑเฐคเฐพเฐฏเฐฟ.
- เฐเฐฆเฐพเฐนเฐฐเฐฃเฐฒเฑ: JDBC (Java Database Connectivity), ODBC (Open Database Connectivity).
- เฐนเฐพเฐฐเฑเฐกเฑโเฐตเฑเฐฐเฑ APIเฐฒเฑ: เฐเฑเฐฐเฐพเฐซเฐฟเฐเฑเฐธเฑ เฐเฐพเฐฐเฑเฐกเฑโเฐฒเฑ เฐฒเฑเฐฆเฐพ เฐธเฑเฐจเฑเฐธเฐพเฐฐเฑโเฐฒ เฐตเฐเฐเฐฟ เฐจเฐฟเฐฐเฑเฐฆเฐฟเฐทเฑเฐ เฐนเฐพเฐฐเฑเฐกเฑโเฐตเฑเฐฐเฑ เฐญเฐพเฐเฐพเฐฒเฐคเฑ เฐเฐเฐเฐฐเฐพเฐเฑเฐเฑ เฐ
เฐตเฑเฐตเฐกเฐพเฐจเฐฟเฐเฐฟ เฐเฐตเฐฟ เฐเฐเฐเฐฐเฑโเฐซเฑเฐธเฑโเฐจเฑ เฐ
เฐเฐฆเฐฟเฐธเฑเฐคเฐพเฐฏเฐฟ.
- เฐเฐฆเฐพเฐนเฐฐเฐฃเฐฒเฑ: เฐเฑเฐฐเฐพเฐซเฐฟเฐเฑเฐธเฑ เฐชเฑเฐฐเฐพเฐธเฑเฐธเฐฟเฐเฐเฑ เฐเฑเฐธเฐ OpenGL, Vulkan, เฐฒเฑเฐฆเฐพ DirectX.
2. เฐฒเฐญเฑเฐฏเฐค เฐฎเฐฐเฐฟเฐฏเฑ เฐฏเฐพเฐเฑเฐธเฑเฐธเฑ เฐเฐงเฐพเฐฐเฐเฐเฐพ (เฐเฐตเฐฐเฑ เฐเฐชเฐฏเฑเฐเฐฟเฐเฐเฐเฐฒเฐฐเฑ)
เฐ เฐตเฐฐเฑเฐเฑเฐเฐฐเฐฃ เฐธเฐพเฐงเฐพเฐฐเฐฃเฐเฐเฐพ เฐตเฑเฐฏเฐพเฐชเฐพเฐฐ เฐตเฐพเฐคเฐพเฐตเฐฐเฐฃเฐเฐฒเฑ APIเฐฒ เฐฐเฐฟเฐฒเฑเฐเฑ เฐชเฐพเฐฒเฐธเฑเฐฒเฐจเฑ (release policies) เฐฌเฐเฑเฐเฐฟ เฐเฐเฐเฑเฐเฐฆเฐฟ.
- เฐชเฐฌเฑเฐฒเฐฟเฐเฑ / เฐเฐชเฑเฐจเฑ APIเฐฒเฑ (Public/Open APIs): เฐเฐตเฐฐเฑเฐจเฐพ เฐฅเฐฐเฑเฐกเฑ-เฐชเฐพเฐฐเฑเฐเฑ เฐกเฑเฐตเฐฒเฐชเฐฐเฑ เฐฒเฑเฐฆเฐพ เฐตเฑเฐฏเฐพเฐชเฐพเฐฐ เฐธเฐเฐธเฑเฐฅ เฐตเฐฟเฐจเฐฟเฐฏเฑเฐเฐฟเฐเฐเฑเฐเฑเฐตเฐกเฐพเฐจเฐฟเฐเฐฟ เฐฌเฐนเฐฟเฐฐเฐเฐเฐเฐเฐพ เฐ
เฐเฐฆเฑเฐฌเฐพเฐเฑเฐฒเฑ เฐเฐเฐเฐพเฐฏเฐฟ. เฐฌเฐพเฐนเฑเฐฏ เฐเฐเฐเฐฟเฐเฑเฐฐเฑเฐทเฐจเฑโเฐจเฑ (external integration) เฐชเฑเฐฐเฑเฐคเฑเฐธเฐนเฐฟเฐเฐเฐกเฐพเฐจเฐฟเฐเฐฟ เฐเฐตเฐฟ เฐฐเฑเฐชเฑเฐเฐฆเฐฟเฐเฐเฐฌเฐกเฑเฐกเฐพเฐฏเฐฟ.
- เฐเฐฆเฐพเฐนเฐฐเฐฃเฐฒเฑ: Google Maps API, Stripe API, OpenWeather API.
- เฐชเฑเฐฐเฑเฐตเฑเฐเฑ / เฐเฐเฐเฐฐเฑเฐจเฐฒเฑ APIเฐฒเฑ (Private/Internal APIs): เฐเฐตเฐฟ เฐชเฐฌเฑเฐฒเฐฟเฐเฑโเฐเฐพ เฐ เฐเฐฆเฑเฐฌเฐพเฐเฑเฐฒเฑ เฐเฐเฐกเฐตเฑ. เฐเฐ เฐธเฐเฐธเฑเฐฅ เฐฒเฑเฐฆเฐพ เฐเฐเฐชเฑเฐจเฑเฐฒเฑเฐจเฐฟ เฐ เฐเฐคเฐฐเฑเฐเฐค เฐฌเฑเฐเฐฆเฐพเฐฒเฑ เฐฒเฑเฐฆเฐพ เฐธเฐฟเฐธเฑเฐเฐฎเฑโเฐฒ เฐฎเฐงเฑเฐฏ เฐเฐฎเฑเฐฏเฑเฐจเฐฟเฐเฑเฐทเฐจเฑ เฐเฑเฐธเฐ เฐฎเฐพเฐคเฑเฐฐเฐฎเฑ เฐเฐตเฐฟ เฐเฐชเฐฏเฑเฐเฐฟเฐเฐเฐฌเฐกเฐคเฐพเฐฏเฐฟ (เฐเฐฆเฐพ: เฐเฐเฐชเฑเฐจเฑ HR เฐธเฐฟเฐธเฑเฐเฐฎเฑโเฐจเฑ เฐชเฑเฐฐเฑเฐฒเฑ เฐธเฐฟเฐธเฑเฐเฐฎเฑโเฐคเฑ เฐ เฐจเฑเฐธเฐเฐงเฐพเฐจเฐฟเฐเฐเฐกเฐ).
- เฐชเฐพเฐฐเฑเฐเฑโเฐจเฐฐเฑ APIเฐฒเฑ (Partner APIs): เฐตเฑเฐฏเฑเฐนเฐพเฐคเฑเฐฎเฐเฐเฐเฐพ เฐเฐเฐชเฐฟเฐ เฐเฑเฐฏเฐฌเฐกเฐฟเฐจ เฐฎเฐฐเฐฟเฐฏเฑ เฐ เฐงเฐฟเฐเฐพเฐฐเฐฟเฐ เฐตเฑเฐฏเฐพเฐชเฐพเฐฐ เฐญเฐพเฐเฐธเฑเฐตเฐพเฐฎเฑเฐฒเฐเฑ (business partners) เฐฎเฐพเฐคเฑเฐฐเฐฎเฑ เฐทเฑเฐฐเฑ เฐเฑเฐฏเฐฌเฐกเฐคเฐพเฐฏเฐฟ. เฐตเฑเฐเฐฟเฐเฐฟ เฐเฐเฑเฐเฐฟเฐคเฐฎเฑเฐจ เฐ เฐเฑเฐฐเฐฟเฐฎเฑเฐเฐเฑเฐฒเฑ (contracts) เฐฎเฐฐเฐฟเฐฏเฑ เฐเฐฅเฑเฐเฐเฐฟเฐเฑเฐทเฐจเฑ เฐ เฐตเฐธเฐฐเฐ.
- เฐเฐพเฐเฐชเฑเฐเฐฟเฐเฑ APIเฐฒเฑ (Composite APIs): เฐเฐตเฐฟ เฐฌเฐนเฑเฐณ เฐตเฑเฐฐเฑเฐตเฑเฐฐเฑ API เฐเฐพเฐฒเฑโเฐฒเฐจเฑ เฐเฐเฑ เฐธเฑเฐเฑเฐตเฑเฐจเฑเฐธเฑโเฐเฐพ (sequence) เฐเฐฒเฑเฐชเฑเฐคเฐพเฐฏเฐฟ. เฐเฑเฐฒเฐฏเฐฟเฐเฐเฑ เฐตเฑเฐฐเฑเฐตเฑเฐฐเฑ เฐกเฑเฐเฐพ เฐเฑเฐธเฐ 5 เฐธเฐพเฐฐเฑเฐฒเฑ เฐตเฑเฐฐเฑเฐตเฑเฐฐเฑ เฐฐเฐฟเฐเฑเฐตเฑเฐธเฑเฐเฑโเฐฒเฑ เฐชเฐเฐชเฑ เฐฌเฐฆเฑเฐฒเฑ, เฐเฐฆเฐฟ เฐธเฐฐเฑเฐตเฐฐเฑ เฐตเฑเฐชเฑ เฐฎเฑเฐคเฑเฐคเฐ เฐกเฑเฐเฐพเฐจเฑ เฐธเฑเฐเฐฐเฐฟเฐเฐเฐฟ เฐเฐเฑเฐธเฐพเฐฐเฐฟ (single response) เฐเฐธเฑเฐคเฑเฐเฐฆเฐฟ.
3. เฐเฐฐเฑเฐเฐฟเฐเฑเฐเฑเฐเฐฐเฑ เฐฎเฐฐเฐฟเฐฏเฑ เฐชเฑเฐฐเฑเฐเฑเฐเฐพเฐฒเฑ เฐเฐงเฐพเฐฐเฐเฐเฐพ (เฐตเฑเฐฌเฑ APIเฐฒเฑ เฐเฐฒเฐพ เฐจเฐฟเฐฐเฑเฐฎเฐฟเฐเฐเฐฌเฐกเฑเฐกเฐพเฐฏเฐฟ)
เฐฎเฐจเฐ เฐชเฑเฐฐเฐคเฑเฐฏเฑเฐเฐเฐเฐพ “เฐตเฑเฐฌเฑ APIเฐฒ” เฐเฑเฐฐเฐฟเฐเฐเฐฟ เฐฎเฐพเฐเฑเฐฒเฐพเฐกเฐฟเฐคเฑ, เฐเฐเฐเฐฐเฑเฐจเฑเฐเฑ เฐฆเฑเฐตเฐพเฐฐเฐพ เฐกเฑเฐเฐพเฐจเฑ เฐซเฐพเฐฐเฑเฐฎเฐพเฐเฑ เฐเฑเฐฏเฐกเฐพเฐจเฐฟเฐเฐฟ เฐฎเฐฐเฐฟเฐฏเฑ เฐฌเฐฆเฐฟเฐฒเฑ เฐเฑเฐฏเฐกเฐพเฐจเฐฟเฐเฐฟ เฐ เฐตเฐฟ เฐเฐชเฐฏเฑเฐเฐฟเฐเฐเฑ เฐเฐฐเฑเฐเฐฟเฐเฑเฐเฑเฐเฐฐเฐฒเฑ เฐธเฑเฐเฑเฐฒเฑเฐธเฑ เฐฎเฐฐเฐฟเฐฏเฑ เฐชเฑเฐฐเฑเฐเฑเฐเฐพเฐฒเฑโเฐฒ เฐเฐงเฐพเฐฐเฐเฐเฐพ เฐเฐตเฐฟ เฐตเฐฟเฐญเฐเฐฟเฐเฐเฐฌเฐกเฑเฐกเฐพเฐฏเฐฟ.
- REST (Representational State Transfer): เฐเฐฆเฐฟ เฐ เฐคเฑเฐฏเฐเฐค เฐชเฑเฐฐเฐเฐพเฐฆเฐฐเฐฃ เฐชเฑเฐเฐฆเฐฟเฐจ เฐฎเฐฐเฐฟเฐฏเฑ เฐคเฑเฐฒเฐฟเฐเฐชเฐพเฐเฐฟ (lightweight) เฐตเฑเฐฌเฑ เฐเฐฐเฑเฐเฐฟเฐเฑเฐเฑเฐเฐฐเฑ. เฐเฐฆเฐฟ เฐธเฑเฐเฐพเฐเฐกเฐฐเฑเฐกเฑ HTTP เฐชเฐฆเฑเฐงเฐคเฑเฐฒเฐชเฑ เฐเฐงเฐพเฐฐเฐชเฐกเฑเฐคเฑเฐเฐฆเฐฟ เฐฎเฐฐเฐฟเฐฏเฑ เฐกเฑเฐเฐพ เฐเฑเฐฐเฐพเฐจเฑเฐธเฑโเฐซเฐฐเฑ เฐเฑเฐธเฐ เฐเฐเฑเฐเฑเฐตเฐเฐพ JSON เฐจเฐฟ เฐเฐชเฐฏเฑเฐเฐฟเฐธเฑเฐคเฑเฐเฐฆเฐฟ.
- SOAP (Simple Object Access Protocol): เฐเฐฆเฐฟ เฐชเฐพเฐคเฐฆเฐฟ, เฐ เฐคเฑเฐฏเฐเฐค เฐเฐ เฐฟเฐจเฐฎเฑเฐจ เฐฎเฐฐเฐฟเฐฏเฑ เฐธเฑเฐเฑเฐฐเฐเฑเฐเฐฐเฑเฐกเฑ เฐชเฑเฐฐเฑเฐเฑเฐเฐพเฐฒเฑ. เฐเฐฆเฐฟ เฐกเฑเฐเฐพ เฐเฑเฐธเฐ เฐเฑเฐตเฐฒเฐ XML เฐจเฐฟ เฐฎเฐพเฐคเฑเฐฐเฐฎเฑ เฐเฐชเฐฏเฑเฐเฐฟเฐธเฑเฐคเฑเฐเฐฆเฐฟ. เฐฆเฑเฐจเฐฟเฐฒเฑเฐจเฐฟ เฐเฐจเฑโเฐฌเฐฟเฐฒเฑเฐเฑ เฐธเฑเฐเฑเฐฏเฑเฐฐเฐฟเฐเฑ เฐซเฑเฐเฐฐเฑเฐฒ เฐตเฐฒเฑเฐฒ เฐเฐเฐเฐฐเฑโเฐชเฑเฐฐเฑเฐเฑ เฐฎเฐฐเฐฟเฐฏเฑ เฐฌเฑเฐฏเฐพเฐเฐเฐฟเฐเฐเฑ เฐธเฐฟเฐธเฑเฐเฐฎเฑเฐธเฑโเฐฒเฑ เฐฆเฑเฐจเฑเฐจเฐฟ เฐเฐเฑเฐเฑเฐตเฐเฐพ เฐเฐชเฐฏเฑเฐเฐฟเฐธเฑเฐคเฐพเฐฐเฑ.
- GraphQL: เฐเฐฆเฐฟ เฐเฐ เฐเฐงเฑเฐจเฐฟเฐ เฐเฑเฐตเฑเฐฐเฑ เฐฒเฐพเฐเฐเฑเฐตเฑเฐเฑ. เฐเฐเฐฆเฑเฐฒเฑ เฐเฑเฐฒเฐฏเฐฟเฐเฐเฑ เฐตเฑเฐฐเฑเฐตเฑเฐฐเฑ เฐเฐเฐกเฑโเฐชเฐพเฐฏเฐฟเฐเฐเฑโเฐฒ (endpoints) เฐฎเฑเฐฆ เฐเฐงเฐพเฐฐเฐชเฐกเฐเฑเฐเฐกเฐพ, เฐเฐเฑ เฐเฐเฐกเฑโเฐชเฐพเฐฏเฐฟเฐเฐเฑ เฐจเฑเฐเฐกเฐฟ เฐคเฐจเฐเฑ เฐเฐพเฐตเฐพเฐฒเฑเฐธเฐฟเฐจ เฐเฐเฑเฐเฐฟเฐคเฐฎเฑเฐจ เฐกเฑเฐเฐพเฐจเฑ เฐฎเฐพเฐคเฑเฐฐเฐฎเฑ เฐ เฐกเฐเฐตเฐเฑเฐเฑ.
- gRPC: เฐเฑเฐเฑเฐฒเฑ (Google) เฐฐเฑเฐชเฑเฐเฐฆเฐฟเฐเฐเฐฟเฐจ เฐ เฐซเฑเฐฐเฑเฐฎเฑโเฐตเฐฐเฑเฐเฑ, เฐกเฑเฐเฐพ เฐซเฐพเฐฐเฑเฐฎเฐพเฐเฑ เฐเฑเฐธเฐ JSON/XML เฐเฐฟ เฐฌเฐฆเฑเฐฒเฑเฐเฐพ เฐชเฑเฐฐเฑเฐเฑเฐเฐพเฐฒเฑ เฐฌเฐซเฐฐเฑเฐธเฑ (Protobuf – เฐฌเฑเฐจเฐฐเฑ เฐซเฐพเฐฐเฑเฐฎเฐพเฐเฑ)เฐจเฑ เฐเฐชเฐฏเฑเฐเฐฟเฐธเฑเฐคเฑเฐเฐฆเฐฟ. เฐ เฐเฐคเฐฐเฑเฐเฐค เฐธเฐฟเฐธเฑเฐเฐฎเฑ เฐเฐฎเฑเฐฏเฑเฐจเฐฟเฐเฑเฐทเฐจเฑ เฐเฑเฐธเฐ เฐเฐฆเฐฟ เฐเฐพเฐฒเฐพ เฐตเฑเฐเฐตเฐเฐคเฐฎเฑเฐจเฐฆเฐฟ.
- WebSockets: เฐเฐฆเฐฟ เฐเฑเฐฒเฐฏเฐฟเฐเฐเฑ เฐฎเฐฐเฐฟเฐฏเฑ เฐธเฐฐเฑเฐตเฐฐเฑ เฐฎเฐงเฑเฐฏ เฐจเฐฟเฐฐเฐเฐคเฐฐ (continuous), เฐเฑ-เฐตเฑ (two-way) เฐเฐจเฑเฐเฑเฐทเฐจเฑโเฐจเฑ เฐเฐชเฑเฐจเฑโเฐเฐพ เฐเฐเฐเฑเฐคเฑเฐเฐฆเฐฟ. เฐฒเฑเฐตเฑ เฐเฐพเฐเฑ เฐฒเฑเฐฆเฐพ เฐฎเฐฒเฑเฐเฑเฐชเฑเฐฒเฑเฐฏเฐฐเฑ เฐเฑเฐฎเฑเฐธเฑ เฐตเฐเฐเฐฟ เฐฐเฐฟเฐฏเฐฒเฑ เฐเฑเฐฎเฑ เฐ เฐชเฑเฐฒเฐฟเฐเฑเฐทเฐจเฑโเฐฒเฐเฑ เฐเฐฆเฐฟ เฐ เฐจเฑเฐตเฑเฐจเฐฆเฐฟ.