Bỏ qua menu, vào nội dung chính
Chủ đề:  Application Programming Interface
Thành phần:  6 mục

API (Application Programming Interface - Giao diện lập trình ứng dụng) là tập hợp quy ước (endpoint, format dữ liệu, authentication) cho phép hai phần mềm giao tiếp với nhau qua mạng. Thay vì copy data thủ công giữa hệ thống, API cho phép tự động đồng bộ realtime. Ví dụ: app đặt xe gọi API Google Maps để hiển thị bản đồ, website gọi API VNPay để xử lý thanh toán.

API là 'cánh cửa' để doanh nghiệp tích hợp hệ thống - từ ERP, CRM nội bộ tới Zalo OA, VNPay, sàn TMĐT. Trong các dự án đã bàn giao, ALODEV nối hệ thống của khách hàng với Zalo OA để gửi thông báo và duyệt đơn ngay trên điện thoại.

Thành phần chính.

  1. 01

    Endpoint

    Địa chỉ URL cụ thể của 1 chức năng API. VD: `POST /api/orders` để tạo đơn hàng, `GET /api/users/123` để lấy thông tin user.

  2. 02

    Method

    Động từ HTTP định nghĩa thao tác: GET (đọc), POST (tạo), PUT (cập nhật), DELETE (xoá), PATCH (cập nhật một phần).

  3. 03

    Request/Response Body

    Format dữ liệu trao đổi - thường là JSON. VD: gửi `{ name: 'A', email: 'a@b.com' }` nhận về `{ id: 123, ... }`.

  4. 04

    Authentication

    Cách xác thực: API Key (đơn giản), OAuth 2.0 (chuẩn enterprise), JWT token (web app). Quan trọng cho bảo mật.

  5. 05

    Rate Limit

    Giới hạn số request/phút. VD: Google Maps free 1000 req/ngày. Vượt sẽ bị block hoặc tính phí.

  6. 06

    Documentation

    Tài liệu mô tả từng endpoint + ví dụ. Chuẩn ngành: OpenAPI/Swagger spec. Doc tốt = developer dễ tích hợp.

Lợi ích
  • Tích hợp không cần copy data. Hệ thống tự đồng bộ realtime - đơn từ Shopee tự về kho ERP, không phải nhập tay.
  • Mở rộng kênh bán dễ dàng. Có API rồi, thêm 1 kênh mới (TikTok Shop) chỉ là viết connector - không phải build lại nền tảng.
  • Cho phép đối tác xây dựng trên hệ thống. Cung cấp API cho đại lý / đối tác để họ tự tích hợp với hệ thống của họ.
  • Microservices architecture. Tách hệ thống lớn thành nhiều service nhỏ giao tiếp qua API - dễ scale, dễ maintain, đội độc lập.
Nên triển khai khi
  • Nhân viên copy-paste data giữa 2-3 hệ thống mỗi ngày
  • Có hệ thống cũ (ERP, kế toán) muốn kết nối với hệ thống mới (web, app) nhưng không biết cách
  • Muốn cho đại lý xem dữ liệu realtime nhưng không muốn cho login vào hệ thống nội bộ
  • Cần tích hợp với Zalo OA, VNPay, sàn TMĐT, GHN/GHTK nhưng chưa có lib sẵn

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

REST API vs GraphQL - khác gì?

REST: mỗi endpoint trả về fixed structure, client gọi nhiều endpoint nếu cần nhiều data. GraphQL: 1 endpoint, client query đúng fields cần. REST đơn giản, dễ cache. GraphQL linh hoạt, phù hợp app mobile với data phức tạp. Alodev dùng REST mặc định, GraphQL khi client cần nested data nhiều.

API public vs private - khi nào cần loại nào?

Private API: chỉ hệ thống nội bộ dùng, bảo mật bằng JWT/OAuth. Public API: cho đối tác/khách hàng external dùng, cần API key + rate limit + documentation đẹp. Doanh nghiệp SME thường bắt đầu với private, khi có đối tác ổn định mới mở public.

Có API ngân hàng Việt Nam không?

Có. VCB, TCB, BIDV, MB Bank đều có API doanh nghiệp - pull sao kê tự động, đối soát giao dịch. Quy trình đăng ký phức tạp (ký hợp đồng, NDA), Alodev đã làm cho 3 dự án. Phí tích hợp tuỳ ngân hàng, 0-15 triệu/năm.

Mất bao lâu để tích hợp 1 API thông thường?

Tuỳ độ phức tạp + chất lượng doc. API có doc tốt + sandbox (như Stripe, VNPay): 3-7 ngày. API enterprise không có doc public (như HIS bệnh viện cũ): 2-6 tuần. Alodev tính theo giờ kỹ sư, 300-650k/giờ.

API có an toàn không? Tránh bị tấn công thế nào?

API là attack surface lớn - cần: (1) HTTPS bắt buộc, (2) Authentication mạnh (OAuth 2.0 hoặc JWT), (3) Rate limiting tránh DDoS, (4) Input validation tránh injection, (5) Audit log mọi request quan trọng, (6) CORS strict, (7) Secrets không hardcode. Alodev áp dụng security checklist 30 mục cho mọi API.

Áp vào doanh nghiệp
thì bắt đầu từ đâu?

Mô tả bài toán, ALODEV tư vấn đúng nghiệp vụ, miễn phí.