API (Application Programming Interface) คือ **ชุดคำสั่ง กติกา หรือเครื่องมือ** ที่ทำหน้าที่เป็น "ตัวกลาง" ให้โปรแกรมหรือระบบต่าง ๆ สามารถ **สื่อสาร แลกเปลี่ยนข้อมูล หรือทำงานร่วมกันได้** โดยไม่ต้องเปิดเผยโค้ดภายในทั้งหมด
---
## 🔍 อธิบายง่าย ๆ
* **เปรียบเทียบ:** API เหมือน "เมนูอาหารในร้าน"
* เมนู = รายการสิ่งที่คุณสั่งได้ (ฟังก์ชัน/บริการที่ API มีให้)
* พนักงานรับออร์เดอร์ = API ที่ส่งคำขอของคุณไปครัว
* ครัว = ระบบหลังบ้าน (Server/Database) ที่ทำงานจริง
* คุณไม่ต้องรู้ว่าครัวทำอาหารยังไง แค่สั่งตามเมนูที่กำหนด
---
## 🛠 ส่วนประกอบหลักของ API
1. **Endpoint** – จุดที่ใช้เรียก API (URL เช่น `https://api.example.com/data`)
2. **Method** – วิธีการเรียก (เช่น `GET` เอาข้อมูล, `POST` ส่งข้อมูล, `PUT` แก้ไข, `DELETE` ลบ)
3. **Parameter** – ข้อมูลประกอบการเรียก (เช่น `?id=123`)
4. **Response** – ข้อมูลที่ API ส่งกลับมา (เช่น JSON หรือ XML)
5. **Authentication** – ระบบยืนยันตัวตน เช่น API Key หรือ Token
---
## 🚀 การใช้งาน API
1. **หาข้อมูล API**
* อ่าน *API Documentation* ของผู้ให้บริการ (เช่น Facebook Graph API, Google Maps API, Line API)
2. **ขอสิทธิ์เข้าถึง**
* สมัครและรับ **API Key / Token**
3. **เรียกใช้งาน API**
* ผ่าน **โค้ด** เช่น Python, JavaScript หรือ
* ผ่านเครื่องมือทดสอบ เช่น [Postman](https://www.postman.com/)
4. **ประมวลผลข้อมูลที่ได้**
* API จะส่งข้อมูลกลับมา (เช่น JSON) แล้วคุณนำไปแสดงผลหรือใช้ในระบบ
---
## 📌 ตัวอย่างโค้ดเรียก API ด้วย Python
```python
import requests
url = "https://api.exchangerate-api.com/v4/latest/USD"
response = requests.get(url) # GET request
data = response.json() # แปลงข้อมูลเป็น dict
print("ค่า USD เป็น THB:", data["rates"]["THB"])
```
**ผลลัพธ์:**
```
ค่า USD เป็น THB: 36.25
```
---
## 🎯 ตัวอย่างการใช้งานจริง
* แอปแผนที่ → เรียก **Google Maps API** เพื่อหาพิกัด
* เว็บ e-commerce → เรียก **Payment API** เพื่อรับชำระเงิน
* เว็บไซต์ข่าว → ดึงข้อมูลจาก **News API** มาแสดงอัตโนมัติ
----------------------------------------------------------