Bỏ qua

Chuẩn hoá dữ liệu

API gateway trả nguyên văn response của nền tảng. Đó là lựa chọn có chủ ý: không lớp trung gian nào có thể làm sai lệch số liệu của bạn, và code đang chạy trực tiếp với nền tảng không phải sửa.

Cái giá của nó xuất hiện ở nền tảng thứ hai.

Vấn đề

Cùng một khái niệm, ba nền tảng ba kiểu:

TikTok Shop Shopee TikTok Ads
Mã đơn order_id order_sn —
Thời gian Unix epoch Unix epoch, múi giờ khác Chuỗi YYYY-MM-DD HH:MM:SS
Tiền Chuỗi, đơn vị nhỏ nhất Số, tuỳ trường Chuỗi, theo tiền tệ tài khoản
Trạng thái đơn Bộ enum riêng Bộ enum riêng —
Doanh thu thực nhận Trong statement_transactions Trong get_escrow_detail —

Ghép chúng lại là công việc mà mọi đội đều đánh giá thấp. Không phải vì khó về kỹ thuật, mà vì nó không bao giờ xong: nền tảng đổi enum, thêm loại phí, đánh phiên bản endpoint mới theo tháng.

Cái bẫy hay gặp nhất: doanh thu tính từ giá bán

Giá trên đơn hàng không phải tiền bạn nhận. Phí sàn, phí thanh toán, phí vận chuyển, voucher của sàn và trợ giá đều nằm ở một endpoint đối soát khác. Báo cáo dựng từ giá bán thường lệch hàng chục phần trăm — và lệch không đều giữa các nền tảng, nên so sánh kênh cũng sai theo.

Logidata làm gì

Một mô hình dữ liệu chung, đã chạy production cho khách hàng hiện tại:

Dữ liệu thô của từng nền tảng
        │   giữ nguyên, không mất mát — luôn truy ngược được
        ▼
   Tầng staging          mỗi nền tảng một bảng, đã ép kiểu và chuẩn múi giờ
        │
        ▼
   Kho dữ liệu           fact_order, fact_order_item, fact_ads
   (mô hình sao)         + dim_shop, dim_channel, dim_product, dim_date,
        │                  dim_customer, dim_order_status, …
        ▼
   Tầng mart             fact_pnl_order, fact_pnl_order_item,
                         fact_pnl_expense — lãi lỗ đã ghép chi phí quảng cáo

Điều này nghĩa là gì trong thực tế:

Một bảng đơn hàng cho mọi nền tảng. Shopee, TikTok Shop và đơn từ hệ thống bán hàng (Nhanh.vn) nằm chung fact_order, phân biệt bằng dim_channel. Câu hỏi "tổng doanh thu tháng này theo kênh" là một câu SQL, không phải một dự án.

Doanh thu là tiền thực nhận. Dữ liệu đối soát được kéo về và ghép vào từng đơn, nên con số trong kho là số Logidata đã trừ phí sàn — không phải giá niêm yết.

Sản phẩm được khớp giữa các kênh. dim_platform_sku ánh xạ mã SKU của từng nền tảng về một sản phẩm chung, nên bạn xem được hiệu quả của một sản phẩm trên tất cả kênh cùng lúc.

Chi phí quảng cáo ghép được với đơn hàng. fact_ads dùng chung bộ dimension với fact_order, và tầng mart có sẵn bảng lãi lỗ theo đơn và theo dòng hàng. Đây là thứ mà API thô không thể cho bạn: chi phí và doanh thu nằm ở hai hệ thống ID hoàn toàn khác nhau.

Định nghĩa đổi thì đổi một chỗ. Khi nền tảng thêm một loại phí mới, Logidata cập nhật tầng chuẩn hoá. Báo cáo của bạn nhận thay đổi mà không phải sửa gì.

Bạn nhận dữ liệu ở đâu

Vào kho dữ liệu — PostgreSQL do Logidata vận hành, hoặc kho sẵn có của bạn. Từ đó Power BI, Looker Studio, Metabase, hay bất cứ công cụ nào nói được SQL đều cắm thẳng vào.

Dữ liệu đã chuẩn hoá cũng chính là dữ liệu mà trợ lý dữ liệu truy vấn — đó là lý do trợ lý trả lời được câu hỏi vắt qua nhiều nền tảng.

Khi nào nên cân nhắc

  • Bạn đã nối từ hai nền tảng trở lên và đang tự viết code ghép chúng.
  • Báo cáo doanh thu của bạn dựng từ giá bán, chưa trừ phí sàn.
  • Bạn cần lãi lỗ theo sản phẩm hoặc theo đơn, có tính chi phí quảng cáo.
  • Mỗi lần nền tảng đổi API là một lần cả đội phải dừng việc khác để sửa.

Nếu bạn chỉ dùng một nền tảng và đã có kho dữ liệu, API gateway có thể là đủ. Đừng mua tầng bạn chưa cần.

Tổng quan các tầng nâng cao · Đồng bộ tự động