Contact
Một hàng trong c_contacts — person hoặc organization, phân biệt bằng
field type. Đây là master danh tính duy nhất, dùng chung với
Helpdesk, HR và các module khác.
Contact
Một hàng trong c_contacts — person hoặc organization, phân biệt bằng
field type. Đây là master danh tính duy nhất, dùng chung với
Helpdesk, HR và các module khác.
Kind
Loại thực thể cố định: person / organization — lấy từ
shared_kinds, không scope theo module (dùng chung toàn hệ thống,
khác với status/type/tag).
Employment / Work History
Bảng c_contact_employments ghi một person từng/đang làm ở organization
nào, chức vụ gì, từ ngày nào. Chỉ một employment is_current: true tại
một thời điểm — hệ thống tự tắt các employment cũ khi bật một cái mới.
Status
Trạng thái vòng đời của contact: contacts:active, contacts:inactive,
contacts:lead… Lấy từ shared_statuses, scope theo module bằng
tiền tố slug contacts:.
Type (quan hệ)
Loại quan hệ với tổ chức bạn: Customer, Lead, Vendor, Partner, Investor…
Lấy từ shared_types (M2M), cũng scope contacts:. Một contact có thể
có nhiều type cùng lúc.
Tag
Nhãn tự do (M2M qua shared_tags), scope contacts:. Gõ tag mới khi
lưu contact sẽ tự tạo tag đó (resolveTagsForWrite — tìm theo
slug/name, không thấy thì tạo mới).
Profile (CRM)
1:1 với contact (c_contact_profiles) — phong cách giao tiếp, kênh liên
hệ ưa thích, tốc độ phản hồi, quan hệ đang ở giai đoạn nào
(relationship_status), điểm cần lưu ý (avoid_topics, pain_points).
Social link
O2M (c_contact_social_links) — nền tảng + handle + URL, sắp xếp theo
sort.
Note
O2M (c_contact_notes) — ghi chú tự do, có tác giả và thời điểm tạo,
hiển thị dạng nhật ký ở tab Notes.
Email / Phone / Address (chi tiết)
O2M riêng (c_contact_emails, c_contact_phones,
c_contact_addresses) cho phép một contact có nhiều email/phone/địa chỉ
với type (work/personal/billing…) và cờ is_primary. Bản ghi
is_primary: true được đồng bộ hai chiều với
primary_email/primary_phone/address trên c_contacts — sửa ở form
chính (field đơn) thì bản ghi primary trong bảng con cũng cập nhật theo.
Intake
Một hàng trong c_contact_intakes — liên hệ “thô” từ nguồn ngoài, chưa
phải contact chính thức. Có source_module/source_ref/source_label
mô tả nó đến từ đâu, và raw_payload (JSON) giữ nguyên dữ liệu gốc.
Triage
Hành động xử lý một intake: Match (gắn với contact có sẵn), Promote (tạo contact mới từ dữ liệu intake), hoặc Dismiss (đánh dấu bỏ qua, có lý do).
Xem chi tiết vòng đời ở Intake.
Settings
Singleton c_contact_settings — default_status (status mặc định khi
tạo contact mới) và name_composition (thứ tự ghép first/last name khi
hiển thị: “Văn A Nguyễn” vs “Nguyễn, Văn A” vs “Nguyễn Văn A”).
Extension tab
Điểm mở rộng cho phép module khác (Helpdesk, HR…) tự cắm thêm tab vào trang chi tiết contact — không cần Contacts biết trước module nào sẽ cắm vào. Xem Extension store.