Bỏ qua để đến nội dung

Khái niệm cốt lõi

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.

Nhóm “phân loại & gắn nhãn” — taxonomy dùng chung

Phần tiêu đề “Nhóm “phân loại & gắn nhãn” — taxonomy dùng chung”

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_settingsdefault_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.