Danh sách sản phẩm yêu thích
Lấy danh sách sản phẩm yêu thích (wishlist) của khách hàng đang đăng nhập.
Endpoint
GET /site/customerwishlists
Headers
| Key | Value | Bắt buộc | Mô tả |
|---|---|---|---|
SiteTenantId | {tenant_id} | Có | ID của công ty/tenant. |
SiteAuthorization | {jwt_token} | Có | Token định danh khách hàng sau khi đăng nhập. |
Workflow & Logic
API này dùng để lấy danh sách sản phẩm yêu thích (wishlist) của khách hàng đang đăng nhập. Hỗ trợ phân trang và lọc theo product_id để kiểm tra nhanh trạng thái yêu thích của một sản phẩm cụ thể.
Quy trình xử lý
-
Xác thực Session: Kiểm tra JWT token và xác định
company_id+customer_idtừ token. Yêu cầu đăng nhập bắt buộc. -
Tự động gán bộ lọc:
company_id→ lấy từ session (đảm bảo chỉ lấy wishlist của tenant hiện tại).customer_id→ lấy từ session (đảm bảo chỉ lấy wishlist của chính khách hàng đang đăng nhập).
-
Lọc tùy chọn: Hỗ trợ lọc thêm theo
product_idqua query parameter — hữu ích khi muốn kiểm tra khách hàng đã yêu thích một sản phẩm cụ thể hay chưa. -
Phân trang: Mặc định sắp xếp theo
id DESC(mới nhất trước), tối đa 100 bản ghi mỗi trang. -
Trả kết quả: Trả về danh sách wishlist items kèm tổng số lượng và thông tin phân trang.
Query Parameters
| Tên | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
product_id | integer | Không | Lọc theo ID sản phẩm. Dùng để kiểm tra sản phẩm đã nằm trong wishlist chưa. |
page | integer | Không | Trang hiện tại. Mặc định là 1. |
limit | integer | Không | Số bản ghi mỗi trang. Mặc định và tối đa là 100. |
Response Schema
HTTP 200 - Thành công
{
"total": 15,
"currentpage": 1,
"limit": 100,
"items": [
{
"id": 101,
"company_id": 123,
"creator_id": 456,
"product_id": 789,
"from": 1,
"ip_address": "192.168.1.1",
"date_created": 1740300000,
"date_modified": 0
}
]
}| Trường | Kiểu | Mô tả |
|---|---|---|
total | integer | Tổng số bản ghi thỏa điều kiện lọc. |
currentpage | integer | Trang hiện tại. |
limit | integer | Số bản ghi tối đa mỗi trang. |
items | array | Danh sách wishlist items. |
Mỗi item trong mảng items là một đối tượng Customer Wishlist Object.
HTTP 401 - Unauthorized
Nếu không gửi token (error_customer_login_required), token không hợp lệ/hết hạn/đã đăng xuất (error_jwt_hash_not_found, error_jwt_expired, error_jwt_blacklisted...) hoặc là token của khách hàng thuộc shop khác (error_customer_company_mismatch). Xem Giới thiệu.