CRM Vấn đề
POST /issue/count - Đếm số lượng Issue
Query Parameters (body - Issue_IssueFilterDTO)
| Param | Type | Operator | Description |
|---|---|---|---|
id |
IdFilter |
equal/in | ID vấn đề |
code |
StringFilter |
contains | Mã vấn đề |
creatorId |
IdFilter |
equal | ID người tạo |
issueStatusId |
IdFilter |
equal | ID trạng thái vấn đề |
customerTypeId |
IdFilter |
equal | ID loại khách hàng |
issueTypeId |
IdFilter |
equal | ID loại vấn đề |
createdAt |
DateFilter |
range | Ngày tạo |
ticketId |
IdFilter |
equal | ID ticket liên quan |
issueSourceId |
IdFilter |
equal | ID nguồn vấn đề |
POST /issue/list - Danh sách Issue (Master Table)
Response Fields - IssueDTO
| Field | Type | Description |
|---|---|---|
id |
long |
ID vấn đề |
code |
string |
Mã vấn đề |
title |
string |
Tiêu đề |
description |
string |
Mô tả vấn đề |
creatorId |
long? |
ID người tạo |
creator |
AppUserDTO |
Người tạo |
issueStatusId |
long |
ID trạng thái |
issueStatus |
IssueStatusDTO |
Trạng thái |
issueTypeId |
long? |
ID loại vấn đề |
issueType |
IssueTypeDTO |
Loại vấn đề |
issueSourceId |
long? |
ID nguồn vấn đề |
issueSource |
IssueSourceDTO |
Nguồn vấn đề |
customerId |
long? |
ID khách hàng |
customer |
CustomerDTO |
Khách hàng |
customerDraft |
string |
Tên KH nháp |
phoneNumberDraft |
string |
SĐT nháp |
dormitory |
string |
Khu nhà/ký túc xá |
address |
string |
Địa chỉ |
appUserId |
long |
ID nhân viên phụ trách |
appUser |
AppUserDTO |
Nhân viên phụ trách |
ticketId |
long? |
ID ticket liên quan |
ticket |
TicketDTO |
Ticket liên quan |
resolveContent |
string |
Nội dung giải quyết |
completedAt |
datetime? |
Ngày hoàn thành |
rowId |
guid |
Row ID |
createdAt |
datetime |
Ngày tạo |
updatedAt |
datetime |
Ngày cập nhật |
Nested Objects
issueStatus - IssueStatusDTO
| Field | Type | Description |
|---|---|---|
id |
long |
ID trạng thái |
code |
string |
Mã trạng thái |
name |
string |
Tên trạng thái (mới/đang xử lý/hoàn thành) |
issueType - IssueTypeDTO
| Field | Type | Description |
|---|---|---|
id |
long |
ID loại vấn đề |
code |
string |
Mã loại |
name |
string |
Tên loại vấn đề |
issueSource - IssueSourceDTO
| Field | Type | Description |
|---|---|---|
id |
long |
ID nguồn vấn đề |
code |
string |
Mã nguồn |
name |
string |
Tên nguồn (CRM/IOT/Email/...) |
creator - AppUserDTO
| Field | Type | Description |
|---|---|---|
id |
long |
ID nhân viên |
displayName |
string |
Tên hiển thị |
username |
string |
Tên đăng nhập |
email |
string |
|
phone |
string |
Số điện thoại |
organizationId |
long |
ID đơn vị |
organization |
OrganizationDTO |
Đơn vị (Name) |
customer - CustomerDTO
| Field | Type | Description |
|---|---|---|
id |
long |
ID khách hàng |
code |
string |
Mã khách hàng |
name |
string |
Tên khách hàng |
phone |
string |
Số điện thoại |
email |
string |
|
address |
string |
Địa chỉ |
customerTypeId |
long |
ID loại khách hàng |
customerType |
CustomerTypeDTO |
Loại khách hàng |
nation |
NationDTO |
Quốc gia |
province |
ProvinceDTO |
Tỉnh/thành |
district |
DistrictDTO |
Quận/huyện |
statusId |
long |
Trạng thái |
status |
StatusDTO |
Trạng thái |
organizationId |
long |
ID đơn vị |
appUser |
AppUserDTO |
Nhân viên phụ trách |
customerEmails |
List<CustomerEmailDTO> |
Danh sách email |
customerPhones |
List<CustomerPhoneDTO> |
Danh sách số điện thoại |
rowId |
guid |
Row ID |
createdAt |
datetime |
Ngày tạo |
updatedAt |
datetime |
Ngày cập nhật |
ticket - TicketDTO (issue context - rút gọn)
| Field | Type | Description |
|---|---|---|
id |
long |
ID ticket |
code |
string |
Mã ticket |
name |
string |
Tên ticket |
ticketStatusId |
long |
ID trạng thái ticket |
ticketStatus |
TicketStatusDTO |
Trạng thái ticket |
issueFileMappings - List<IssueFileMappingDTO>
| Field | Type | Description |
|---|---|---|
issueId |
long |
ID vấn đề |
fileId |
long |
ID file |
file |
FileDTO |
File đính kèm |
issueHistories - List<IssueHistoryDTO>
| Field | Type | Description |
|---|---|---|
id |
long |
ID lịch sử |
issueId |
long |
ID vấn đề |
appUserId |
long? |
ID nhân viên |
issueStatusId |
long |
ID trạng thái |
actionName |
string |
Tên hành động |
time |
datetime |
Thời gian |
appUser |
AppUserDTO |
Nhân viên thực hiện |
issueStatus |
IssueStatusDTO |
Trạng thái tại thời điểm đó |
POST /issue/get - Chi tiết Issue
Trả về đầy đủ IssueDTO + tất cả nested objects (bao gồm issueHistories và issueFileMappings chi tiết).
POST /issue/create /update /delete - CRUD
Body là Issue_IssueDTO.
POST /issue/create-outside - Tạo Issue từ bên ngoài
| Field | Type | Description |
|---|---|---|
title |
string |
Tiêu đề |
description |
string |
Mô tả vấn đề |
issueStatusId |
long |
ID trạng thái |
issueTypeId |
long? |
ID loại vấn đề |
customerId |
long? |
ID khách hàng |
customerDraft |
string |
Tên KH nháp |
phoneNumberDraft |
string |
SĐT nháp |
Nếu có customerId thì không cần customerDraft và phoneNumberDraft
POST /issue/processing - Chuyển sang "Đang xử lý"
Chuyển trạng thái issue sang PROCESSING. Body là Issue_IssueDTO.
POST /issue/done - Chuyển sang "Hoàn thành"
Chuyển trạng thái issue sang DONE. Body là Issue_IssueDTO.
POST /issue/get-history - Lịch sử thay đổi
// Request: { "id": 0 }
Trả về IssueHistoryDTO chi tiết.
POST /issue/list-issue-history - Danh sách lịch sử Issue
Request Body
| Field | Type | Description |
|---|---|---|
issueId |
IdFilter |
ID vấn đề (lọc chính xác) |
time |
DateFilter |
Khoảng thời gian |
Trả về List<IssueHistoryDTO>.
POST /issue/count-issue-history - Đếm lịch sử Issue
Tương tự filter như list-issue-history. Trả về int.
POST /issue/export - Export Excel
Xuất danh sách issue ra file Excel. Sử dụng template Templates/Issue_Export.xlsx.
POST /issue/export-template - Download template Excel
Tải về file template Excel Templates/Issue_Template.xlsx dùng để import.
POST /issue/upload-file - Upload file đính kèm
POST /rpc/crm/issue/upload-file
Content-Type: multipart/form-data
Upload 1 file. Trả về Issue_FileDTO.
POST /issue/multi-upload - Upload nhiều file
POST /rpc/crm/issue/multi-upload
Content-Type: multipart/form-data
Upload nhiều file. Trả về List<Issue_FileDTO>.
GET /issue/filter-list-{type} - Danh sách filter (FilterList)
| Endpoint | Mô tả |
|---|---|
filter-list-customer-type |
Loại khách hàng |
filter-list-issue-type |
Loại vấn đề |
filter-list-app-user |
Nhân viên |
filter-list-contact |
Liên hệ |
filter-list-customer |
Khách hàng |
filter-list-issue-status |
Trạng thái vấn đề |
filter-list-issue-source |
Nguồn vấn đề |
GET /issue/single-list-{type} - Danh sách đơn lẻ (SingleList)
| Endpoint | Mô tả |
|---|---|
single-list-customer-type |
Loại khách hàng |
single-list-contact |
Liên hệ |
single-list-customer |
Khách hàng |
single-list-issue-type |
Loại vấn đề |
IOTIssue - API tích hợp IOT
POST /iot-issue/create - Tạo Issue từ IOT
Body là Issue_IssueDTO. Tự động xử lý file mappings.
POST /iot-issue/update - Cập nhật Issue từ IOT
Body là Issue_IssueDTO. Tự động xử lý file mappings.