# API REST

Tiếng Anh: RESTful API

Kiểu thiết kế API sử dụng giao thức HTTP và định dạng JSON, phổ biến nhất trong ngân hàng mở nhờ tính đơn giản, dễ mở rộng và tương thích đa nền tảng.

Nguồn: https://vieclam.nganhang.com/thuat-ngu/api-rest-la-gi
Danh mục: Open Banking & API
Cập nhật: 13/09/2026

**API REST** (còn gọi là **RESTful API**) là một kiểu kiến trúc thiết kế giao diện lập trình ứng dụng (**Application Programming Interface**) tuân theo các nguyên tắc của mô hình **REST** (**Representational State Transfer**) do nhà khoa học máy tính Roy Fielding đề xuất trong luận văn tiến sĩ năm 2000 tại Đại học California, Irvine. Đây là chuẩn giao tiếp phổ biến nhất hiện nay giữa các hệ thống phần mềm, cho phép các ứng dụng trao đổi dữ liệu thông qua giao thức **HTTP/HTTPS** với định dạng dữ liệu chủ yếu là **JSON** (**JavaScript Object Notation**) hoặc **XML** (**eXtensible Markup Language**). Theo thống kê của Postman (nền tảng quản lý API lớn nhất thế giới) trong báo cáo State of the API 2023, có tới hơn 89% các nhà phát triển trên toàn cầu ưu tiên sử dụng REST API cho các dự án tích hợp hệ thống.

Về cách thức hoạt động, **API REST** hoạt động theo mô hình **client – server**, trong đó mỗi tài nguyên (**resource**) trên máy chủ được xác định bằng một đường dẫn **URL** (**Uniform Resource Locator**) duy nhất. Ví dụ trong ngân hàng, tài nguyên có thể là thông tin tài khoản (`/accounts/{id}`), lịch sử giao dịch (`/transactions`) hay số dư khách hàng (`/balance`). Khi **client** gửi yêu cầu (**request**) đến **server**, hệ thống sẽ sử dụng các phương thức **HTTP** chuẩn bao gồm **GET** (truy xuất dữ liệu), **POST** (tạo mới tài nguyên), **PUT** (cập nhật toàn bộ), **PATCH** (cập nhật một phần) và **DELETE** (xóa tài nguyên). Đặc điểm cốt lõi của REST là tính **stateless** – tức là mỗi yêu cầu đều độc lập, server không lưu trạng thái phiên làm việc của client giữa các lần gọi. Điều này giúp hệ thống dễ mở rộng theo chiều ngang (**horizontal scaling**), xử lý đồng thời lượng lớn request mà không bị nghẽn, đồng thời đơn giản hóa việc phát triển và bảo trì.

**Thuật ngữ tiếng Anh:** RESTful API
**Lĩnh vực:** Open Banking & API

## Đặc điểm và phân loại

**API REST** được đặc trưng bởi 6 ràng buộc kiến trúc (**architectural constraints**) do Roy Fielding đề xuất, đồng thời có nhiều cách phân loại khác nhau tùy theo mục đích sử dụng và phạm vi triển khai.

### Bảng 6 ràng buộc kiến trúc cốt lõi của REST

| STT | Ràng buộc | Ý nghĩa | Ví dụ trong ngân hàng |
|-----|-----------|----------|------------------------|
| 1 | **Client – Server** | Tách biệt giao diện người dùng và xử lý dữ liệu | Ứng dụng Mobile Banking tách riêng phần giao diện và phần xử lý giao dịch |
| 2 | **Stateless** | Mỗi request chứa đủ thông tin, server không lưu session | Mỗi lần gọi API tra cứu số dư đều kèm token xác thực |
| 3 | **Cacheable** | Response có thể đánh dấu để cache, giảm tải server | Cache thông tin tỷ giá ngoại tệ trong 5 phút |
| 4 | **Uniform Interface** | Giao diện đồng nhất giữa client và server | Chuẩn hóa endpoint `/api/v1/accounts` cho mọi kênh |
| 5 | **Layered System** | Hệ thống phân lớp, client không biết đang nói chuyện với lớp nào | Load balancer → API Gateway → Microservice xử lý |
| 6 | **Code on Demand** *(tùy chọn)* | Server có thể gửi mã thực thi cho client | JavaScript snippet xác thực OTP tự động |

### Phân loại API REST theo phạm vi sử dụng

- **Public API (Open API):** API được công khai cho bên thứ ba sử dụng. Đây là nền tảng của mô hình **Open Banking**, cho phép các công ty **fintech**, ví điện tử tích hợp dịch vụ thanh toán, tra cứu thông tin tài khoản.
- **Private API:** API nội bộ chỉ dùng trong hệ thống ngân hàng, kết nối giữa các **microservice** hoặc giữa core banking với các kênh số như Internet Banking, Mobile Banking.
- **Partner API:** API dành riêng cho đối tác chiến lược đã ký hợp đồng, thường có giới hạn về quota và có mức bảo mật cao hơn Public API.

### Phân loại theo phiên bản (**API Versioning**)

| Phiên bản | Đặc điểm | Cách ghi trong URL |
|-----------|-----------|---------------------|
| **URI Versioning** | Phiên bản nằm trong đường dẫn | `/api/v1/accounts`, `/api/v2/accounts` |
| **Header Versioning** | Phiên bản nằm trong HTTP Header | `Accept: application/vnd.bank.v2+json` |
| **Query Parameter** | Phiên bản nằm trong tham số | `/api/accounts?version=2` |

### Các mã trạng thái HTTP quan trọng

| Mã | Tên gọi | Ý nghĩa |
|----|---------|---------|
| **200** | OK | Yêu cầu thành công |
| **201** | Created | Tạo tài nguyên thành công |
| **400** | Bad Request | Request sai định dạng |
| **401** | Unauthorized | Chưa xác thực hoặc token hết hạn |
| **403** | Forbidden | Không có quyền truy cập |
| **404** | Not Found | Không tìm thấy tài nguyên |
| **429** | Too Many Requests | Vượt giới hạn gọi API |
| **500** | Internal Server Error | Lỗi phía server |
| **503** | Service Unavailable | Hệ thống bảo trì |

## Ví dụ thực tế trong ngành ngân hàng

### Ví dụ 1: Tích hợp ví điện tử với ngân hàng qua Open API

**Ngân hàng A** triển khai hệ thống **Open API** cho phép các ví điện tử đối tác kết nối trực tiếp vào hệ thống core banking. Khi khách hàng B mở ứng dụng ví điện tử và chọn chức năng "Nạp tiền từ Ngân hàng A" với số tiền 2.000.000 VNĐ, ứng dụng ví sẽ gửi một **POST request** đến endpoint `https://api.nganhangA.vn/v1/transfers` với payload JSON chứa thông tin tài khoản nguồn, tài khoản đích, số tiền và mã OTP. Hệ thống **Ngân hàng A** sau khi xác thực **OAuth 2.0** token sẽ xử lý giao dịch trong vòng 2-3 giây và trả về response với mã trạng thái **201 Created** kèm theo mã giao dịch (`transaction_id`). Trước đây khi chưa có API REST, để tích hợp với mỗi đối tác, **Ngân hàng A** phải mất từ 3 đến 6 tháng để kết nối qua các kênh **SFTP** (**Secure File Transfer Protocol**) hoặc **webhook** cũ. Nhờ chuẩn hóa REST API, thời gian tích hợp được rút ngắn xuống chỉ còn 2-4 tuần.

### Ví dụ 2: Hệ thống thanh toán QR Code liên ngân hàng

**Ngân hàng B** tham gia hệ thống thanh toán QR liên ngân hàng do **NAPAS** (**National Payment Corporation of Vietnam**) vận hành. Khi khách hàng C quét mã QR thanh toán 150.000 VNĐ tại cửa hàng, ứng dụng Mobile Banking sẽ gọi **GET** đến endpoint `/api/v1/qr/decode/{ma_qr}` để giải mã thông tin giao dịch, sau đó gọi **POST** đến `/api/v1/payments/qr` để thực hiện thanh toán. Toàn bộ quy trình chỉ mất 1.5 giây với độ sẵn sàng (**uptime**) đạt 99.95% theo cam kết SLA (**Service Level Agreement**) trong hợp đồng. Hệ thống xử lý trung bình 5 triệu giao dịch QR mỗi ngày, cao điểm lên tới 12 triệu giao dịch/ngày vào các dịp lễ, Tết.

### Ví dụ 3: Tự động hóa quy trình cấp tín dụng qua eKYC API

**Ngân hàng C** triển khai **eKYC** (**electronic Know Your Customer**) thông qua REST API để rút ngắn thời gian mở tài khoản từ 30 phút xuống còn 3 phút. Khi khách hàng D đăng ký mở tài khoản online, hệ thống gọi đồng thời 4 API: (1) **POST** `/api/v1/kyc/verify-id` để xác thực **CCCD** (**Căn cước công dân**) qua công nghệ **OCR** (**Optical Character Recognition**) với độ chính xác 98.7%, (2) **POST** `/api/v1/kyc/face-match` để so khớp khuôn mặt với độ chính xác 99.2%, (3) **GET** `/api/v1/credit-bureau/score` để tra cứu điểm tín dụng từ **CIC** (**Credit Information Center**) trong vòng 800ms, (4) **POST** `/api/v1/accounts/open` để tạo tài khoản. Toàn bộ quy trình trải qua 4 API call, xử lý song song (**parallel processing**) giúp tổng thời gian hoàn thành chỉ còn 3 phút thay vì 30 phút như phương thức truyền thống.

## API REST trong các ngôn ngữ khác

| Ngôn ngữ | Thuật ngữ | Phiên âm |
|----------|-----------|-----------|
| Tiếng Anh | RESTful API | /ˈrɛstfəl ˈeɪ piː aɪ/ |
| Tiếng Nhật | REST API（レスト・エー・ピー・アイ） | *resuto ē pī ai* |
| Tiếng Hàn | REST API（레스트 API） | *reseuteu eipi* |
| Tiếng Trung | RESTful 接口 / REST API | *REST jiēkǒu* |
| Tiếng Tây Ban Nha | API RESTful | /aˈpi ˈrestful/ |

## Câu hỏi thường gặp

### API REST khác gì SOAP?

**API REST** và **SOAP** (**Simple Object Access Protocol**) đều là hai kiểu kiến trúc API phổ biến nhưng có nhiều điểm khác biệt cốt lõi. REST sử dụng định dạng **JSON** nhẹ và linh hoạt, hoạt động trên giao thức **HTTP/HTTPS**, đơn giản trong thiết kế và dễ mở rộng; trong khi SOAP sử dụng định dạng **XML** nặng hơn, chạy trên nhiều giao thức khác nhau (HTTP, SMTP, TCP), đòi hỏi tuân thủ chặt chẽ **WSDL** (**Web Services Description Language**) và có cơ chế bảo mật tích hợp sẵn **WS-Security**. Trong ngân hàng hiện đại, REST được ưu tiên cho các API công khai, kết nối fintech; SOAP vẫn được sử dụng cho các hệ thống **legacy** cũ yêu cầu bảo mật cao và giao dịch phức tạp như **SWIFT** hay kết nối liên ngân hàng quốc tế.

### Khi nào cần biết về API REST?

Người làm trong ngân hàng cần nắm vững **API REST** khi tham gia vào các dự án **Open Banking**, phát triển kênh số (**digital banking**), tích hợp với đối tác fintech, hoặc khi thiết kế kiến trúc **microservice** cho hệ thống core banking. Cụ thể, các vị trí như **Product Owner** ngân hàng số, **Business Analyst** mảng thanh toán, **Chuyên viên tích hợp hệ thống**, **Risk Manager** phụ trách rủi ro CNTT và ứng viên thi tuyển vào các vị trí công nghệ thông tin ngân hàng đều cần hiểu rõ nguyên lý hoạt động, các phương thức HTTP, mã trạng thái và tiêu chuẩn bảo mật OAuth 2.0, **TLS 1.2+**. Đặc biệt trong kỳ thi tuyển dụng ngân hàng, câu hỏi về REST API thường xuất hiện trong phần thi chuyên ngành Công nghệ thông tin, Chuyển đổi số hoặc Thanh toán quốc tế.

### API REST ảnh hưởng thế nào đến khách hàng?

**API REST** mang lại trải nghiệm vượt trội cho khách hàng ngân hàng thông qua tốc độ xử lý giao dịch nhanh hơn (thường dưới 3 giây), khả năng tích hợp liền mạch với nhiều dịch vụ bên thứ ba như ví điện tử, sàn thương mại điện tử, ứng dụng quản lý tài chính cá nhân. Khách hàng có thể chuyển tiền liên ngân hàng 24/7, thanh toán QR code một chạm, mở tài khoản online chỉ trong vài phút, đồng thời được bảo vệ bởi các tiêu chuẩn bảo mật cao nhất như mã hóa **end-to-end**, xác thực đa yếu tố **MFA** (**Multi-Factor Authentication**). Tuy nhiên, khách hàng cũng cần lưu ý bảo mật thông tin cá nhân, không chia sẻ **API key** hay token xác thực, và chỉ sử dụng các ứng dụng đã được ngân hàng cấp phép chính thức.

## Tổng kết

**API REST** đã và đang trở thành xương sống kỹ thuật của mô hình **Open Banking** và quá trình chuyển đổi số trong ngành ngân hàng Việt Nam. Với ưu điểm vượt trội về tính đơn giản, khả năng mở rộng, tốc độ tích hợp nhanh và chi phí thấp, REST API giúp các ngân hàng kết nối hiệu quả với hệ sinh thái fintech, ví điện tử, sàn thương mại điện tử, từ đó mang đến cho khách hàng những sản phẩm dịch vụ tài chính tiện lợi, nhanh chóng và an toàn. Đối với ứng viên ôn thi tuyển dụng ngân hàng, việc nắm vững kiến thức về REST API không chỉ là lợi thế cạnh tranh mà còn là yêu cầu cơ bản để theo kịp xu hướng ngân hàng số đang phát triển mạnh mẽ tại Việt Nam. Trong tương lai, bên cạnh REST, các công nghệ mới như **GraphQL** và **gRPC** cũng đang được cân nhắc, nhưng REST vẫn sẽ giữ vị trí chủ đạo trong ít nhất 5-10 năm tới nhờ hệ sinh thái công cụ phong phú và cộng đồng nhà phát triển đông đảo.

## Thuật ngữ liên quan

- [Chuẩn ISO 27001](https://vieclam.nganhang.com/thuat-ngu/chuan-iso-27001-la-gi) — Tiêu chuẩn quốc tế về hệ thống quản lý an toàn thông tin được nhiều ngân hàng Việt Nam áp dụng và chứng nhận.
- [Ngân hàng mở](https://vieclam.nganhang.com/thuat-ngu/ngan-hang-mo-la-gi) — Mô hình ngân hàng chia sẻ dữ liệu khách hàng với bên thứ ba thông qua API, thúc đẩy cạnh tranh và đổi mới sáng tạo dịch vụ tài chính.
- [Open Banking](https://vieclam.nganhang.com/thuat-ngu/open-banking-la-gi) — Mô hình ngân hàng mở cho phép bên thứ ba truy cập dữ liệu tài khoản (có sự đồng ý) qua API, nền tảng cho các dịch vụ fintech đổi mới.
- [Thanh toán QR](https://vieclam.nganhang.com/thuat-ngu/thanh-toan-qr-la-gi) — Phương thức thanh toán sử dụng mã QR để khởi tạo giao dịch, phổ biến tại Việt Nam với tiêu chuẩn VietQR của Napas.
- [Thanh toán QR code](https://vieclam.nganhang.com/thuat-ngu/thanh-toan-qr-code-la-gi) — Phương thức thanh toán phổ biến tại Việt Nam, cho phép khách hàng quét mã QR từ ứng dụng ngân hàng hoặc ví điện tử để hoàn tất giao dịch nhanh chóng tại cửa hà…
- [Tiêu chuẩn ISO 27001](https://vieclam.nganhang.com/thuat-ngu/tieu-chuan-iso-27001-la-gi) — Tiêu chuẩn quốc tế về hệ thống quản lý an toàn thông tin (ISMS) được nhiều ngân hàng Việt Nam áp dụng và chứng nhận.
- [Ví điện tử](https://vieclam.nganhang.com/thuat-ngu/vi-dien-tu-la-gi) — Ứng dụng lưu trữ giá trị tiền tệ điện tử trên thiết bị di động, cho phép thanh toán, chuyển tiền và nạp/rút tiền nhanh chóng.
- [Đề án 06 của Chính phủ](https://vieclam.nganhang.com/thuat-ngu/de-an-06-cua-chinh-phu-la-gi) — Đề án phát triển ứng dụng dữ liệu về dân cư, định danh và xác thực điện tử phục vụ chuyển đổi số quốc gia.
