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]/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]/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]/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_codeStringMã 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]/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_codeStringMã 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]/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_codeStringMã trường thông tin. Chỉ chứa chữ/số/_/-, không trùng
nameStringTên hiển thị. Không chứa ký tự đặc biệt
typeStringLoại trường thông tin (xem bảng Type ở trên)
descriptionStringKhôngMô tả
colorStringMàu nền (hex). Mặc định là nền trắng
text_colorStringMà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]/api/customerfield/update

Header

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

Không thể thay đổi customer_field_codetype 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_codeStringMã trường thông tin
nameStringTên mới
typeStringBắt buộc truyền nhưng không đổi được giá trị
colorStringMàu nền (hex). Mặc định là nền trắng
text_colorStringMà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]/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_codeStringMã trường thông tin
customer_field_code_newStringMã 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]/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]/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_codeStringMã 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]/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_codeStringMã 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]/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_codeStringMã trường thông tin
customer_field_option_codeStringMã 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]/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_codeStringMã trường thông tin
customer_field_option_codeStringMã 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]/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_codeStringMã trường lựa chọn. Chỉ chứa chữ/số/_/-, không trùng trong field
customer_field_codeStringMã trường thông tin
customer_field_option_group_codeString?KhôngMã nhóm cha (OPTGROUP). null nếu là option gốc
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
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]/api/customerfield/option/update

Header

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

Không thể thay đổi typecustomer_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_codeStringMã trường lựa chọn
customer_field_codeStringMã trường thông tin
nameStringTên mới
colorStringMà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]/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_codeStringMã trường thông tin
customer_field_option_codeStringMã trường lựa chọn
customer_field_option_code_newStringMã 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]/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_codeStringMã trường thông tin
customer_field_option_codeStringMã 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
}