Push NotificationsNotification Endpoint
Hủy đăng ký Endpoint
Hủy đăng ký (soft-disable) endpoint nhận thông báo của khách hàng đang đăng nhập.
Endpoint
POST /site/notificationendpoints/unregister
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 cho phép khách hàng đang đăng nhập hủy đăng ký endpoint nhận thông báo của mình. Endpoint sẽ bị soft-disable (chuyển status sang DISABLED), không bị xóa khỏi database để giữ lại lịch sử.
Quy trình xử lý
-
Xác thực Session: Kiểm tra JWT token và xác định
company_id+customer_idtừ tokenSiteAuthorization. -
Validate dữ liệu: Kiểm tra các trường bắt buộc (
channel_type,app_code). -
Tự động gán ngữ cảnh:
company_id→ lấy từ session.owner_type→ luôn là3(CUSTOMER).owner_id→ lấy từcustomer_idtrong session.
-
Disable bằng Owner-Scope: Tìm endpoint ACTIVE theo tổ hợp
(company_id, owner_type, owner_id, channel_type, app_code)và chuyểnstatussangDISABLED. -
Trả kết quả: Trả về trạng thái hủy đăng ký.
Request Body
{
"channel_type": 9, // Loại kênh cần hủy (bắt buộc)
"app_code": "pos" // Mã ứng dụng cần hủy (bắt buộc)
}Response Schema (200)
{
"status": "disabled",
"message": "Endpoint disabled"
}Nếu không tìm thấy endpoint ACTIVE phù hợp:
{
"status": "not_found",
"message": "No active endpoint found"
}Lỗi thường gặp (422)
| Mã lỗi | Mô tả |
|---|---|
error_channel_type_required | channel_type không được để trống hoặc phải > 0. |
error_app_code_required | app_code không được để trống. |
Error Codes
| HTTP | Mã lỗi | Mô tả |
|---|---|---|
| 401 | error_customer_login_required | Thiếu SiteAuthorization hoặc token không hợp lệ/hết hạn. |
| 401 | error_customer_company_mismatch | Token khách hàng không thuộc shop của SiteTenantId. |
| 404 | error_company_not_found_from_site_tenant_id | SiteTenantId không hợp lệ hoặc shop không còn hoạt động. |