Nhảy đến nội dung

Giới thiệu

🎯 Mô-đun này làm gì?

Mô-đun Discounts cho phép bạn quản lý và áp dụng giảm giá cho sản phẩm và đơn hàng - từ các chương trình khuyến mãi dựa trên phần trăm đến các khoản giảm cố định - hỗ trợ mã giảm giá, giảm giá theo danh mục và các ưu đãi dành riêng cho khách hàng trong toàn bộ cửa hàng thương mại điện tử của bạn.

Hãy coi nó như là động cơ khuyến mãi của bạn - xác định các quy tắc giảm giá trong bảng điều khiển quản trị OneEntry, áp dụng chúng cho sản phẩm hoặc toàn bộ đơn hàng, xác thực mã giảm giá tại thanh toán và tự động điều chỉnh giá cho khách hàng của bạn.


📖 Giải thích đơn giản

Mỗi cửa hàng thương mại điện tử cần có giảm giá linh hoạt:

  • 🏷️ Giảm giá theo phần trăm - Giảm 10% cho các sản phẩm được chọn
  • 💰 Giảm giá cố định - Giảm $5 cho đơn hàng trên $50
  • 🎟️ Mã giảm giá - Mã khuyến mãi cho các chiến dịch cụ thể
  • 📦 Giảm giá theo danh mục - Giảm giá cho toàn bộ danh mục sản phẩm
  • 👤 Giảm giá cho khách hàng - Giá đặc biệt cho các khách hàng hoặc nhóm cụ thể
  • 📅 Ưu đãi có thời hạn - Bán hàng với thời gian bắt đầu và kết thúc xác định

Vấn đề khi không có quản lý giảm giá:

  • 🔒 Giá cả không linh hoạt - Cần thay đổi mã cho mỗi chương trình khuyến mãi
  • 📊 Khó theo dõi - Không có quản lý giảm giá tập trung
  • 🔄 Không tự động - Cập nhật giá thủ công cho mỗi lần bán

Giải pháp Discounts:

Lợi ích:

  • 🔒 Khuyến mãi linh hoạt - Tạo và quản lý giảm giá trong bảng điều khiển quản trị
  • 📊 Kiểm soát tập trung - Tất cả giảm giá ở một nơi
  • 🔄 Áp dụng tự động - Giảm giá được áp dụng tự động tại thanh toán
  • 🎟️ Xác thực mã giảm giá - Xác minh mã giảm giá theo thời gian thực

✨ Khái niệm chính

Giảm giá là gì?

Giảm giá là một quy tắc giá cả làm giảm chi phí của sản phẩm hoặc đơn hàng:

  • Loại giảm giá - Phần trăm (ví dụ: 20%) hoặc số tiền cố định (ví dụ: $10)
  • Giá trị giảm giá - Số tiền hoặc phần trăm cần giảm
  • Đánh dấu - Định danh duy nhất để lọc và tham chiếu
  • Thời gian hiệu lực - Ngày bắt đầu và kết thúc tùy chọn
  • Mã giảm giá - Mã khuyến mãi tùy chọn cho các giảm giá do khách hàng kích hoạt

Cấu trúc giảm giá

Mỗi giảm giá có cấu trúc này:

{
id: 1,
identifier: 'summer_sale',
localizeInfos: {
title: 'Summer Sale'
},
discountType: 'percentage',
discountValue: 20,
isActive: true,
validFrom: '2025-06-01T00:00:00.000Z',
validTo: '2025-08-31T23:59:59.999Z',
}

Các loại giảm giá

LoạiMô tảVí dụ
phần trămGiảm giá theo phần trămGiảm 20% cho tất cả sản phẩm mùa hè
cố địnhGiảm giá theo số tiền cố địnhGiảm $10 cho đơn hàng trên $50

Các thao tác giảm giá phổ biến

Thao tácMô tảVí dụ sử dụng
Lấy tất cả giảm giáLiệt kê tất cả các giảm giá có sẵnQuản lý giảm giá của quản trị viên
Lấy giảm giá theo đánh dấuLấy một giảm giá cụ thểHiển thị huy hiệu giảm giá
Xác thực mã giảm giáKiểm tra xem mã giảm giá có hợp lệ khôngTrường mã giảm giá tại thanh toán

Tại sao sử dụng mô-đun Discounts?

Lợi íchMô tả
Khuyến mãi tự độngKhông cần chỉnh sửa giá thủ công cho mỗi lần bán
Quản lý mã giảm giáTạo, phân phối và xác thực mã khuyến mãi
Quy tắc linh hoạtGiảm giá theo phần trăm, cố định, theo danh mục hoặc cho khách hàng
Ưu đãi có thời hạnLên lịch các chiến dịch với ngày bắt đầu/kết thúc
Hỗ trợ đa ngôn ngữTên giảm giá được địa phương hóa theo ngôn ngữ

📋 Những điều bạn cần biết

Giảm giá được tạo trong bảng điều khiển quản trị

Bạn không thể tạo giảm giá qua SDK - chúng được tạo trong bảng điều khiển quản trị OneEntry.

Quy trình tạo:

  • Cung cấp một Tên - Định danh giảm giá (bắt buộc)
  • Cung cấp một Đánh dấu - Định danh duy nhất (bắt buộc)
  • Chọn Loại giảm giá - Phần trăm hoặc số tiền cố định
  • Đặt Giá trị giảm giá - Số tiền giảm
  • Tùy chọn đặt Thời gian hiệu lực - Ngày bắt đầu và kết thúc

Xác thực mã giảm giá

Sử dụng validateDiscountsCoupon() tại thanh toán để xác minh mã giảm giá theo thời gian thực trước khi áp dụng chúng cho một đơn hàng.


💡 Lưu ý quan trọng

Giảm giá được tạo trong bảng điều khiển quản trị

Mô-đun Discounts xử lý:

  • ✅ Lấy tất cả các giảm giá đang hoạt động
  • ✅ Lấy một giảm giá cụ thể theo đánh dấu
  • ✅ Xác thực mã giảm giá tại thanh toán
  • ❌ Không tạo hoặc sửa đổi giảm giá (sử dụng bảng điều khiển quản trị)

Trách nhiệm của bạn:

  • Hiển thị huy hiệu giảm giá trên danh sách sản phẩm
  • Áp dụng các trường nhập mã giảm giá tại thanh toán
  • Hiển thị tổng giảm giá trong giỏ hàng/tóm tắt đơn hàng

📊 Bảng tham khảo nhanh

Phương thứcMô tả
getAllDiscounts()Lấy tất cả các giảm giá
getDiscountByMarker()Lấy một giảm giá đơn lẻ theo đánh dấu
validateDiscountsCoupon()Xác thực mã giảm giá

❓ Câu hỏi thường gặp (FAQ)

Làm thế nào để áp dụng giảm giá tại thanh toán?

Lấy giảm giá bằng cách sử dụng getDiscountByMarker() hoặc xác thực mã giảm giá với validateDiscountsCoupon(). Sử dụng giá trị giảm giá trả về để tính toán giá đã giảm ở phía khách hàng trước khi tạo đơn hàng.


Giảm giá có thể có ngày hết hạn không?

Có! Giảm giá có thể có các trường validFromvalidTo tùy chọn. Kiểm tra các trường này khi hiển thị giảm giá để đảm bảo chúng đang hoạt động.


Làm thế nào để hiển thị huy hiệu giảm giá trên sản phẩm?

Lấy tất cả giảm giá với getAllDiscounts(), sau đó khớp giảm giá với sản phẩm dựa trên logic kinh doanh của bạn. Hiển thị một huy hiệu sử dụng localizeInfos.titlediscountValue của giảm giá.


Điều gì xảy ra nếu mã giảm giá không hợp lệ?

validateDiscountsCoupon() trả về false nếu mã giảm giá không tồn tại hoặc đã hết hạn. Hiển thị một thông báo lỗi phù hợp cho khách hàng.


🎓 Thực hành tốt nhất

  • Lưu trữ giảm giá khi tải - Chúng thay đổi không thường xuyên; tránh gọi API lặp lại
  • Xác thực mã giảm giá phía máy chủ - Luôn xác minh trước khi áp dụng cho một đơn hàng
  • Hiển thị giảm giá rõ ràng - Hiển thị giá gốc và giá đã giảm cùng nhau
  • Xử lý giảm giá đã hết hạn - Kiểm tra validTo trước khi hiển thị một giảm giá
  • Sử dụng các đánh dấu mô tả - summer_sale_2025, không phải discount1
  • Địa phương hóa tên giảm giá - Sử dụng localizeInfos cho hỗ trợ đa ngôn ngữ

Thông tin thêm về giao diện người dùng của mô-đun https://doc.oneentry.cloud/docs/category/discounts


Định nghĩa của mô-đun Discounts


const { Discounts } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);


🔗 Tài liệu liên quan