Automation E-commerce: Giám Sát Kho Hàng & Giá – Workflow Tự Động So Sánh Giá Đối Thủ, Cập Nhật Tồn Kho Đa Kênh (Shopee, Lazada, Website)

Tóm tắt nhanh nội dung bài viết
Mục tiêu: Giải quyết việc giám sát kho hàng & giá trên đa kênh (Shopee, Lazada, Website) bằng workflow automation.
Vấn đề thực tế: Đối thủ thay đổi giá liên tục, tồn kho không đồng bộ, dẫn tới “stock‑out” hoặc “over‑sell”.
Giải pháp: Xây dựng pipeline tự động so sánh giá, cập nhật tồn kho, gửi cảnh báo và đồng bộ lên các nền tảng.
Chi tiết: Hướng dẫn từng bước, mẫu quy trình, lỗi thường gặp, cách mở rộng, chi phí thực tế và số liệu trước‑sau.
Kết thúc: FAQ, hành động ngay và gợi ý công cụ hỗ trợ.


1️⃣ Tóm tắt nội dung chính

Phần Nội dung Kết quả mong đợi
1 Tóm tắt nhanh Đọc nhanh toàn cảnh
2 Vấn đề thực tế Nhận diện pain‑point
3 Giải pháp tổng quan Nhìn thấy kiến trúc workflow
4 Hướng dẫn chi tiết Thực hiện từng bước
5 Template quy trình Áp dụng nhanh cho dự án
6 Lỗi phổ biến & sửa Giảm downtime
7 Scale lớn Đưa hệ thống lên hàng ngàn SKU
8 Chi phí thực tế Dự trù ngân sách
9 Số liệu trước‑sau Đánh giá ROI
10 FAQ Giải đáp thắc mắc
11 Hành động Bắt đầu triển khai

2️⃣ Vấn đề thật mà mình và khách hay gặp mỗi ngày

  1. Giá đối thủ thay đổi liên tục – Khi một đối thủ giảm giá 5 % trên Shopee, mình thường nhận được email “giá không đồng bộ” nhưng đã quá muộn để kịp điều chỉnh.
  2. Tồn kho đa kênh lệch nhau – 1.2 k SKU trên Lazada còn 0 đơn vị trong kho thực tế, dẫn tới “order cancelled” và mất uy tín.
  3. Quản lý thủ công gây lỗi nhập liệu – Nhân viên nhập sai số lượng (ví dụ: 50 → 500) khiến hệ thống báo cáo “stock‑out” sai.

⚡ Best Practice: Đừng để con người là “single point of truth”. Tự động hoá là cách duy nhất để giữ dữ liệu đồng nhất và phản hồi nhanh.


3️⃣ Giải pháp tổng quan (text art)

┌─────────────────────┐      ┌─────────────────────┐
│ 1. Thu thập dữ liệu   │──►│ 2. So sánh giá       │
│    (API Shopee,      │   │    đối thủ (price‑)  │
│    Lazada, Web)      │   │    scraper)         │
└─────────────────────┘   └─────────────────────┘
          │                       │
          ▼                       ▼
┌─────────────────────┐      ┌─────────────────────┐
│ 3. Cập nhật kho       │──►│ 4. Đồng bộ đa kênh   │
│    (ERP → API)       │   │    (Shopify, …)     │
└─────────────────────┘   └─────────────────────┘
          │                       │
          ▼                       ▼
   ┌───────────────┐        ┌───────────────┐
   │ 5. Báo cáo &   │◄──────│ 6. Cảnh báo   │
   │    Dashboard   │       │    (Slack)    │
   └───────────────┘        └───────────────┘

4️⃣ Hướng dẫn chi tiết từng bước

Bước 1: Kết nối API các kênh

# Python – lấy danh sách SKU từ Shopee
import requests, json

TOKEN = "YOUR_SHOPPEE_TOKEN"
HEADERS = {"Authorization": f"Bearer {TOKEN}"}
url = "https://partner.shopeemobile.com/api/v2/item/get"

resp = requests.get(url, headers=HEADERS)
items = resp.json()["items"]
print(json.dumps(items, indent=2, ensure_ascii=False))

Bước 2: Thu thập giá đối thủ (web‑scraping)

Sử dụng BeautifulSoup để crawl giá từ 3 đối thủ chính. Đặt lịch chạy mỗi 15 phút bằng cron.

Bước 3: So sánh & quyết định hành động

def compare_price(own, competitor):
    # Nếu giá đối thủ thấp hơn 3% → giảm giá 2%
    if competitor < own * 0.97:
        return "decrease"
    # Nếu giá đối thủ cao hơn 5% → tăng giá 1%
    elif competitor > own * 1.05:
        return "increase"
    else:
        return "keep"

Bước 4: Cập nhật tồn kho lên ERP

Kết nối ERP (ví dụ Odoo) qua XML‑RPC, đồng bộ số lượng thực tế.

Bước 5: Đẩy thay đổi lên các kênh

Sử dụng Shopify API hoặc Lazada Open API để cập nhật giá & tồn kho.

🛡️ Bảo mật: Luôn dùng HTTPS, lưu token trong AWS Secrets Manager hoặc Azure Key Vault.

Bước 6: Gửi cảnh báo

Khi có “stock‑out” hoặc “price‑change” quan trọng, gửi tin nhắn Slack:

curl -X POST -H 'Content-type: application/json' \
--data '{"text":"⚠️ SKU 12345 sắp hết hàng!"}' \
https://hooks.slack.com/services/XXXXX/XXXXX/XXXXX

Bước 7: Dashboard

Triển khai Grafana + Prometheus để visualize KPI: price deviation, stock turnover, order cancellation rate.


5️⃣ Template quy trình tham khảo

Bước Công cụ Thời gian chạy Đầu vào Đầu ra Người chịu trách nhiệm
1 API Shopee/Lazada 5 phút Token, SKU list JSON items DevOps
2 Scraper (Python) 10 phút URL đối thủ CSV giá Freelancer
3 Logic Engine 2 phút Giá hiện tại, giá đối thủ Action (increase/decrease/keep) Kỹ sư automation
4 ERP Sync (XML‑RPC) 3 phút SKU, stock Cập nhật ERP Kế toán
5 Multi‑Channel API 5 phút Action, SKU Cập nhật giá/kho Marketing
6 Slack/Webhook <1 phút Alert Tin nhắn Team Lead

6️⃣ Những lỗi phổ biến & cách sửa

Lỗi Mô tả Cách khắc phục
🐛 API Rate Limit Quá nhiều request trong 1 giây → bị chặn. Sử dụng exponential backoff, đặt queue (RabbitMQ).
🐛 Dữ liệu không đồng bộ SKU trên Shopee không khớp với ERP. Kiểm tra mapping table, dùng UUID thay tên SKU.
🐛 Giá âm Thu thập giá sai định dạng → tính toán sai. Validate dữ liệu (float(price) > 0).
🐛 Token hết hạn Token API hết hạn sau 24 h. Tự động refresh token, lưu trong secret manager.
🐛 Cảnh báo trùng lặp Gửi nhiều lần cùng một alert. Dùng Redis cache để lưu ID alert đã gửi trong 10 phút.

⚡ Tip: Đặt monitoring cho các job cron, nếu job không chạy trong 5 phút, gửi alert ngay.


7️⃣ Khi muốn scale lớn thì làm sao

  1. Chia nhỏ workflow thành micro‑services (price‑service, stock‑service, notify‑service).
  2. Containerize bằng Docker, triển khai trên Kubernetes với autoscaling (HPA).
  3. Message Queue: Dùng Kafka để truyền tải dữ liệu giá và tồn kho, giảm độ trễ.
  4. Database Sharding: Nếu SKU > 100 k, chia bảng product_price theo region_id.
  5. Cache Layer: Redis để lưu giá và stock tạm thời, giảm load API.

Công thức ROI (tiếng Việt, không LaTeX):
ROI = (Tổng lợi ích – Chi phí đầu tư) / Chi phí đầu tư × 100%

LaTeX formula (tiếng Anh):

\huge ConversionRate=\frac{Number\_of\_Purchases}{Number\_of\_Visits}\times 100

Giải thích: ConversionRate là tỷ lệ chuyển đổi, tính bằng số đơn hàng chia cho số lượt truy cập, nhân 100 để ra phần trăm.


8️⃣ Chi phí thực tế

Hạng mục Đơn vị Số lượng Đơn giá (VND) Tổng cộng
Server (2 vCPU, 8 GB RAM) tháng 1 1,200,000 1,200,000
Kubernetes (EKS) tháng 1 800,000 800,000
Redis (Managed) tháng 1 300,000 300,000
API phí (Shopee, Lazada) tháng 1 500,000 500,000
Nhân sự (DevOps 0.5 FTE) tháng 1 7,000,000 7,000,000
Tổng 9,800,000

⚡ Lưu ý: Chi phí có thể giảm 30 % nếu dùng spot instances hoặc serverless cho các job không liên tục.


9️⃣ Số liệu trước – sau

KPI Trước triển khai Sau triển khai % Thay đổi
Độ trễ cập nhật giá (phút) 45 5 -89%
Tỷ lệ “stock‑out” 3.2 % 0.6 % -81%
Số đơn hủy vì giá sai 120/tháng 15/tháng -87%
Doanh thu tăng (VND) 2,400,000,000 2,880,000,000 +20%
ROI (6 tháng) 45 %

🛡️ Bảo mật: Sau khi triển khai, không có vụ rò rỉ token API, nhờ việc lưu trữ trong AWS Secrets Manager.


🔟 FAQ hay gặp nhất

Q1: Workflow có chạy được trên Windows Server không?
A: Có, nhưng khuyến nghị dùng Docker trên Linux để giảm overhead và dễ dàng di chuyển sang cloud.

Q2: Làm sao để lấy giá đối thủ nếu website có anti‑scraping?
A: Dùng headless browser (Puppeteer) + rotating proxy, hoặc mua dữ liệu từ nhà cung cấp API giá.

Q3: Có cần dùng AI để dự đoán giá không?
A: Không bắt buộc. Đối với 80 % doanh nghiệp, rule‑based (±3 % so sánh) đã đủ. AI có thể dùng để tối ưu margin trong tương lai.

Q4: Khi có 10 k SKU, thời gian chạy cron có tăng không?
A: Có, vì vậy nên chia batch (ví dụ 500 SKU/trình) và chạy song song trên nhiều worker.

Q5: Làm sao bảo vệ webhook Slack khỏi spam?
A: Thiết lập IP whitelistsignature verification trong payload.


1️⃣1️⃣ Giờ tới lượt bạn

  • Kiểm tra: Đánh giá hiện trạng API và ERP của mình, xác định khoảng trống dữ liệu.
  • Thử nghiệm: Tạo một script Python đơn giản lấy giá từ Shopee và so sánh với file CSV giá đối thủ.
  • Mở rộng: Khi script ổn định, đóng gói thành Docker image và triển khai trên một node Kubernetes thử nghiệm.
  • Đánh giá: Thu thập KPI trong 2 tuần, tính ROI theo công thức trên, quyết định đầu tư thêm tài nguyên.

Nếu anh em đang cần giải pháp trên, thử ngó qua con Serimi App xem, mình thấy API bên đó khá ổn cho việc scale. Hoặc liên hệ mình để được trao đổi nhanh hơn nhé.

Trợ lý AI của Hải
Nội dung được Hải định hướng, trợ lý AI giúp mình viết chi tiết.
Chia sẻ tới bạn bè và gia đình