Skip to content

Thu hồi Sản phẩm (Product Recall)

Hệ thống thu hồi sản phẩm cho phép cơ quan quản lý (Gov) ra lệnh thu hồi, doanh nghiệp xác nhận, và người tiêu dùng nhận cảnh báo khi quét mã.


Tổng quan luồng

Cơ quan quản lý (Gov)          Doanh nghiệp (Enterprise)         Đại lý + Người tiêu dùng
        │                              │                                │
  1. Phát hiện vi phạm                 │                                │
  2. Nhấn "Cảnh báo"                  │                                │
  3. Gửi yêu cầu recall ──────►  4. Nhận thông báo                    │
        │                         5. Xem chi tiết                      │
        │                         6. Xác nhận / Từ chối                │
        │                              │                                │
        │                      [Nếu XÁC NHẬN]                          │
        │                         7. Toàn bộ tem → RECALLED ───►  8. Đại lý nhận thông báo
        │                              │                           9. Quét mã → Banner đỏ

Vai trò trong quy trình

Vai tròQuyềnMô tả
Gov (Cơ quan quản lý)Gửi yêu cầu recallXem dashboard, nhấn "Cảnh báo" trên sản phẩm vi phạm
TENANT_ADMINXác nhận / Từ chốiXem yêu cầu thu hồi, quyết định xác nhận hoặc từ chối
DEALERNhận thông báoNhận thông báo ngừng bán sản phẩm bị thu hồi
Người tiêu dùngXem cảnh báoQuét QR thấy banner cảnh báo đỏ

1. Cơ quan quản lý gửi yêu cầu thu hồi

Đường dẫn: /gov/dashboard

Thao tác

  1. Truy cập Gov Dashboard
  2. Tìm sản phẩm trong bảng "Sản phẩm tiêu biểu"
  3. Nhấn nút "Cảnh báo" (màu đỏ)
  4. Xác nhận trong popup → Hệ thống gửi yêu cầu

API Backend

POST /api/gov/products/:id/recall-request
Body: { "reason": "Phát hiện vi phạm tiêu chuẩn chất lượng" }

Kết quả

  • Sản phẩm chuyển sang govStatus = PENDING_RECALL
  • Thông báo RECALL được gửi đến toàn bộ TENANT_ADMIN của doanh nghiệp

2. Doanh nghiệp xử lý yêu cầu thu hồi

Đường dẫn: /supply/recalls

Quản lý Thu hồi

Thống kê

ThẻMô tả
Chờ xác nhậnSố sản phẩm đang chờ doanh nghiệp xử lý
Đã thu hồiSố sản phẩm đã xác nhận thu hồi
Đã từ chốiSố sản phẩm đã từ chối thu hồi

Bảng danh sách

CộtMô tả
Sản phẩmTên + Mã sản phẩm
Trạng thái⏳ Chờ xác nhận / 🚨 Đã thu hồi / ✅ Đã từ chối
Lý do thu hồiLý do từ cơ quan quản lý
Ngày yêu cầuThời điểm nhận yêu cầu
Ngày xử lýThời điểm xác nhận hoặc từ chối
Thao tácXác nhận Thu hồi / Từ chối

Xác nhận Thu hồi

  1. Nhấn "Xác nhận Thu hồi" (nút đỏ)
  2. Đọc cảnh báo: "Tất cả tem Active và đang tại đại lý sẽ bị chuyển sang RECALLED"
  3. Nhấn "Thu hồi ngay"

Kết quả:

  • govStatusRECALLED
  • Toàn bộ tem Active + AT_DEALER → RECALLED
  • Đại lý nhận thông báo ngừng bán
  • Người tiêu dùng quét QR sẽ thấy banner cảnh báo đỏ

Từ chối Thu hồi

  1. Nhấn "Từ chối" (nút xanh)
  2. Nhập lý do từ chối (bắt buộc)
  3. Nhấn "Gửi"

Kết quả:

  • govStatusRECALL_REJECTED
  • Cơ quan quản lý sẽ thấy lý do từ chối trên Dashboard

3. Trạng thái vòng đời Thu hồi

NORMAL ──► PENDING_RECALL ──┬──► RECALLED

                            └──► RECALL_REJECTED
Trạng tháiBadgeÝ nghĩa
NORMAL🟢 Bình thườngSản phẩm hoạt động bình thường
PENDING_RECALL🟡 Chờ xác nhậnCơ quan quản lý đã gửi yêu cầu thu hồi
RECALLED🔴 Đã thu hồiDoanh nghiệp xác nhận → Toàn bộ tem bị vô hiệu
RECALL_REJECTED🟢 Đã từ chốiDoanh nghiệp từ chối yêu cầu (kèm lý do)

4. Cảnh báo người tiêu dùng

Khi người tiêu dùng quét mã QR sản phẩm đã bị thu hồi:

Trên Zalo Mini App

  • Banner đỏ lớn hiển thị ngay dưới thông tin sản phẩm
  • Tiêu đề: 🚨 SẢN PHẨM ĐÃ BỊ THU HỒI
  • Nội dung: Lý do thu hồi + Ngày thu hồi
  • Cảnh báo: "Vui lòng NGỪNG SỬ DỤNG và liên hệ nhà sản xuất"

Trên Web (truy xuất công khai)

  • Trang truy xuất vẫn hiển thị đầy đủ thông tin sản phẩm
  • Nhưng có banner cảnh báo nổi bật phía trên
  • Màu sắc: Đỏ (RECALLED) / Vàng (PENDING_RECALL)

💡 Lưu ý: Thông tin sản phẩm vẫn hiển thị đầy đủ để người tiêu dùng biết mình đang có sản phẩm gì. Chỉ thêm cảnh báo, không chặn truy cập.


5. Thông báo tự động

Hệ thống tự động gửi thông báo qua module Notification:

Sự kiệnNgười nhậnNội dung
Yêu cầu thu hồiTENANT_ADMIN⚠️ Yêu cầu thu hồi: [Tên SP]. Lý do: ...
Xác nhận thu hồiDEALER🚨 Thu hồi sản phẩm: [Tên SP]. Ngừng bán và liên hệ doanh nghiệp

6. API Reference

MethodEndpointMô tảVai trò
POST/api/gov/products/:id/recall-requestGửi yêu cầu thu hồiGov
GET/api/gov/products/:id/recall-statusXem trạng thái thu hồiGov
GET/api/gov/recalls/pendingDanh sách sản phẩm cần xử lýEnterprise
POST/api/gov/products/:id/confirm-recallXác nhận thu hồiEnterprise
POST/api/gov/products/:id/reject-recallTừ chối thu hồiEnterprise

Tiếp theo

Tài liệu hướng dẫn sử dụng TrustID