Skip to content

Tuỳ chỉnh thông tin ​

Quản lý các trường thông tin tuỳ chỉnh ngoài các trường thông tin mặc định của khách hàng

Phân loại trường thông tin ​

TypeMô tả
STRINGKiểu text tối đa 255 ký tự
TEXTKiểu văn bản dài
NUMBERKiểu số tối đa 18 chữ số, 6 chữ số thập phân
DATENgày ngày tháng
PHONEKiểu số điện thoại
SELECTKiểu lựa chọn
CHECKBOXKiểu chọn nhiều ô tích
RADIOKiểu chọn một ô tích

Lưu ý: Không thể thay đổi type sau khi đã tạo field.

Trường thông tin ​

Danh sách trường thông tin ​

GET[URL]/m-crm/api/customerfield/get-all

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Tham số

Tham sốKiểuMô tả
keyStringTìm theo code hoặc tên trường thông tin
fromLongLọc từ ngày (Unix timestamp - ms). -1 = không áp dụng
toLongLọc đến ngày (Unix timestamp - ms). -1 = không áp dụng
pageIntSố trang
sizeIntSố lượng trên 1 trang

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataList[Object]Danh sách trường dữ liệu

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": [
    {
      "create_at": 1718000000000,
      "number": 1,
      "code": "birth_date",
      "name": "Ngày sinh",
      "color": "#EEEEEE",
      "text_color": "#000000",
      "description": "Ngày sinh khách hàng",
      "type": "DATE",
      "is_required": false,
      "is_unique": false,
      "is_default": false
    }
  ]
}

Cấu trúc phần tử trong data

Tham sốKiểuMô tả
create_atLongThời gian tạo (Unix timestamp - ms)
numberLongThứ tự hiển thị
codeStringMã trường thông tin (customer_field_code)
nameStringTên hiển thị
colorStringMàu nền (hex). Mặc định là nền trắng
text_colorStringMàu chữ (hex). Mặc định là chữ đen
descriptionStringMô tả
typeStringLoại trường thông tin
is_requiredBoolBắt buộc nhập
is_uniqueBoolGiá trị phải duy nhất
is_defaultBoolTrường thông tin mặc định của hệ thống (không thể xóa)

Đếm số lượng trường thông tin ​

GET[URL]/m-crm/api/customerfield/count-all

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Tham số

Tham sốKiểuBắt buộcMô tả
keyStringKhôngTìm theo code hoặc tên trường thông tin
fromLongKhôngLọc từ ngày (Unix timestamp - ms). -1 = không áp dụng
toLongKhôngLọc đến ngày (Unix timestamp - ms). -1 = không áp dụng

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataIntSố lượng

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": 8
}

Chi tiết trường thông tin ​

GET[URL]/m-crm/api/customerfield/get-detail

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Tham số

Tham sốKiểuBắt buộcMô tả
customer_field_codeStringCóMã trường thông tin

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataObjectThông tin chi tiết

Trả về 1 object cùng cấu trúc với mỗi phần tử trong get-all.


Kiểm tra trùng mã trường thông tin ​

GET[URL]/m-crm/api/customerfield/check-exist-code

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Tham số

Tham sốKiểuBắt buộcMô tả
customer_field_codeStringCóMã trường thông tin

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataBoolKết quả kiểm tra

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": false
}
dataÝ nghĩa
trueMã đã tồn tại
falseMã chưa tồn tại, có thể dùng

Thêm trường thông tin mới ​

POST[URL]/m-crm/api/customerfield/insert

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Body

Ví dụ request

json
{
  "customer_field_code": "birth_date",
  "name": "Ngày sinh",
  "type": "DATE",
  "description": "Ngày sinh khách hàng",
  "color": "#EEEEEE",
  "text_color": "#000000",
  "is_required": false,
  "number": 5,
  "is_unique": false
}
Tham sốKiểuBắt buộcMô tả
customer_field_codeStringCóMã trường thông tin. Chỉ chứa chữ/số/_/-, không trùng
nameStringCóTên hiển thị. Không chứa ký tự đặc biệt
typeStringCóLoại trường thông tin (xem bảng Type ở trên)
descriptionStringKhôngMô tả
colorStringCóMàu nền (hex). Mặc định là nền trắng
text_colorStringCóMàu chữ (hex). Mặc định là chữ đen
is_requiredBoolKhôngMặc định false
numberIntKhôngThứ tự hiển thị
is_uniqueBoolKhôngGiá trị phải duy nhất. Mặc định false

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataStringMã trường thông tin vừa tạo

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": "birth_date"
}

data trả về customer_field_code vừa tạo.

Cập nhật trường thông tin ​

POST[URL]/m-crm/api/customerfield/update

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Không thể thay đổi customer_field_code và type qua API này. Dùng update-code để đổi mã.
Không thể cập nhật field mặc định của hệ thống (is_default = true).

Body

Ví dụ request

json
{
  "customer_field_code": "birth_date",
  "name": "Ngày sinh (cập nhật)",
  "type": "DATE",
  "description": "Mô tả mới",
  "color": "#FFFFFF",
  "text_color": "#333333",
  "is_required": true,
  "number": 3,
  "is_unique": false
}
Tham sốKiểuBắt buộcMô tả
customer_field_codeStringCóMã trường thông tin
nameStringCóTên mới
typeStringCóBắt buộc truyền nhưng không đổi được giá trị
colorStringCóMàu nền (hex). Mặc định là nền trắng
text_colorStringCóMàu chữ (hex). Mặc định là chữ đen
Các trường còn lạiKhôngCập nhật nếu truyền

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataStringMã trường thông tin vừa cập nhật

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": "birth_date"
}

Đổi mã trường thông tin ​

POST[URL]/m-crm/api/customerfield/update-code

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Chỉ cập nhật mã field, không thay đổi dữ liệu khác.
Không thể đổi mã field mặc định (is_default = true).

Body

Ví dụ request

json
{
  "customer_field_code": "birth_date",
  "customer_field_code_new": "date_of_birth"
}
Tham sốKiểuBắt buộcMô tả
customer_field_codeStringCóMã trường thông tin
customer_field_code_newStringCóMã mới. Chỉ chứa chữ/số/_/-, không trùng

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataBoolTrạng thái thực hiện

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": true
}

Xóa trường thông tin ​

POST[URL]/m-crm/api/customerfield/delete

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Không thể xóa field mặc định của hệ thống (is_default = true).

Body

Ví dụ request

json
{
  "customer_field_code": "birth_date"
}

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataBoolTrạng thái thực hiện

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": true
}

Trường lựa chọn ​

Phân loại trường lựa chọn ​

TypeMô tả
OPTIONLựa chọn thông thường
OPTGROUPNhóm các lựa chọn (chỉ dùng cho trường dữ liệu SELECT)

Lựa chọn thuộc nhóm OPTGROUP sẽ có customer_field_option_group_code trỏ đến nhóm cha.

Danh sác trường lựa chọn ​

GET[URL]/m-crm/api/customerfield/option/get-all

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Tham số

Tham sốKiểuBắt buộcMô tả
customer_field_codeStringCóMã trường thông tin
customer_field_option_group_codeStringKhôngLọc theo nhóm cha (OPTGROUP). Bỏ trống = lấy tất cả
keyStringKhôngTìm theo tên trường lựa chọn
typeStringKhôngLọc theo loại: OPTION, OPTGROUP. Bỏ trống = tất cả
pageIntKhôngSố trang
sizeIntKhôngSố lượng trên 1 trang

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataList[Object]Danh sách lựa chọn

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": [
    {
      "create_at": 1718000000000,
      "code": "active",
      "customer_field_option_group_code": null,
      "number": 1,
      "name": "Đang hoạt động",
      "color": "#00AA00",
      "text_color": "#FFFFFF",
      "type": "OPTION"
    }
  ]
}

Cấu trúc phần tử trong data

Tham sốKiểuMô tả
create_atLongThời gian tạo (Unix timestamp - ms)
codeStringMã trường lựa chọn (customer_field_option_code)
customer_field_option_group_codeString?Mã nhóm cha. null nếu là trường lựa chọn gốc
numberLongThứ tự hiển thị
nameStringTên hiển thị
colorStringMàu nền (hex). Mặc định là nền trắng
text_colorStringMàu chữ (hex). Mặc định là chữ đen
typeStringOPTION hoặc OPTGROUP

Đếm số lượng trường lựa chọn ​

GET[URL]/m-crm/api/customerfield/option/count-all

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Tham số

Tham sốKiểuBắt buộcMô tả
customer_field_codeStringCóMã trường thông tin
customer_field_option_group_codeStringKhôngLọc theo nhóm cha (OPTGROUP). Bỏ trống = tất cả
keyStringKhôngTìm theo tên option
typeStringKhôngLọc theo loại: OPTION, OPTGROUP. Bỏ trống = tất cả

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataIntSố lượng

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": 5
}

Chi tiết trường lựa chọn ​

GET[URL]/m-crm/api/customerfield/option/get-detail

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Tham số

Tham sốKiểuBắt buộcMô tả
customer_field_codeStringCóMã trường thông tin
customer_field_option_codeStringCóMã trường lựa chọn

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataObjectThông tin chi tiết

Trả về 1 object cùng cấu trúc với mỗi phần tử trong option/get-all.


Kiểm tra trùng mã trường lựa chọn ​

GET[URL]/m-crm/api/customerfield/option/check-exist-code

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Mã trường lựa chọn là duy nhất trong phạm vi toàn bộ trường thông tin (không phân biệt OPTGROUP).

Tham số

Tham sốKiểuBắt buộcMô tả
customer_field_codeStringCóMã trường thông tin
customer_field_option_codeStringCóMã trường lựa chọn

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataBoolKết quả kiểm tra

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": false
}
dataÝ nghĩa
trueMã đã tồn tại
falseMã chưa tồn tại, có thể dùng

Thêm trường lựa chọn mới ​

POST[URL]/m-crm/api/customerfield/option/insert

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Body — Thêm OPTION thông thường

Ví dụ request

json
{
  "customer_field_option_code": "active",
  "customer_field_code": "status",
  "customer_field_option_group_code": null,
  "name": "Đang hoạt động",
  "color": "#00AA00",
  "text_color": "#FFFFFF",
  "type": "OPTION",
  "number": 1
}

Body — Thêm OPTGROUP (nhóm cha)

Ví dụ request

json
{
  "customer_field_option_code": "group_vip",
  "customer_field_code": "customer_tier",
  "customer_field_option_group_code": null,
  "name": "Nhóm VIP",
  "color": "#FFD700",
  "text_color": "#000000",
  "type": "OPTGROUP",
  "number": 1
}

Body — Thêm OPTION thuộc OPTGROUP

Ví dụ request

json
{
  "customer_field_option_code": "vip_gold",
  "customer_field_code": "customer_tier",
  "customer_field_option_group_code": "group_vip",
  "name": "Vàng",
  "color": "#FFD700",
  "text_color": "#000000",
  "type": "OPTION",
  "number": 1
}
Tham sốKiểuBắt buộcMô tả
customer_field_option_codeStringCóMã trường lựa chọn. Chỉ chứa chữ/số/_/-, không trùng trong field
customer_field_codeStringCóMã trường thông tin
customer_field_option_group_codeString?KhôngMã nhóm cha (OPTGROUP). null nếu là option gốc
nameStringCóTên hiển thị
colorStringCóMàu nền (hex). Mặc định là nền trắng
text_colorStringCóMàu chữ (hex). Mặc định là chữ đen
typeStringCóOPTION hoặc OPTGROUP
numberIntKhôngThứ tự hiển thị

Lưu ý: OPTGROUP chỉ dùng được với field type SELECT.

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataStringMã trường thông tin vừa tạo

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": "active"
}

data trả về customer_field_option_code vừa tạo.


Cập nhật trường lựa chọn ​

POST[URL]/m-crm/api/customerfield/option/update

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Không thể thay đổi type và customer_field_option_code qua API này. Dùng option/update-code để đổi mã.

Body

Ví dụ request

json
{
  "customer_field_option_code": "active",
  "customer_field_code": "status",
  "name": "Hoạt động",
  "color": "#00CC00",
  "text_color": "#FFFFFF",
  "number": 1
}
Tham sốKiểuBắt buộcMô tả
customer_field_option_codeStringCóMã trường lựa chọn
customer_field_codeStringCóMã trường thông tin
nameStringCóTên mới
colorStringCóMàu nền mới (hex). Mặc định là màu nền trắng
text_colorStringMàu chữ mới (hex). Mặc định là màu chữ đen
numberIntKhôngThứ tự mới

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataStringMã trường thông tin vừa cập nhật

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": "active"
}

Đổi mã trường lựa chọn ​

POST[URL]/m-crm/api/customerfield/option/update-code

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Body

Ví dụ request

json
{
  "customer_field_code": "status",
  "customer_field_option_code": "active",
  "customer_field_option_code_new": "status_active"
}
Tham sốKiểuBắt buộcMô tả
customer_field_codeStringCóMã trường thông tin
customer_field_option_codeStringCóMã trường lựa chọn
customer_field_option_code_newStringCóMã trường lựa chọn mới. Chỉ chứa chữ/số/_/-, không trùng trong trường thông tin

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataBoolTrạng thái thực hiện

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": true
}

Xóa trường lựa chọn ​

POST[URL]/m-crm/api/customerfield/option/delete

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Body

Ví dụ request

json
{
  "customer_field_code": "status",
  "customer_field_option_code": "active"
}
Tham sốKiểuBắt buộcMô tả
customer_field_codeStringCóMã trường thông tin
customer_field_option_codeStringCóMã trường lựa chọn

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataBoolTrạng thái thực hiện

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": true
}