API Là Gì?
API Là Gì?
Cơ chế cụ thể sau 'đường dây' API đã học ở L6 bài 55: 1 request gồm method/endpoint/headers/body, 1 response gồm status code/headers/body. 5 method HTTP (GET/POST/PUT/PATCH/DELETE) và cách đọc tài liệu API trước khi gọi.
Nắm vững nguyên lý và khái niệm nền tảng trước khi đi vào công cụ thực tế.
Áp dụng quy trình từng bước, case study thực chiến và template mẫu có sẵn.
Kiểm tra checklist hoàn thành, né tránh các sai lầm kinh điển để vận hành bền vững.
Nắm vững các khái niệm nền tảng, cơ chế hoạt động và mô hình tư duy cốt lõi.
1. Mục tiêu học tập
Sau bài này, bạn có thể:
2. Khái niệm cốt lõi
Điều bạn đã biết từ bài 55 (L6), dẫn chiếu không giải thích lại: API là “đường dây” giữa 2 hệ thống. Câu hỏi bài này trả lời: tờ đơn gửi qua đường dây đó trông như thế nào, cụ thể?
Chuẩn HTTP — nền tảng phổ quát của phần lớn API web hiện nay, không gắn 1 hãng nào: phần lớn API hiện đại giao tiếp qua giao thức HTTP — cùng giao thức trình duyệt dùng để tải trang web. 1 request (yêu cầu) gồm 4 phần:
- Method — động từ mô tả hành động muốn thực hiện.
- Endpoint (path) — địa chỉ cụ thể của tài nguyên muốn thao tác (ví dụ:
/users/123, không phải cả website). - Headers — thông tin bổ sung, bao gồm
Authorization(credential xác thực, ví dụ API key — đào sâu ở bài 74). - Body/Parameters — dữ liệu gửi kèm (dùng ở 1 số method).
5 method HTTP phổ biến và mục đích:
| Method | Mục đích |
|---|---|
| GET | Lấy dữ liệu, không thay đổi gì |
| POST | Tạo mới 1 tài nguyên |
| PUT | Thay thế toàn bộ 1 tài nguyên bằng dữ liệu mới |
| PATCH | Cập nhật 1 phần tài nguyên |
| DELETE | Xóa 1 tài nguyên |
1 response (phản hồi) gồm: Status code (số cho biết request có thành công không — 200=thành công, 404=không tìm thấy, 401=chưa xác thực đúng), Headers, và Body (dữ liệu thực tế trả về, thường dạng JSON).
3. Tại sao nội dung này quan trọng
Bài 64 (L6) bạn đã tự tay gọi 1 API AI thật — nhưng lúc đó chưa hiểu cơ chế bên dưới. Từ bài này trở đi, mọi bài trong Level 7 (webhook, tool calling, MCP, các tích hợp thật 70-73) đều xây trên đúng 4 khái niệm vừa học: endpoint, method, header, body/response. Không hiểu đúng những khái niệm này, các bài sau sẽ chỉ là “làm theo hướng dẫn” mà không hiểu vì sao.
4. Cơ chế hoạt động
Chu trình 1 API call (vẫn ở mức khái niệm phổ quát):
- Client tạo 1 request: chọn đúng method, đúng endpoint, đính kèm header (bao gồm xác thực) và body nếu cần.
- Client gửi request tới server qua mạng.
- Server xử lý, thực hiện hành động tương ứng (đọc/tạo/sửa/xóa dữ liệu).
- Server trả về response: status code + dữ liệu (nếu có).
Ví dụ cụ thể, cấu trúc chung của 1 API call thật (tổng hợp dựa trên S102):
POST /users HTTP/1.1Host: api.example.comContent-Type: application/jsonAuthorization: Bearer <api-key-cua-ban>
{ "name": "Nguyễn Văn A", "email": "a@example.com"}Response trả về:
HTTP/1.1 201 CreatedContent-Type: application/json
{ "id": 42, "name": "Nguyễn Văn A", "email": "a@example.com"}5. Mental model
Tiếp nối ẩn dụ “mạng lưới nhà cung cấp” (mở đầu Level 7): endpoint là địa chỉ cụ thể của nhà cung cấp (không phải cả tòa nhà — 1 phòng ban cụ thể); method là loại yêu cầu bạn gửi (“tôi muốn xem” = GET, “tôi muốn đặt mới” = POST, “tôi muốn hủy” = DELETE); header Authorization là giấy tờ chứng minh bạn là khách hàng hợp lệ; status code là câu trả lời ngắn gọn của nhà cung cấp (“200 = đã xử lý xong,” “404 = không tìm thấy thứ bạn hỏi,” “401 = giấy tờ của bạn không hợp lệ”).
Quy trình thực thi từng bước, case study cụ thể và bộ prompt/template áp dụng ngay.
6. Hướng dẫn từng bước
Checklist đọc hiểu 1 API documentation lần đầu:
api.example.com)/notes, /notes/{id})Authorization không, và định dạng thế nào? (đào sâu ở bài 74)7. Ví dụ thực tế
Dùng GitHub, đã quen từ bài 54 (L6): GitHub cung cấp REST API công khai — ví dụ endpoint lấy thông tin 1 repository là GET /repos/{owner}/{repo}. Method GET vì chỉ đọc dữ liệu, không thay đổi gì. Không cần xác thực cho dữ liệu công khai, nhưng cần Authorization nếu muốn đọc dữ liệu riêng tư hoặc thực hiện thao tác ghi (tạo issue mới, dùng method POST tới /repos/{owner}/{repo}/issues).
8. Prompt/template/workflow
Đây là tài liệu API của [tên dịch vụ]: [dán link hoặc đoạn docs].Giải thích cho tôi:1. Endpoint nào tôi cần dùng để [mục tiêu cụ thể]?2. Method là gì?3. Header/xác thực nào bắt buộc?4. Body cần những trường gì?5. Response thành công trông như thế nào?9. Visual hoặc diagram cần thiết
10. Bài tập thực hành
- Chọn 1 API công khai bạn quan tâm (có thể dùng GitHub REST API). Đọc tài liệu của nó theo checklist mục 6.
- Xác định: để lấy dữ liệu 1 tài nguyên cụ thể, bạn cần method và endpoint nào?
- Dùng khung ở mục 8, nhờ AI giải thích lại đúng 4 phần của 1 API call cụ thể từ tài liệu bạn chọn.
- Viết ra: nếu muốn dự án Notes App (dự án tích lũy) sau này gọi API này, request sẽ trông như thế nào (endpoint/method/header/body)?
Checklist kiểm tra mức độ sẵn sàng, nhận diện các bẫy sai lầm và nguyên tắc vàng vận hành.
11. Checklist
12. Lỗi thường gặp
(Suy luận từ nguyên tắc, không phải quan sát độc lập.)
Authorization khi API yêu cầu xác thực — dẫn tới lỗi 401.4xx (lỗi phía bạn — request sai) với 5xx (lỗi phía server) — 2 loại lỗi cần cách xử lý khác nhau.15. Best practices
2xx mới nên coi là thành công.16. Nội dung nâng cao (không bắt buộc)
Ngoài REST (kiểu API mô tả trong bài này — phổ biến nhất), còn có các kiểu API khác như GraphQL (client tự chọn chính xác trường dữ liệu cần, thay vì nhận toàn bộ response cố định) hay gRPC (hiệu năng cao, dùng nội bộ giữa các service) — vượt phạm vi người mới bắt đầu của Level 7, nhưng nếu gặp 1 API không theo cấu trúc REST như đã học, đây là lý do tại sao.
⚠️ 13. Giới hạn & khi nào KHÔNG nên áp dụng
- Bài này không dạy lại mô hình 4 lớp kiến trúc hay vai trò API nội bộ — xem bài 55 (L6) nếu cần ôn lại.
- Không dạy cách xác thực chi tiết (API key vs OAuth, vòng đời credential) — đó là bài 74.
- Không dạy cơ chế server chủ động gửi dữ liệu (không cần client hỏi trước) — đó là bài 66 (Webhook), hướng ngược lại với những gì bài này dạy.
- Không phải mọi API đều theo đúng chuẩn REST/HTTP mô tả ở đây (có API dùng GraphQL, gRPC…) — bài này dạy kiểu phổ biến nhất, không phải duy nhất.
🔐 14. An toàn & quản trị (Safety/Governance)
Header Authorization chính là nơi API key/token của bạn xuất hiện — nguyên tắc “secrets không bao giờ nằm trong code” (bài 62, L6) áp dụng trực tiếp: API key gửi qua header không nên bị viết cứng (hardcode) trong code, và không nên commit lên Git (bài 54). Đây là lần đầu tiên trong Level 7 nguyên tắc đó xuất hiện lại trong ngữ cảnh cụ thể — sẽ được đào sâu đầy đủ ở bài 74.
📚 17. Nguồn tham khảo
An Overview of HTTP, MDN (developer.mozilla.org) — cấu trúc request/response, 5 method HTTP, headers, status code · GitHub REST API documentation — dùng làm ví dụ minh họa · Dẫn chiếu (không trích dẫn mới): bài 55 (mô hình 4 lớp, L6); bài 62 (nguyên tắc secrets, L6); bài 64 (kinh nghiệm gọi API AI đầu tiên, L6).