← Tất cả bài viết
Hướng dẫn

Dọn nội dung hay xóa cuộc trò chuyện WhatsApp: đồng bộ webhook đúng cách

Dọn nội dung cuộc trò chuyện WhatsApp sẽ xóa lịch sử cục bộ nhưng vẫn giữ cuộc trò chuyện. Xóa cuộc trò chuyện là một thao tác khác trên danh sách chat. Trong UnifyPort, conversation.cleared và conversation.deleted thông báo các thay đổi này ở tài khoản nhắn tin đã kết nối. Cả hai đều không có nghĩa là tin nhắn đã bị xóa với tất cả mọi người. Hộp thư dùng chung cần tách khả năng hiển thị lịch sử khỏi khả năng hiển thị cuộc trò chuyện, rồi áp dụng chính sách rõ ràng cho các bản sao tự lưu.

Điểm chính

  • Đây là thông báo thay đổi cục bộ của tài khoản, không phải lệnh xóa tin nhắn của khách hàng.
  • data.conversation.id xác định cuộc trò chuyện; id ở cấp ngoài cùng xác định sự kiện.
  • delete_media mô tả việc xóa phương tiện cục bộ, không xác nhận việc dọn kho lưu trữ hay CRM của bạn.
  • Ngăn lịch sử cũ xuất hiện lại không đồng nghĩa với từ chối vĩnh viễn tin nhắn mới.

Phân biệt dọn nội dung, xóa cuộc trò chuyện và thu hồi tin nhắn

Hướng dẫn dọn nội dung của WhatsApp nêu rằng thao tác này không loại cuộc trò chuyện khỏi danh sách và không làm bạn rời nhóm. Hướng dẫn xóa cuộc trò chuyện mô tả thao tác riêng, đồng thời yêu cầu rời nhóm trước khi xóa cuộc trò chuyện nhóm. Đừng chuyển một trong hai thao tác thành lệnh xóa toàn bộ dữ liệu của mọi hệ thống nghiệp vụ.

Sự kiện quan sát đượcPhạm vi trong tài liệuCách xử lý hộp thư đề xuất
conversation.clearedTài khoản kết nối đã dọn lịch sử cục bộ; cuộc trò chuyện phía bên kia và tư cách thành viên nhóm không đổiGiữ mục cuộc trò chuyện, ẩn phần lịch sử liên quan theo chính sách
conversation.deletedTài khoản đã xóa cuộc trò chuyện cục bộBỏ khỏi danh sách phản chiếu thông thường; chỉ giữ siêu dữ liệu đối soát được phép
message.deletedMột tin nhắn bị xóa hoặc thu hồiXác định tin nhắn cụ thể, không xử lý cả cuộc trò chuyện
conversation.updatedMột thiết lập chat cục bộ thay đổiCập nhật thiết lập được cung cấp, không suy ra lịch sử đã bị xóa

Cột cuối là đề xuất thiết kế ứng dụng, không phải hành vi tự động của UnifyPort. Nếu mục tiêu là thu hồi tin đã gửi, hãy đọc sửa, thu hồi hay ẩn tin nhắn cục bộ. Sự kiện xóa cuộc trò chuyện không phải xác nhận cho yêu cầu thu hồi.

Đọc đúng cấu trúc sự kiện cuộc trò chuyện

Tài liệu conversation.cleared và conversation.deleted cung cấp đối tượng cuộc trò chuyện và delete_media. Chúng không cung cấp danh sách ID tin nhắn bị ảnh hưởng hay một mốc cắt lịch sử chính xác.

Ví dụ sau dùng trường đã được tài liệu hóa và định danh giả định, không phải lưu lượng thu thập thực tế:

{
  "id": "evt_c4d0b7a2e5",
  "type": "conversation.cleared",
  "provider": "whatsapp",
  "account_id": "acc_8c21d0",
  "occurred_at": "2026-10-29T08:15:00Z",
  "data": {
    "conversation": {
      "id": "8600000000000@s.whatsapp.net",
      "type": "user"
    },
    "delete_media": true,
    "event": { "kind": "conversation_cleared" }
  }
}

Tra cứu cục bộ bằng tổ hợp workspace, nhà cung cấp, account_id và data.conversation.id. Giữ nguyên định danh nhận được; không tự dựng từ số điện thoại hoặc gộp các chat có cùng tên. Nhánh xử lý này không được yêu cầu data.message.id, vì đây là sự kiện cuộc trò chuyện.

Ma trận sự kiện theo nhà cung cấp hiện ánh xạ hai sự kiện này cho whatsapp, không phải nhà cung cấp riêng whatsapp-protocol hay mọi kênh khác. Nếu cùng xử lý WhatsApp và Zalo, đừng suy ra hai kênh có cùng khả năng chỉ vì chung cấu trúc webhook. Ma trận mô tả khả năng của bộ phân tích, không bảo đảm mọi tài khoản hay môi trường phía nền tảng đều phát sự kiện.

Tách ba loại trạng thái trong ứng dụng

Hãy quyết định sản phẩm cam kết điều gì trước khi triển khai dọn dữ liệu. Hộp thư phản chiếu có thể ẩn lịch sử theo tài khoản, trong khi hồ sơ vụ việc được quản lý riêng có thể chịu quy định lưu trữ khác. Giải thích điều này cho nhân viên thay vì âm thầm coi thao tác dọn chat là “không có gì xảy ra” hoặc “xóa mọi hồ sơ nghiệp vụ”.

Lưu riêng các khái niệm sau:

  1. Hiển thị trong danh sách: cuộc trò chuyện có xuất hiện trong giao diện phản chiếu hay không.
  2. Hiển thị lịch sử và tiến độ dọn: nội dung cũ nào bị ẩn, bản sao thuộc quyền quản lý của bạn nào còn cần xử lý.
  3. Tiếp nhận tin nhắn tương lai: khi nào hoạt động mới được mở lại cuộc trò chuyện mà không khôi phục lịch sử cũ.

Đây là khái niệm lưu trữ cục bộ được đề xuất, không phải trường webhook mới. Giữ một dấu mốc tối thiểu theo đúng phạm vi và quyết định dọn dữ liệu, thay vì xóa mọi thông tin định danh cuộc trò chuyện. Nếu không, lô lịch sử đến muộn có thể tạo lại các bản ghi hiển thị.

Với cả hai loại sự kiện, tuân thủ hợp đồng phân phối webhook: cấu hình signing_secret, kiểm tra HMAC-SHA256 trên X-Device-Timestamp, dấu chấm và phần thân yêu cầu nguyên gốc; đồng thời kiểm tra độ mới của timestamp. Trong một giao dịch cục bộ, chống trùng sự kiện thông thường, ghi thay đổi hiển thị và đưa công việc dọn vào hàng đợi. Trả 2xx sau khi lưu bền vững, không cần chờ mọi hệ thống ngoài hoàn tất.

Đừng để tải lịch sử hủy quyết định đã áp dụng

Thứ tự phân phối không được bảo đảm. occurred_at ghi thời điểm sự kiện, nhưng hợp đồng dọn/xóa không định nghĩa nó là ranh giới chính xác cho mọi tin nhắn bị ảnh hưởng. Thời điểm HTTP đến cũng không chứng minh nội dung là mới.

Dữ liệu đến sauXử lý đề xuất khi quy tắc ẩn còn hiệu lực
Gửi lại cùng sự kiện dọn hoặc xóaGiữ quyết định, tiếp tục phần dọn còn dang dở
Lô lịch sử chứa nội dung đã ẩnKhông tự động hiển thị lại
Sự kiện trực tiếp chứa ID tin nhắn đã ẩnTiếp tục ẩn
Tin nhắn có vẻ mới nhưng quan hệ với lần dọn chưa rõTạm giữ khỏi trả lời tự động và kiểm tra phạm vi
Hoạt động mới đã được xác nhậnMở lại theo chính sách đã công bố, không khôi phục lịch sử cũ

ID đã biết giúp bảo vệ nội dung đã lưu, nhưng không nhận diện được tin nhắn cũ chưa từng đến hệ thống. Khi thiếu ranh giới đáng tin cậy, hãy chọn kiểm tra rõ ràng hoặc ẩn thận trọng, không tuyên bố có thể dựng lại trình tự thời gian hoàn hảo. ID sự kiện mới không tự chứng minh nội dung tin nhắn mới.

Nếu hộp thư hỗ trợ tải lịch sử, đưa chính sách này vào luồng hợp nhất trong hướng dẫn tải lịch sử WhatsApp theo yêu cầu. Cần hợp nhất theo từng tin nhắn con; chống trùng chỉ bằng ID sự kiện ngoài cùng có thể bỏ mất phần dữ liệu hợp lệ. Tải lịch sử không được ngầm đặt lại quyết định dọn.

Dọn phương tiện và kiểm thử nghiệm thu

delete_media=true có nghĩa phương tiện cục bộ cũng đã được dọn hoặc xóa. Nó không xác nhận xóa tệp bạn tải xuống, chỉ mục tìm kiếm, ngữ cảnh AI hay bản chuyển tiếp. Ngược lại, false cũng không cho phép lưu mọi thứ vô thời hạn. Áp dụng chính sách lưu giữ và truy cập đã công bố; theo dõi việc dọn riêng với xác nhận webhook.

Kiểm thử bằng tài khoản bạn kiểm soát:

  • Sau khi dọn, mục cuộc trò chuyện còn nhưng nội dung bị ẩn không xuất hiện trong tìm kiếm.
  • Sau khi xóa, danh sách phản chiếu bỏ cuộc trò chuyện mà không chặn liên hệ hay yêu cầu rời nhóm.
  • Lô lịch sử cũ hoặc sự kiện lặp không âm thầm khôi phục nội dung.
  • Hoạt động mới được xác nhận có thể mở lại chat nhưng không mang theo lịch sử cũ.
  • Lỗi dọn phương tiện được hiển thị là chưa hoàn tất, không phải đã xóa sạch.

Đây là các bài kiểm thử đề xuất, không phải kết quả đã đạt được. UnifyPort là giao diện không chính thức, không bảo đảm phát lại sự kiện bị lỡ và không có REST API đọc trả về lịch sử tin nhắn. Không nhận được sự kiện không chứng minh rằng không có thay đổi cục bộ.

Câu hỏi thường gặp

conversation.deleted có xóa tin nhắn phía người kia không?

Không. Tài liệu định nghĩa việc xóa cuộc trò chuyện cục bộ ở tài khoản kết nối, không phải xóa với mọi người.

conversation.cleared có nghĩa tài khoản đã rời nhóm không?

Không. Tài liệu nói rõ tư cách thành viên nhóm không thay đổi.

Có thể suy ra API cho nút dọn chat từ các sự kiện này không?

Không. Chúng mô tả kết quả quan sát, không phải thao tác gửi yêu cầu dọn hoặc xóa. Đừng tạo endpoint từ tên sự kiện.

Bước tiếp theo và nguồn

Đọc tài liệu conversation.cleared, xác định quy tắc hiển thị, lưu giữ và mở lại trước khi kết nối với thao tác xóa dữ liệu.

Nguồn được kiểm tra ngày 2026-10-29:

UnifyPort API

Biến tích hợp nhắn tin thành một pipeline sản phẩm ổn định.

Bắt đầu bằng cách gửi qua một API, rồi đưa mọi tin nhắn inbound trở lại hệ thống kinh doanh bằng sự kiện chuẩn.