Skip to content

SLA & Escalation

Hệ thống SLA trong @nx/helpdesk theo dõi hai deadline cho mỗi ticket: thời gian first responsethời gian resolution. Khi ngưỡng bị vượt, các worker BullMQ tự động escalate và gửi thông báo.

Mức SLA Mặc định

PriorityCodeResponseResolution
Low10024 giờ72 giờ
Normal2008 giờ24 giờ
High3004 giờ12 giờ
Urgent4001 giờ4 giờ

Data Model

SlaPolicy

CộtTypeMô tả
idbigintSnowflake ID
namejsonbTên policy (i18n: {en, vi})
prioritysmallintMức priority (100/200/300/400)
responseTimeMinutesintThời gian response cho phép (phút)
resolutionTimeMinutesintThời gian resolution cho phép (phút)
warningThresholdPercentsmallintNgưỡng cảnh báo (mặc định 75%)
criticalThresholdPercentsmallintNgưỡng critical (mặc định 90%)
escalationRulesjsonb[]Định nghĩa rule auto-escalation
businessHoursOnlybooleanChỉ đếm trong giờ làm việc
isActivebooleanPolicy có đang hiệu lực không

SlaTracker

Theo dõi tiến độ SLA cho mỗi ticket:

CộtTypeMô tả
ticketIdbigintFK → Ticket
slaPolicyIdbigintFK → SlaPolicy
responseDeadlinetimestampDeadline response từ khi tạo ticket
resolutionDeadlinetimestampDeadline resolution
firstResponseAttimestampMốc thời gian first response thực tế
resolvedAttimestampMốc thời gian resolution thực tế
firstResponseStatus / resolutionStatusenumOK / WARNING / BREACHED (SlaStatuses)
warningTriggeredAttimestampKhi cảnh báo được gửi
breachTriggeredAttimestampKhi vi phạm được ghi nhận

SlaEscalation

Lịch sử các event escalation:

CộtTypeMô tả
ticketIdbigintFK → Ticket
levelsmallintLevel escalation (1/2/3)
reasontextLý do escalation
escalatedAttimestampMốc thời gian escalation
handledBybigintAgent xử lý escalation

Luồng Vi phạm SLA (End-to-End)

Tag SLA Tự Áp dụng

TagĐiều kiệnMô tả
SLA_BREACHEDVượt 100% deadlineSLA bị vi phạm
OVERDUEDeadline đã quaQuá deadline resolution
CRITICAL_BREACHVượt 150% deadlineVi phạm critical, kích hoạt tái phân công

REST API

Chính sách SLA được phục vụ dưới /sla-policies (RestPaths.SLA) bởi SlaController — tham khảo endpoint đầy đủ render trực tiếp từ /v1/api/helpdesk/doc/openapi.json. Bảng endpoint cố ý không duy trì thủ công.

Use Case SLA

Use CaseMô tả
CreateSlaPolicyUseCaseTạo một chính sách SLA mới
UpdateSlaPolicyUseCaseCập nhật tham số SLA
DeleteSlaPolicyUseCaseGỡ một policy
GetSlaPolicyByIdUseCaseLấy chi tiết policy
ListSlaPoliciesUseCaseLiệt kê tất cả policy
InitializeSlaTrackerUseCaseTạo tracker khi ticket được tạo
MarkFirstResponseUseCaseGhi nhận first response của agent
MarkResolvedUseCaseGhi nhận resolution ticket
CalculateBatchSlaStatusUseCaseTính status SLA theo batch
BulkMarkSlaWarningUseCaseÁp dụng cờ cảnh báo hàng loạt
BulkMarkSlaBreachedUseCaseÁp dụng cờ vi phạm hàng loạt
TriggerSlaCheckUseCaseTrigger một kiểm tra thủ công
ProcessEscalationUseCaseXử lý một event escalation đơn lẻ
RunSlaMonitorUseCaseThực thi một lượt quét SLA monitor

Workers

WorkerHàng đợiTần suấtChức năng
sla-monitor.workerhelpdesk.sla-monitorCron (1 phút)Quét tracker đang gần hoặc quá deadline
escalation.workerhelpdesk.escalationJob delayedXử lý escalation Level 2 và Level 3

Tái phân công cho senior agent ở Level 2+ hiện bị tắt trong code (chỉ thông báo). Xem Vận hành → Vấn đề đã biết.

Đền bù (CompensationCalculatorService)

Khi xảy ra vi phạm SLA, đền bù được tính theo một ma trận:

Tiêu chíMô tả
Tier khách hàngVIP / PREMIUM / STANDARD
Priority ticketLOW / NORMAL / HIGH / URGENT
Thời lượng vi phạmThời gian đã trôi qua deadline
Level escalationChỉ kích hoạt từ Level 2 trở lên

Kết quả được lưu vào bảng Compensation để xử lý offline.

Trang liên quan

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.