CRM Khách hàng
Module này dùng chung 1 CustomerDTO cho 5 loại khách hàng, phân biệt qua sub-type, mỗi loại có base route riêng:
- CustomerCompany —
rpc/crm/customer-company (Khách hàng đối tác CTDA)
- CustomerRetail —
rpc/crm/customer-retail (Khách hàng lẻ)
- CustomerStore —
rpc/crm/customer-store (Khách hàng đại lý)
- CustomerWorker —
rpc/crm/customer-worker (Khách hàng thầu thợ)
- CustomerModel —
rpc/crm/customer-model (Khách hàng mô hình)
POST /{type}/count - Đếm số lượng Customer
Request Parameters (body - Customer_CustomerFilterDTO)
| Param |
Type |
Operator |
Description |
id |
IdFilter |
equal/in |
ID |
code |
StringFilter |
contains |
Mã khách hàng |
codeDraft |
StringFilter |
contains |
Mã nháp |
name |
StringFilter |
contains |
Tên khách hàng |
phone |
StringFilter |
contains |
Số điện thoại |
address |
StringFilter |
contains |
Địa chỉ |
email |
StringFilter |
contains |
Email |
taxCode |
StringFilter |
contains |
Mã số thuế |
customerTypeId |
IdFilter |
equal |
ID loại khách hàng |
customerSourceId |
IdFilter |
equal |
ID nguồn khách hàng |
customerGroupingId |
IdFilter |
equal |
ID nhóm khách hàng |
customerStatusId |
IdFilter |
equal |
ID trạng thái khách hàng |
customerLevelId |
IdFilter |
equal |
ID cấp độ khách hàng |
customerSizeId |
IdFilter |
equal |
ID quy mô khách hàng |
customerSaleChannelId |
IdFilter |
equal |
ID kênh bán hàng |
appUserId |
IdFilter |
equal |
ID nhân viên phụ trách |
creatorId |
IdFilter |
equal |
ID người tạo |
organizationId |
IdFilter |
equal |
ID đơn vị |
provinceId |
IdFilter |
equal |
ID tỉnh/thành |
districtId |
IdFilter |
equal |
ID quận/huyện |
wardId |
IdFilter |
equal |
ID phường/xã |
nationId |
IdFilter |
equal |
ID quốc gia |
professionId |
IdFilter |
equal |
ID nghề nghiệp |
sexId |
IdFilter |
equal |
ID giới tính |
businessTypeId |
IdFilter |
equal |
ID loại hình kinh doanh |
productGroupingId |
IdFilter |
equal |
ID nhóm sản phẩm |
storeId |
IdFilter |
equal |
ID cửa hàng |
storeTypeId |
IdFilter |
equal |
ID loại cửa hàng |
storeGroupingId |
IdFilter |
equal |
ID nhóm cửa hàng |
storeStatusId |
IdFilter |
equal |
ID trạng thái cửa hàng |
statusId |
IdFilter |
equal |
ID trạng thái |
birthday |
DateFilter |
range |
Ngày sinh |
foundedAt |
DateFilter |
range |
Ngày thành lập |
createdAt |
DateFilter |
range |
Ngày tạo |
updatedAt |
DateFilter |
range |
Ngày cập nhật |
numberOfEmployee |
LongFilter |
equal |
Số nhân viên |
investment |
DecimalFilter |
range |
Vốn đầu tư |
revenueAnnual |
DecimalFilter |
range |
Doanh thu hàng năm |
totalPoints |
DecimalFilter |
range |
Tổng điểm |
search |
string |
- |
Tìm kiếm toàn văn (mã, tên, SĐT, email) |
POST /{type}/list - Danh sách Customer (Master Table)
Response Fields - Customer_CustomerDTO
| Field |
Type |
Description |
id |
long |
ID khách hàng |
stt |
long |
Số thứ tự |
code |
string |
Mã khách hàng |
codeDraft |
string |
Mã nháp |
name |
string |
Tên khách hàng |
phone |
string |
Số điện thoại |
address |
string |
Địa chỉ |
email |
string |
Email |
taxCode |
string |
Mã số thuế |
fax |
string |
Fax |
website |
string |
Website |
zipCode |
string |
Mã bưu điện |
description |
string |
Mô tả |
customerTypeId |
long |
ID loại khách hàng |
customerSourceId |
long? |
ID nguồn khách hàng |
customerLeadId |
long? |
ID lead |
customerStatusId |
long? |
ID trạng thái KH |
customerLevelId |
long? |
ID cấp độ KH |
customerSizeId |
long? |
ID quy mô KH |
customerSaleChannelId |
long? |
ID kênh bán hàng |
productGroupingId |
long? |
ID nhóm sản phẩm |
statusId |
long |
ID trạng thái |
sexId |
long? |
ID giới tính |
birthday |
datetime? |
Ngày sinh |
professionId |
long? |
ID nghề nghiệp |
businessTypeId |
long? |
ID loại hình kinh doanh |
numberOfEmployee |
long? |
Số nhân viên |
investment |
decimal? |
Vốn đầu tư |
revenueAnnual |
decimal? |
Doanh thu hàng năm |
nationId |
long? |
ID quốc gia |
provinceId |
long? |
ID tỉnh/thành |
districtId |
long? |
ID quận/huyện |
wardId |
long? |
ID phường/xã |
appUserId |
long? |
ID nhân viên phụ trách |
creatorId |
long |
ID người tạo |
organizationId |
long |
ID đơn vị |
storeId |
long? |
ID cửa hàng |
modelType |
string |
Loại mô hình |
modelScale |
string |
Quy mô mô hình |
modelArea |
string |
Khu vực mô hình |
modelSubjectType |
string |
Loại đối tượng mô hình |
longitude |
decimal? |
Kinh độ |
latitude |
decimal? |
Vĩ độ |
totalPoint |
long |
Tổng điểm tích luỹ |
currentPoint |
long |
Điểm hiện tại |
bankAccount |
string |
Tài khoản ngân hàng |
bankName |
string? |
Tên ngân hàng |
bankNumber |
string? |
Số tài khoản NH |
identificationNumber |
string |
Số CMND/CCCD |
citizenIdentificationNumber |
string? |
Số CCCD |
facebookAccount |
string |
Facebook |
googleAccount |
string |
Google |
consumptionQuantityPerMonth |
string |
Số lượng tiêu thụ/tháng |
representativeName |
string? |
Tên người đại diện |
representativePhoneNumber |
string? |
SĐT người đại diện |
representativeSexId |
long? |
ID giới tính người đại diện |
otherImportantDates |
string? |
Ngày quan trọng khác |
foundedAt |
datetime? |
Ngày thành lập |
customerGroupingNames |
string |
Tên nhóm KH (ghép chuỗi) |
hobbyNames |
string |
Sở thích (ghép chuỗi) |
rankName |
string? |
Tên cấp bậc |
userName |
string? |
Tên đăng nhập |
majorName |
string? |
Tên chuyên ngành |
workerGroupingName |
string? |
Tên nhóm thầu thợ |
customerSituation |
string |
Tình hình khách hàng |
customerTime |
string |
Thời gian làm khách hàng |
used |
bool |
Đang sử dụng |
rowId |
guid |
Row ID |
createdAt |
datetime |
Ngày tạo |
updatedAt |
datetime |
Ngày cập nhật |
appUser |
Customer_AppUserDTO |
Nhân viên phụ trách |
creator |
Customer_AppUserDTO |
Người tạo |
customerType |
Customer_CustomerTypeDTO |
Loại khách hàng |
customerSource |
Customer_CustomerSourceDTO |
Nguồn khách hàng |
customerLead |
Customer_CustomerLeadDTO |
Lead |
customerStatus |
Customer_CustomerStatusDTO |
Trạng thái KH |
customerLevel |
Customer_CustomerLevelDTO |
Cấp độ KH |
customerSize |
Customer_CustomerSizeDTO |
Quy mô KH |
customerSaleChannel |
Customer_CustomerSaleChannelDTO |
Kênh bán hàng |
businessType |
Customer_BusinessTypeDTO |
Loại hình kinh doanh |
profession |
Customer_ProfessionDTO |
Nghề nghiệp |
sex |
Customer_SexDTO |
Giới tính |
representativeSex |
Customer_SexDTO |
Giới tính người đại diện |
status |
Customer_StatusDTO |
Trạng thái |
nation |
Customer_NationDTO |
Quốc gia |
province |
Customer_ProvinceDTO |
Tỉnh/thành |
district |
Customer_DistrictDTO |
Quận/huyện |
ward |
Customer_WardDTO |
Phường/xã |
organization |
Customer_OrganizationDTO |
Đơn vị |
store |
Customer_StoreDTO |
Cửa hàng |
productGrouping |
Customer_ProductGroupingDTO |
Nhóm sản phẩm |
customerFileGroupings |
List<Customer_CustomerFileGroupingDTO> |
File đính kèm (theo nhóm) |
customerCustomerGroupingMappings |
List<Customer_CustomerCustomerGroupingMappingDTO> |
Nhóm KH |
customerEmails |
List<Customer_CustomerEmailDTO> |
Danh sách email |
customerPhones |
List<Customer_CustomerPhoneDTO> |
Danh sách SĐT |
customerHistories |
List<Customer_CustomerHistoryDTO> |
Lịch sử thay đổi |
customerHobbyMappings |
List<Customer_CustomerHobbyMappingDTO> |
Sở thích |
customerDistrictWorkingMappings |
List<Customer_CustomerDistrictWorkingMapping> |
Quận/huyện làm việc |
Nested Objects
appUser / creator - Customer_AppUserDTO
| Field |
Type |
Description |
id |
long |
ID nhân viên |
username |
string |
Tên đăng nhập |
displayName |
string |
Tên hiển thị |
email |
string |
Email |
phone |
string |
Số điện thoại |
organizationId |
long |
ID đơn vị |
organization |
Customer_OrganizationDTO |
Đơn vị (Name) |
statusId |
long |
Trạng thái |
used |
bool |
Đang sử dụng |
customerType - Customer_CustomerTypeDTO
| Field |
Type |
Description |
id |
long |
ID loại KH |
code |
string |
Mã loại |
name |
string |
Tên loại |
customerStatus - Customer_CustomerStatusDTO
| 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 |
color |
string |
Mã màu |
sex - Customer_SexDTO
| Field |
Type |
Description |
id |
long |
ID giới tính |
code |
string |
Mã |
name |
string |
Tên (Nam/Nữ) |
status - Customer_StatusDTO
| Field |
Type |
Description |
id |
long |
ID trạng thái |
code |
string |
Mã |
name |
string |
Tên |
organization - Customer_OrganizationDTO
| Field |
Type |
Description |
id |
long |
ID đơn vị |
code |
string |
Mã đơn vị |
name |
string |
Tên đơn vị |
path |
string |
Đường dẫn |
province / district / ward / nation - Customer_*DTO
Mỗi đối tượng có id, code, name. Riêng nation có thêm longitude, latitude, priority.
POST /{type}/get - Chi tiết Customer
Trả về đầy đủ Customer_CustomerDTO + tất cả nested objects.
POST /{type}/create /update /delete - CRUD
Body là Customer_CustomerDTO. Tất cả đều dùng chung DTO.
POST /{type}/bulk-delete - Xoá nhiều
{ "ids": [1, 2, 3] }
POST /{type}/get-history - Lịch sử thay đổi
Trả về RequestHistory<Customer> bao gồm các thay đổi theo thời gian.
POST /{type}/import & /export & /export-template - Excel
/import — Import danh sách KH từ file Excel (worksheet "KH")
/export — Export danh sách KH ra file Excel template
/export-template — Download template Excel để import
POST /{type}/upload-file & /multi-upload & /save-image - Upload
/upload-file — Upload 1 file, trả về Customer_FileDTO
/multi-upload — Upload nhiều file, trả về List<Customer_FileDTO>
/save-image — Lưu ảnh, trả về Customer_ImageDTO
Màn Khách hàng 360
Mỗi customer có các tab 360 trên giao diện chi tiết. Các endpoint bên dưới dùng chung pattern POST /{type}/{action}.
Hợp đồng (Contract)
| Endpoint |
Mô tả |
/count-contract |
Đếm hợp đồng |
/list-contract |
Danh sách hợp đồng |
/get-contract |
Chi tiết hợp đồng |
/create-contract |
Tạo hợp đồng |
/update-contract |
Cập nhật hợp đồng |
/delete-contract |
Xoá hợp đồng |
/bulk-delete-contract |
Xoá nhiều hợp đồng |
Hợp đồng nguyên tắc (PrincipalContract)
| Endpoint |
Mô tả |
/count-principal-contract |
Đếm |
/list-principal-contract |
Danh sách |
/get-principal-contract |
Chi tiết |
Đơn hàng (CustomerSalesOrder)
| Endpoint |
Mô tả |
/count-customer-sales-order |
Đếm đơn hàng |
/list-customer-sales-order |
Danh sách đơn hàng |
/get-customer-sales-order |
Chi tiết đơn hàng |
Ticket
| Endpoint |
Mô tả |
/count-ticket |
Đếm ticket |
/list-ticket |
Danh sách ticket |
/get-ticket |
Chi tiết ticket |
/create-ticket |
Tạo ticket |
/update-ticket |
Cập nhật ticket |
/delete-ticket |
Xoá ticket |
Call Log
| Endpoint |
Mô tả |
/count-call-log |
Đếm |
/list-call-log |
Danh sách |
/get-call-log |
Chi tiết |
/update-call-log |
Cập nhật |
/delete-call-log |
Xoá |
Hoạt động (Activity)
| Endpoint |
Mô tả |
/count-activity |
Đếm hoạt động |
/count-ongoing-activity |
Đếm hoạt động đang diễn ra |
/list-activity |
Danh sách |
/list-ongoing-activity |
Danh sách đang diễn ra |
/get-activity |
Chi tiết |
/create-activity |
Tạo |
/update-activity |
Cập nhật |
/delete-activity |
Xoá |
/bulk-delete-activity |
Xoá nhiều |
| Endpoint |
Mô tả |
/count-contact |
Đếm |
/list-contact |
Danh sách |
/get-contact |
Chi tiết |
/create-contact |
Tạo |
/update-contact |
Cập nhật |
/delete-contact |
Xoá |
/bulk-delete-contact |
Xoá nhiều |
Email
| Endpoint |
Mô tả |
/get-email |
Chi tiết email |
/create-email |
Tạo email |
/update-email |
Cập nhật |
/send-email |
Gửi email |
/send-multi-email |
Gửi nhiều email |
/delete-email |
Xoá |
/read-email |
Đánh dấu đã đọc |
/list-inbox |
Danh sách inbox |
/count-inbox |
Đếm inbox |
/list-draft |
Danh sách nháp |
/count-draft |
Đếm nháp |
/list-sent |
Danh sách đã gửi |
/count-sent |
Đếm đã gửi |
/get-customer-email-history |
Lịch sử email |
/count-customer-email-history |
Đếm lịch sử |
/list-customer-email-history |
Danh sách lịch sử |
Lịch sử tích điểm (CustomerPointHistory)
| Endpoint |
Mô tả |
/count-customer-point-history |
Đếm |
/list-customer-point-history |
Danh sách |
/get-customer-point-history |
Chi tiết |
/create-customer-point-history |
Tạo |
Bảo hành - sửa chữa (WarrantyClaim / RepairTicket)
| Endpoint |
Mô tả |
/count-warranty-claim |
Đếm |
/list-warranty-claim |
Danh sách |
/create-repair-ticket |
Tạo phiếu sửa chữa |
/update-repair-ticket |
Cập nhật |
/delete-repair-ticket |
Xoá |
/bulk-delete-repair-ticket |
Xoá nhiều |
/count-repair-ticket |
Đếm |
/list-repair-ticket |
Danh sách |
/get-repair-ticket |
Chi tiết |
Đơn hàng cửa hàng (StoreSalesOrder — chỉ CustomerStore)
| Endpoint |
Mô tả |
/count-store-sales-order |
Đếm |
/list-store-sales-order |
Danh sách |
Đơn mua hàng (PurchaseOrder)
| Endpoint |
Mô tả |
/count-purchase-order |
Đếm |
/list-purchase-order |
Danh sách |
/get-purchase-order |
Chi tiết |
File đính kèm (CustomerFileGrouping — chỉ CustomerModel)
| Endpoint |
Mô tả |
/count-customer-file-grouping |
Đếm |
/list-customer-file-grouping |
Danh sách |
No Comments