Contacts - cập nhật contact
Feature URL
Module
contacts
Status
draft
Priority
P1
Platforms
fe · be
AC progress
0 / 6
Last reviewed
2026-05-29
Mục tiêu
Cho phép broker chỉnh sửa thông tin contact trong CRM khi dữ liệu thay đổi hoặc cần bổ sung. Việc cập nhật phải giữ ổn định quan hệ giữa contact và listings đang tham chiếu.
Phạm vi
Trong phạm vi (In scope):
- Cập nhật thông tin nhận diện và ghi chú nghiệp vụ của contact.
- Cập nhật số điện thoại thông qua quan hệ với
phone_registrieskhi được phép. - Kiểm tra quyền chỉnh sửa theo owner/broker hoặc visibility rule.
- Giữ nguyên
contact_idcho các listings đang liên kết.
Ngoài phạm vi (Out of scope):
- Merge nhiều contact thành một.
- Xoá hoặc lưu trữ contact.
- Cập nhật hàng loạt nhiều contact.
- Audit log chi tiết thao tác người dùng trong mô hình tài liệu.
User Stories
- Là broker, tôi muốn sửa thông tin contact, để dữ liệu CRM luôn đúng và dễ sử dụng.
- Là broker, tôi muốn bổ sung ghi chú cho contact, để nhớ ngữ cảnh liên hệ.
- Là Backend, tôi muốn cập nhật contact mà không đổi
contact_id, để các listing liên quan không bị mất liên kết.
Luồng chức năng
sequenceDiagram
actor Broker
participant App
participant BE
participant Phone as Phone Registries
participant Contacts
Broker->>App: Chỉnh sửa contact
App->>BE: Gửi dữ liệu cập nhật
BE->>Contacts: Kiểm tra quyền chỉnh sửa
alt Có đổi số điện thoại
BE->>Phone: Tra hoặc tạo phone_registry mới
Phone-->>BE: phone_registry_id
end
BE->>Contacts: Cập nhật contact
Contacts-->>BE: Contact sau cập nhật
BE-->>App: Hiển thị kết quảAcceptance Criteria
- AC-1: Broker chỉ có thể cập nhật contact trong phạm vi được phép.
- AC-2: Cập nhật contact không làm thay đổi
contact_id. - AC-3: Nếu cập nhật số điện thoại, hệ thống phải xử lý qua
phone_registries. - AC-4: Các listing đang gắn với contact vẫn giữ liên kết sau cập nhật.
- AC-5: Hệ thống phải từ chối dữ liệu cập nhật không đạt rule nghiệp vụ tối thiểu.
- AC-6: Broker nhìn thấy thông tin mới sau khi cập nhật thành công.
Quy tắc nghiệp vụ
- Không cho phép sửa contact ngoài phạm vi owner/broker hoặc visibility rule.
- Số điện thoại không được ghi trực tiếp vào contact nếu hệ thống dùng
phone_registries. - Thay đổi số điện thoại cần tránh tạo trùng contact theo rule resolve đã chốt.
- Contact từ crawl có thể bị hạn chế trường được chỉnh sửa nếu cần bảo toàn dữ liệu nguồn.
Dữ liệu & Trạng thái
Entity nghiệp vụ:
Contact: bản ghi được cập nhật nhưng giữ nguyên định danh.PhoneRegistry: bản ghi số điện thoại được tham chiếu khi số điện thoại thay đổi.
Trạng thái user-facing:
updated- contact cập nhật thành công.invalid- dữ liệu cập nhật không hợp lệ.forbidden- broker không có quyền cập nhật contact.conflict- thay đổi gây xung đột với rule trùng số hoặc ownership.
Liên quan
- Phụ thuộc: contacts-create, contacts-list
- Ảnh hưởng: listing-crawl-external-sources