Skip to main content

CRM Vấn đề

POST /issue/count - Đếm số lượng Issue

Query Parameters (body - Issue_IssueFilterDTO)

ParamTypeOperatorDescription
idIdFilterequal/inID vấn đề
codeStringFiltercontainsMã vấn đề
creatorIdIdFilterequalID người tạo
issueStatusIdIdFilterequalID trạng thái vấn đề
customerTypeIdIdFilterequalID loại khách hàng
issueTypeIdIdFilterequalID loại vấn đề
createdAtDateFilterrangeNgày tạo
ticketIdIdFilterequalID ticket liên quan
issueSourceIdIdFilterequalID nguồn vấn đề

POST /issue/list - Danh sách Issue (Master Table)

Response Fields - IssueDTO

FieldTypeDescription
idlongID vấn đề
codestringMã vấn đề
titlestringTiêu đề
descriptionstringMô tả vấn đề
creatorIdlong?ID người tạo
creatorAppUserDTONgười tạo
issueStatusIdlongID trạng thái
issueStatusIssueStatusDTOTrạng thái
issueTypeIdlong?ID loại vấn đề
issueTypeIssueTypeDTOLoại vấn đề
issueSourceIdlong?ID nguồn vấn đề
issueSourceIssueSourceDTONguồn vấn đề
customerIdlong?ID khách hàng
customerCustomerDTOKhách hàng
customerDraftstringTên KH nháp
phoneNumberDraftstringSĐT nháp
dormitorystringKhu nhà/ký túc xá
addressstringĐịa chỉ
appUserIdlongID nhân viên phụ trách
appUserAppUserDTONhân viên phụ trách
ticketIdlong?ID ticket liên quan
ticketTicketDTOTicket liên quan
resolveContentstringNội dung giải quyết
completedAtdatetime?Ngày hoàn thành
rowIdguidRow ID
createdAtdatetimeNgày tạo
updatedAtdatetimeNgày cập nhật

Nested Objects

issueStatus - IssueStatusDTO

FieldTypeDescription
idlongID trạng thái
codestringMã trạng thái
namestringTên trạng thái (mới/đang xử lý/hoàn thành)

issueType - IssueTypeDTO

FieldTypeDescription
idlongID loại vấn đề
codestringMã loại
namestringTên loại vấn đề

issueSource - IssueSourceDTO

FieldTypeDescription
idlongID nguồn vấn đề
codestringMã nguồn
namestringTên nguồn (CRM/IOT/Email/...)

creator - AppUserDTO

FieldTypeDescription
idlongID nhân viên
displayNamestringTên hiển thị
usernamestringTên đăng nhập
emailstringEmail
phonestringSố điện thoại
organizationIdlongID đơn vị
organizationOrganizationDTOĐơn vị (Name)

customer - CustomerDTO

FieldTypeDescription
idlongID khách hàng
codestringMã khách hàng
namestringTên khách hàng
phonestringSố điện thoại
emailstringEmail
addressstringĐịa chỉ
customerTypeIdlongID loại khách hàng
customerTypeCustomerTypeDTOLoại khách hàng
nationNationDTOQuốc gia
provinceProvinceDTOTỉnh/thành
districtDistrictDTOQuận/huyện
statusIdlongTrạng thái
statusStatusDTOTrạng thái
organizationIdlongID đơn vị
appUserAppUserDTONhân viên phụ trách
customerEmailsList<CustomerEmailDTO>Danh sách email
customerPhonesList<CustomerPhoneDTO>Danh sách số điện thoại
rowIdguidRow ID
createdAtdatetimeNgày tạo
updatedAtdatetimeNgày cập nhật

ticket - TicketDTO (issue context - rút gọn)

FieldTypeDescription
idlongID ticket
codestringMã ticket
namestringTên ticket
ticketStatusIdlongID trạng thái ticket
ticketStatusTicketStatusDTOTrạng thái ticket

issueFileMappings - List<IssueFileMappingDTO>

FieldTypeDescription
issueIdlongID vấn đề
fileIdlongID file
fileFileDTOFile đính kèm

issueHistories - List<IssueHistoryDTO>

FieldTypeDescription
idlongID lịch sử
issueIdlongID vấn đề
appUserIdlong?ID nhân viên
issueStatusIdlongID trạng thái
actionNamestringTên hành động
timedatetimeThời gian
appUserAppUserDTONhân viên thực hiện
issueStatusIssueStatusDTOTrạ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

Tạo issue từ nguồn bên ngoài (không qua CRM). Body là Issue_IssueDTO.


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

FieldTypeDescription
issueIdIdFilterID vấn đề (lọc chính xác)
timeDateFilterKhoả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)

EndpointMô tả
filter-list-customer-typeLoại khách hàng
filter-list-issue-typeLoại vấn đề
filter-list-app-userNhân viên
filter-list-contactLiên hệ
filter-list-customerKhách hàng
filter-list-issue-statusTrạng thái vấn đề
filter-list-issue-sourceNguồn vấn đề

GET /issue/single-list-{type} - Danh sách đơn lẻ (SingleList)

EndpointMô tả
single-list-customer-typeLoại khách hàng
single-list-contactLiên hệ
single-list-customerKhách hàng
single-list-issue-typeLoạ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.