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

Bật hoặc tắt phê duyệt tham gia nhóm WhatsApp qua API

Để bật hoặc tắt phê duyệt tham gia nhóm WhatsApp qua UnifyPort, gửi POST /v1/accounts/{account_id}/groups/join-approval-mode với group_id và trường boolean bắt buộc enabled. Dùng true để yêu cầu phê duyệt, false để tắt yêu cầu này. Đây là thay đổi cài đặt nhóm, không phải thao tác chấp thuận hoặc từ chối toàn bộ yêu cầu đang chờ.

Điểm chính

  • Thay đổi cài đặt phải là quyết định rõ ràng của quản trị viên, không phải tác dụng phụ khi mở hàng đợi xét duyệt.
  • Gửi boolean JSON, không dùng chuỗi "false", giá trị ô chọn bị thiếu hoặc thao tác chuyển đổi tự đặt.
  • Hiện thao tác hỗ trợ whatsapp, không hỗ trợ nhà cung cấp riêng whatsapp-protocol hay các kênh khác như Zalo.
  • Lưu riêng cài đặt mong muốn, kết quả API và thông tin xác minh sau đó.

Phân biệt cài đặt nhóm với quyết định xét duyệt

Giải thích chính thức của Meta về quản lý nhóm WhatsApp mô tả quyền kiểm soát người tham gia khi quản trị viên chia sẻ liên kết mời hoặc cho phép tham gia nhóm từ cộng đồng. Cài đặt nền tảng và phần mềm xét duyệt người đăng ký là hai lớp khác nhau.

Mục đích của người thao tácThao tác phù hợp
Yêu cầu phê duyệt người mới tham giaĐặt enabled: true
Tắt yêu cầu phê duyệtĐặt enabled: false
Chấp thuận hoặc từ chối những người được chọnDùng thao tác cập nhật yêu cầu tham gia riêng
Lấy URL mờiDùng thao tác đọc liên kết mời

Để xét duyệt từng người, xem hướng dẫn hàng đợi yêu cầu tham gia WhatsApp. Để phân phối lời mời, xem sự khác nhau giữa đọc và đặt lại liên kết mời. Cả hai quy trình đều không nên âm thầm thay đổi chính sách gia nhập nhóm.

Thiết kế biểu mẫu bật và tắt rõ ràng

Tài liệu chế độ phê duyệt quy định group_id cùng boolean bắt buộc enabled. Ma trận hỗ trợ thao tác theo kênh giới hạn thao tác này ở WhatsApp. UnifyPort cung cấp giao diện không chính thức cho tài khoản nhắn tin đã kết nối; đây không phải yêu cầu WhatsApp Cloud API.

Chọn tài khoản và nhóm cùng nhau. Lấy ID từ danh sách nhóm, không xác định đích chỉ bằng tên. Kiểm tra tài khoản kết nối có quyền quản trị nhóm và ứng dụng của bạn cho phép người thao tác thay đổi chính sách gia nhập. Có API key của workspace không đồng nghĩa với có quyền quản trị nhóm.

Hành vi biểu mẫu được đề xuất:

  1. Hiển thị tài khoản và nhóm đã chọn trên màn hình xác nhận.
  2. Yêu cầu chọn rõ bật hay tắt phê duyệt.
  3. Nếu chưa biết cài đặt hiện tại, hiển thị là chưa biết; không biến dữ liệu thiếu thành trạng thái tắt.
  4. Chỉ gửi sau khi xác nhận, không ghi cài đặt lúc tải trang hoặc làm mới hàng đợi.
  5. Giữ nguyên false khi kiểm tra và chuyển thành JSON. Kiểm tra truthiness đơn giản có thể làm mất giá trị tắt.

Ví dụ đọc nhóm công khai không định nghĩa trường chế độ phê duyệt. Đừng tự tạo thuộc tính phản hồi để điền sẵn biểu mẫu. Nếu không có cơ chế đọc lại được tài liệu hóa, nhờ quản trị viên có quyền kiểm tra trong WhatsApp và ghi nhãn giá trị ứng dụng lưu là “cài đặt được yêu cầu gần nhất”, không phải trạng thái hiện tại.

Gửi một thay đổi đã xác nhận

Ví dụ JavaScript phía máy chủ dưới đây dùng các trường yêu cầu có thật. Đây không phải bài kiểm thử đã chạy và cố ý không có tự động gửi lại:

export async function setJoinApproval({ apiKey, accountId, groupId, enabled }) {
  if (!apiKey || !accountId || !groupId || typeof enabled !== 'boolean') {
    throw new Error('Account, group, credential and boolean choice required');
  }

  const response = await fetch(
    `https://api.unifyport.ai/v1/accounts/${encodeURIComponent(accountId)}/groups/join-approval-mode`,
    {
      method: 'POST',
      headers: { 'X-Api-Key': apiKey, 'Content-Type': 'application/json' },
      body: JSON.stringify({ group_id: groupId, enabled })
    }
  );
  const requestId = response.headers.get('X-Request-Id');
  const body = await response.json();
  return { httpStatus: response.status, requestId, body };
}

Giữ API key ở backend. Các tên trả về httpStatus, requestId và body là tên nội bộ của ứng dụng, không phải trường API mới. Phản hồi thành công được tài liệu hóa là 200 OK với data.ok: true. Lưu giá trị boolean mong muốn và kết quả trước khi báo thành công. Mã gọi phải xử lý lỗi mạng và lỗi phân tích JSON; thiếu phản hồi phải giữ trạng thái chưa xác định, không được chuyển thành “đã tắt”.

Xử lý tuần tự các thay đổi cho cùng tài khoản và nhóm trong ứng dụng. Nếu một người yêu cầu bật rồi người khác yêu cầu tắt, việc gửi lại yêu cầu cũ muộn có thể khôi phục lựa chọn đã lỗi thời. Khóa cục bộ hoặc kiểm tra phiên bản là biện pháp của ứng dụng, không phải tính năng ghi có điều kiện được API phía trên cung cấp. Quản trị viên vẫn có thể thay đổi độc lập trong ứng dụng WhatsApp.

Kiểm tra chính sách riêng với yêu cầu đang chờ

Danh sách yêu cầu rỗng không chứng minh chế độ phê duyệt đang tắt; có thể đơn giản là không ai chờ. Tương tự, group.join_request là tín hiệu có người xin tham gia, không phải xác nhận thay đổi cài đặt. Hợp đồng sự kiện công khai không cam kết callback riêng để xác nhận chế độ phê duyệt.

Sau khi bật, nhờ quản trị viên kiểm tra cài đặt và thử lời mời trong điều kiện kiểm soát trước khi phân phối liên kết rộng rãi. Quy trình xét duyệt vẫn cần thăm dò danh sách yêu cầu tham gia, vì tài liệu nêu rõ tín hiệu push chỉ được gửi theo cơ chế best-effort.

Trước khi tắt, kiểm tra các yêu cầu chưa xử lý và chỉ định người đối soát sau đó. Hợp đồng chế độ phê duyệt không quy định tác động của việc tắt đối với yêu cầu đang tồn tại. Đừng khẳng định thao tác sẽ chấp thuận tất cả, từ chối tất cả, xóa thành viên hiện tại hay đặt lại liên kết mời. Dùng thao tác xét duyệt riêng cho từng quyết định.

Nếu yêu cầu cấu hình hết thời gian chờ, giữ giá trị mong muốn và thông tin chẩn đoán, kiểm tra cài đặt trong WhatsApp rồi yêu cầu quyết định mới trước khi gửi lại. Không tự gửi giá trị ngược lại như một cách hoàn tác: quản trị viên khác có thể đã thay đổi chính sách.

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

Có thể bỏ enabled để giữ nguyên cài đặt không?

Không. Thao tác này bắt buộc có boolean. Nếu không muốn thay đổi thì không gọi.

enabled=false có từ chối tất cả người đang chờ không?

Tài liệu không cam kết điều đó. Tắt cài đặt và xử lý yêu cầu hiện có là hai công việc riêng.

Worker xét duyệt có nên bật phê duyệt mỗi lần thăm dò không?

Không nên. Thăm dò là quan sát, còn cấu hình chính sách là thao tác ghi của quản trị viên. Tách hai việc giúp tránh worker hủy lựa chọn có chủ đích của người quản trị.

Thao tác này dùng được cho Telegram hoặc LINE không?

Theo ma trận UnifyPort hiện tại thì không. Cấu trúc route chung không chứng minh mọi kênh đều hỗ trợ.

Bước tiếp theo và nguồn tham khảo

Triển khai biểu mẫu theo tài liệu đặt chế độ phê duyệt tham gia. Nên kiểm thử cả hai giá trị boolean, từ chối chuỗi, trạng thái ban đầu chưa biết, hai lựa chọn đối lập đồng thời và phản hồi bị mất. Đây là danh sách kiểm tra đề xuất, không phải kết quả đã thực hiện.

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

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.