Đây là case study API integration cho một công ty thương mại phân phối thiết bị văn phòng. Từ 5 hệ thống “đảo” không kết nối (website, CRM, MISA kế toán, GHN, email) → tích hợp API toàn diện: đơn hàng chảy tự động từ website → CRM → kho → vận chuyển → kế toán, tiết kiệm 120 giờ nhân sự/tháng và giảm 95% lỗi nhập liệu.
Bối cảnh: 5 hệ thống, 0 kết nối
Khách hàng: Công ty phân phối thiết bị văn phòng (máy in, mực, giấy, ghế, bàn), 25 nhân viên, thị trường B2B + B2C, có cả showroom và website.
| Chỉ số | Số liệu |
|---|---|
| Đơn hàng/tháng | 1.200-1.500 |
| Doanh thu/tháng | 2-3 tỉ VND |
| SKU | 800+ |
| Nhân viên sales | 8 |
| Nhân viên hành chính/kế toán | 5 |
| Khách hàng B2B | 200+ công ty |
5 hệ thống “đảo”
| Hệ thống | Phần mềm | Ai dùng |
|---|---|---|
| Website bán hàng | WooCommerce | Khách hàng, marketing |
| CRM | Getfly | Sales team |
| Kế toán | MISA | Kế toán |
| Vận chuyển | GHN + GHTK | Hành chính |
| Email marketing | Mailchimp | Marketing |
Vấn đề: 5 hệ thống, KHÔNG CÁI NÀO NÓI CHUYỆN VỚI NHAU.
Quy trình thủ công hàng ngày
- Khách đặt hàng trên website → Email thông báo đến nhân viên
- Nhân viên copy thông tin đơn → Nhập vào Getfly CRM
- Nhân viên check tồn kho trên Excel → Xác nhận với khách
- Nhân viên tạo đơn vận chuyển trên GHN (nhập lại tên, SĐT, địa chỉ)
- Khi giao xong, nhân viên nhập doanh thu vào MISA
- Cuối tháng, marketing export khách hàng từ CRM → import vào Mailchimp
Mỗi đơn hàng: 15-25 phút xử lý thủ công. 1.300 đơn/tháng × 20 phút = 433 giờ/tháng — tương đương 2.5 nhân viên full-time chỉ để nhập liệu.
Lỗi phổ biến
| Loại lỗi | Tần suất | Hậu quả |
|---|---|---|
| Gõ sai SĐT/địa chỉ khi tạo đơn GHN | 3-5 đơn/ngày | Giao sai, mất phí |
| Quên nhập CRM | 10-15 đơn/tuần | Mất lead history |
| Nhập sai số lượng MISA | 2-3 lần/tuần | Sổ sách lệch |
| Tồn kho Excel lệch thực tế | Liên tục | Bán quá tồn |
| Quên update Mailchimp list | Hàng tháng | Gửi email cho khách cũ |
Giải pháp: API Integration toàn diện
Kiến trúc tích hợp
Trinh Digital thiết kế middleware layer — “bộ não trung tâm” kết nối tất cả:
Data flow chính:
- Khách đặt hàng trên WooCommerce → Webhook trigger
- → Middleware nhận đơn → Kiểm tra tồn kho (WooCommerce stock)
- → Auto-create contact/deal trong Getfly CRM (nếu khách mới → tạo contact, nếu khách cũ → update)
- → Auto-create đơn vận chuyển trên GHN (API GHN: tên, SĐT, địa chỉ, COD)
- → Auto-tạo invoice trên MISA (API MISA: customer, products, amount)
- → Auto-sync contact sang Mailchimp (email, tên, lịch sử mua)
- → Gửi email xác nhận + tracking cho khách (SMTP)
Toàn bộ tự động. Zero nhập liệu thủ công.
API sử dụng
| Hệ thống | API | Chức năng |
|---|---|---|
| WooCommerce | REST API v3 | Nhận đơn hàng, quản lý sản phẩm, stock |
| Getfly CRM | Getfly API v2 | Tạo contact, tạo deal, update pipeline |
| MISA | MISA AMIS API | Tạo invoice, customer, revenue report |
| GHN | GHN API v2 | Tạo đơn, tracking, tính phí, webhook status |
| GHTK | GHTK API | Backup shipper, tạo đơn |
| Mailchimp | Mailchimp Marketing API | Sync contacts, segments, campaigns |
Middleware Architecture
Middleware xây bằng Node.js + Express, deploy trên DigitalOcean:
- Queue system (BullMQ): Xử lý đơn hàng theo hàng đợi, không mất đơn khi traffic cao
- Retry logic: API lỗi → tự retry 3 lần, mỗi lần cách 5 phút
- Error notification: Nếu retry 3 lần vẫn lỗi → gửi Zalo/email cho admin
- Logging: Ghi lại mọi API call — debug dễ dàng
- Dashboard monitoring: Xem status tất cả integration real-time
Timeline phát triển
| Phase | Thời gian | Nội dung |
|---|---|---|
| Audit & Mapping | 1 tuần | Phân tích 5 hệ thống, vẽ data flow |
| Architecture Design | 1 tuần | Middleware design, API mapping |
| Core Integration | 3 tuần | WooCommerce → CRM → GHN → MISA |
| Mailchimp + Email | 1 tuần | Contact sync, email automation |
| Error Handling & Monitoring | 1 tuần | Retry, alerts, dashboard |
| Testing & UAT | 2 tuần | End-to-end test, parallel run |
| Tổng | 9 tuần |
Kết quả sau 2 tháng
| Chỉ số | Trước | Sau 2 tháng | Thay đổi |
|---|---|---|---|
| Thời gian xử lý/đơn | 15-25 phút | 0 phút (tự động) | -100% |
| Giờ nhập liệu/tháng | 433 giờ | 30 giờ (chỉ exception) | -93% |
| Lỗi nhập liệu | 50-70 lỗi/tháng | 2-3 lỗi/tháng | -95% |
| Thời gian đối chiếu cuối tháng | 4 ngày | 2 giờ | -94% |
| Đơn giao sai địa chỉ | 80-100/tháng | 5-8/tháng | -93% |
| Nhân sự cần cho data entry | 2.5 FTE | 0.3 FTE | -88% |
Tiết kiệm tài chính
| Hạng mục | Tiết kiệm/tháng |
|---|---|
| Nhân sự (2 FTE × 12 triệu) | 24 triệu VND |
| Giảm lỗi giao hàng (phí hoàn, phí giao lại) | 15 triệu VND |
| Giảm thời gian đối chiếu kế toán | 8 triệu VND |
| Tổng tiết kiệm/tháng | 47 triệu VND |
Chi phí đầu tư
| Hạng mục | Chi phí |
|---|---|
| Audit + Design | 15 triệu VND |
| Middleware Development | 80 triệu VND |
| API Integration (5 hệ thống) | 40 triệu VND |
| Testing + Training | 15 triệu VND |
| Tổng đầu tư | 150 triệu VND |
| Vận hành/tháng | |
|---|---|
| Server middleware | 1.5 triệu VND |
| Monitoring tools | 500K VND |
| Maintenance | 5 triệu VND |
| Tổng/tháng | 7 triệu VND |
ROI: Tiết kiệm 47 triệu/tháng − 7 triệu/tháng = 40 triệu net/tháng. Hoàn vốn 150 triệu VND trong ~4 tháng.
Tình huống xử lý edge cases
Edge case 1: API GHN sập
GHN API thỉnh thoảng có downtime (maintenance). Middleware xử lý:
- Retry 3 lần, cách 5 phút
- Nếu vẫn lỗi → chuyển sang GHTK (backup carrier)
- Gửi notification cho admin
- Ghi log để reconcile sau
Edge case 2: Khách hủy đơn
Khách hủy trên website → Webhook → Middleware:
- Cancel đơn GHN (nếu chưa lấy hàng)
- Update CRM: deal status → “Hủy”
- Update MISA: void invoice
- Hoàn tiền nếu đã thanh toán online
Edge case 3: Sản phẩm hết hàng giữa chừng
Đơn có 5 sản phẩm, 1 sản phẩm hết kho:
- Middleware detect → notification cho sales
- Sales liên hệ khách: giao 4 SP trước, 1 SP giao sau? hay hủy?
- Sales update trên CRM → middleware tự cập nhật GHN + MISA
Bài học
1. Middleware pattern là giải pháp tối ưu
Thay vì kết nối point-to-point (A→B, A→C, B→D…) — tạo ra N×(N-1) connections, dùng middleware: mọi hệ thống nói chuyện qua 1 điểm trung tâm. Dễ debug, dễ thêm hệ thống mới.
2. Error handling quan trọng hơn happy path
80% thời gian development dành cho edge cases: API lỗi, data thiếu, format sai, network timeout. Đây là phần quyết định hệ thống có “chạy production” được không.
3. Parallel run 2 tuần
Chạy song song hệ thống cũ (thủ công) và mới (tự động) trong 2 tuần. So sánh kết quả. Phát hiện và fix bugs trước khi tắt hệ thống cũ.
Đọc thêm: API là gì? và Tích hợp hệ thống Zapier vs API custom.
FAQ — Câu hỏi thường gặp
Nếu thay đổi 1 hệ thống (ví dụ đổi CRM), có phải làm lại không?
Không. Nhờ middleware pattern, chỉ cần sửa 1 connector (CRM connector) trong middleware. Các connector khác (GHN, MISA, Mailchimp) không bị ảnh hưởng. Thời gian đổi: 1-2 tuần thay vì rebuild toàn bộ.
Bảo mật data khi dùng API thế nào?
3 lớp bảo mật: (1) HTTPS cho tất cả API calls, (2) API keys lưu trong environment variables (không hardcode), (3) IP whitelist cho MISA và CRM API. Data không lưu trên middleware — chỉ pass-through. Audit log ghi lại mọi access. Liên hệ Trinh Digital để được tư vấn bảo mật API.
Doanh nghiệp bạn đang có nhiều hệ thống “đảo”? Liên hệ Trinh Digital để được audit miễn phí và nhận bản thiết kế tích hợp API — biến 5 hệ thống rời rạc thành 1 hệ thống thống nhất.