← บทความทั้งหมด
บทช่วยสอน

ลบสมาชิกออกจากกลุ่ม WhatsApp ผ่าน API: เลือก ID และตรวจสอบผล

หากต้องการลบสมาชิกปัจจุบันออกจากกลุ่ม WhatsApp ผ่าน UnifyPort ให้ส่ง POST /v1/accounts/{account_id}/groups/members พร้อม group_id, action: "remove" และ LID ของสมาชิกใน member_id โดยนำ LID จาก peer_id ที่รายการสมาชิกส่งกลับมา แต่ละคำขอทำงานกับคนเดียว เก็บผลตอบกลับแล้วอ่านรายการสมาชิกอีกครั้ง อย่าถือว่าการที่แถวหายจากหน้าจอเป็นหลักฐานว่าลบสำเร็จแล้ว

ประเด็นสำคัญ

  • การลบสมาชิก การปลดผู้ดูแล การปฏิเสธคำขอเข้ากลุ่ม และการให้บัญชีที่เชื่อมต่อออกจากกลุ่ม เป็นคนละการทำงาน
  • เลือกบัญชีรับส่งข้อความ กลุ่ม และสมาชิกให้ตรงกัน ห้ามสร้าง LID จากหมายเลขโทรศัพท์
  • ต้องตรวจสอบและยืนยันการลบ ไม่ควรลบอัตโนมัติเพียงเพราะไม่คุ้นกับชื่อที่แสดง
  • คำขอหมดเวลาหมายถึงผลยังไม่แน่นอน ไม่ใช่เหตุผลให้ส่งคำขอลบซ้ำเรื่อย ๆ

ให้ปุ่มตรงกับสิ่งที่ต้องการทำ

คู่มือจัดการสมาชิกอย่างเป็นทางการของ WhatsApp อธิบายการเลือกสมาชิกเฉพาะคนในข้อมูลกลุ่มแล้วกดยืนยันลบ หน้าจอที่ใช้ API ควรรักษาการระบุเป้าหมายและการยืนยันนี้ไว้ ไม่ซ่อนคำสั่งที่มีผลกระทบไว้ใต้ปุ่มกว้าง ๆ อย่าง “จัดระเบียบ”

สิ่งที่ต้องการการทำงานที่เหมาะสม
ลบคนที่เป็นสมาชิกอยู่แล้วคำสั่งจัดการสมาชิก remove
ให้ยังเป็นสมาชิก แต่ยกเลิกสิทธิ์ผู้ดูแลคำสั่งแยก demote
ไม่รับผู้สมัครที่ยังไม่ได้เข้ากลุ่มปฏิเสธคำขอที่รออนุมัติ
ให้บัญชีที่เชื่อมต่อออกจากกลุ่มออกจากกลุ่ม
ซ่อนแถวในแอปของคุณเท่านั้นเปลี่ยนการแสดงผลภายใน ไม่ใช่เปลี่ยนสมาชิก

สำหรับการปลดผู้ดูแล ดูคู่มือเปลี่ยนบทบาทผู้ดูแล ส่วนผู้ที่ยังไม่ได้เข้ากลุ่ม ให้ใช้คิวอนุมัติคำขอเข้ากลุ่ม อย่าให้ขั้นตอนเหล่านี้ใช้ปุ่ม “ลบ” ที่มีความหมายไม่ชัดเจนร่วมกัน

ข้อมูลที่หน้าจอยืนยันการลบต้องแสดง

ก่อนเปิดใช้คำสั่งลบ ให้เรียกรายการสมาชิกการสนทนา ภายใต้บัญชีที่เลือก โดยใช้ ID กลุ่มเป็น conversation_id และส่ง type=group อ่านหน้าถัดไปตาม data.has_more และ data.next_cursor จนตรวจสอบส่วนที่ต้องการครบ การไม่พบใครในหน้าแรกไม่ได้แปลว่าเขาไม่อยู่ในกลุ่ม

เก็บ peer_id, display_name และ role ที่ส่งกลับมา บทบาทที่ระบุในเอกสารคือ member, admin และ superadmin โดยตัวสุดท้ายหมายถึงเจ้าของหรือผู้สร้างกลุ่ม ชื่อที่แสดงช่วยให้ผู้ปฏิบัติงานจำคนได้ แต่ไม่ใช่ตัวระบุสำหรับคำสั่ง

มาตรการต่อไปนี้เป็นข้อเสนอสำหรับแอป ไม่ใช่ข้อกำหนด API เพิ่มเติม:

  • แสดงบัญชีที่เชื่อมต่อ กลุ่ม และสมาชิกพร้อมกันก่อนยืนยัน
  • ตรวจสอบทั้งสิทธิ์ของผู้ปฏิบัติงานในระบบของคุณ และสิทธิ์จัดการกลุ่มของบัญชีที่เชื่อมต่อ การมี API Key ไม่ได้ยืนยันสิทธิ์ในกลุ่ม
  • แยก superadmin บัญชีที่เชื่อมต่อเอง และเป้าหมายที่ยังยืนยันตัวตนไม่ได้ ออกจากขั้นตอนลบสมาชิกทั่วไป แล้วส่งไปตรวจสอบแยกหรือใช้การทำงานที่ถูกต้อง
  • อ่านข้อมูลใหม่หากการเลือกเก่าแล้ว และป้องกันคำขอลบพร้อมกันสำหรับบัญชี กลุ่ม และสมาชิกเดียวกันที่ฝั่งหลังบ้าน

หากยังเชื่อมโยงเป้าหมายกับ WhatsApp LID ที่ระบบส่งกลับมาไม่ได้ ให้หยุด อย่าใช้เบอร์โทร ชื่อ หรือ ID ผู้เข้าร่วมจากอีเวนต์ที่อยู่ในรูปแบบอื่นแทน

สมาชิกที่ยืนยันแล้วหนึ่งคน ต่อหนึ่งคำขอ

เอกสารจัดการสมาชิกกลุ่ม รับ member_id แบบค่าเดียว ไม่ใช่อาร์เรย์ member_ids ที่ใช้ตัดสินคำขอเข้ากลุ่ม UnifyPort ให้บริการอินเทอร์เฟซที่ไม่เป็นทางการ และตารางความสามารถตามผู้ให้บริการ ปัจจุบันระบุการทำงานนี้สำหรับ whatsapp เท่านั้น ไม่รวม LINE, Telegram หรือ whatsapp-protocol แม้แอปของคุณจะมีหน้าจอจัดการหลายช่องทางร่วมกัน ก็ต้องแยกการรองรับนี้

ตัวอย่าง JavaScript ต่อไปนี้สร้างเฉพาะเนื้อหาคำขอ ให้ส่ง ID กลุ่มที่ยืนยันแล้วและระเบียนที่เลือกจากรายการสมาชิก โค้ดนี้ไม่ตรวจสอบสิทธิ์และไม่เรียกเครือข่าย

function removalBody(groupId, selectedMember) {
  if (!groupId || !/^\d+@lid$/.test(selectedMember?.peer_id ?? '')) {
    throw new Error('Select a group and a returned WhatsApp member LID');
  }
  if (!['member', 'admin'].includes(selectedMember.role)) {
    throw new Error('This target requires separate review');
  }
  return {
    group_id: groupId,
    action: 'remove',
    member_id: selectedMember.peer_id
  };
}

การกรองบทบาทเป็นนโยบายความปลอดภัยของแอป การตรวจรูปแบบ LID ไม่ได้พิสูจน์ตัวตนหรือสิทธิ์ ส่ง JSON จากหลังบ้านไปยังเอนด์พอยต์ข้างต้นพร้อม X-Api-Key และ Content-Type: application/json ไม่ใส่คีย์ในเบราว์เซอร์หรือบันทึกล็อก เอกสารไม่ได้ระบุธุรกรรมลบหลายสมาชิกพร้อมกัน หากมีหน้าจอทำงานแบบชุด ต้องติดตามผลของแต่ละคนที่อนุมัติแยกกัน

ตัดสินจากหลักฐาน ไม่ใช่ภาพเคลื่อนไหวบนหน้าจอ

แยกความตั้งใจของผู้ปฏิบัติงาน ผล HTTP และสถานะสมาชิกที่สังเกตได้:

หลักฐานสิ่งที่แอปสรุปได้
200 OK พร้อม data.ok: trueAPI ส่งผลสำเร็จกลับมา ให้รีเฟรชสมาชิก
อ่านสมาชิกสำเร็จครบแล้ว ไม่พบ LID ที่เลือกไม่พบคนนี้ในการอ่านครั้งนั้น พร้อมบันทึกเวลา
อ่านสมาชิกไม่สำเร็จหรือยังไม่ครบการตรวจสอบยังไม่ยุติ
คำขอเปลี่ยนสมาชิกหมดเวลาหรืออ่านผลตอบกลับไม่ได้ผลคำขอไม่แน่นอน ต้องตรวจสอบก่อนเขียนอีกครั้ง

group.updated ที่ระบุในเอกสาร อาจมี kind: "member_removed" และ members[] ใน data.changes[] ใช้เป็นสัญญาณให้อ่านสถานะใหม่ ไม่ใช่ใบยืนยันเฉพาะคำขอที่รับประกันว่าจะได้รับ ตรวจสอบลายเซ็นตามข้อกำหนดการส่งเว็บฮุก ก่อนเชื่อถืออีเวนต์ และอย่าคิดว่า ID ผู้เข้าร่วมในอีเวนต์ใช้กับคำขอจัดการสมาชิกครั้งถัดไปได้ทันที

เก็บ request_id เมื่อมีเพื่อช่วยตรวจสอบปัญหา แต่ไม่ใช้เป็นคีย์ป้องกันการทำซ้ำ เมื่อผลไม่แน่นอน ให้อ่านสมาชิกปัจจุบันและขอการตรวจทานใหม่ก่อนเปลี่ยนอีกครั้ง การส่ง add อัตโนมัติเพื่อชดเชยเป็นการตัดสินใจเพิ่มสมาชิกใหม่ ไม่ใช่การย้อนคืนที่รับประกันผล

คำถามที่พบบ่อย

ใช้หมายเลขโทรศัพท์จากคำขอสร้างกลุ่มได้ไหม?

ไม่ได้ การทำงานนี้ระบุให้ใช้ WhatsApp LID จาก peer_id ในรายการสมาชิก การกำหนดสมาชิกเริ่มต้นตอนสร้างกลุ่มใช้ข้อกำหนด ID คนละแบบ

การลบสมาชิกจะลบข้อความที่เก็บไว้หรือห้ามกลับเข้ากลุ่มตลอดไปด้วยไหม?

อย่ารับรองสิ่งเหล่านี้จาก API นี้ ขอบเขตคือการจัดการสมาชิก ไม่ใช่การลบประวัติหรือนโยบายห้ามเข้าถาวร ต้องจัดการการเก็บข้อมูลและการรับสมาชิกในอนาคตแยกต่างหาก

ควรทดสอบอะไรบ้างก่อนเปิดใช้งาน?

ใช้บัญชีที่ควบคุมได้ทดสอบชื่อซ้ำ เป้าหมายที่อยู่หน้าถัดไป การเลือกข้อมูลเก่า สิทธิ์ไม่พอ ผลตอบกลับสูญหาย และการอ่านเพื่อตรวจสอบล้มเหลว นี่คือข้อเสนอการทดสอบ ไม่ใช่ผลที่ดำเนินการแล้ว

ขั้นตอนถัดไปและแหล่งอ้างอิง

สร้างขั้นตอนเลือกและยืนยันด้วยรายการสมาชิกการสนทนา ก่อน แล้วจึงเชื่อมปุ่มลบกับการจัดการสมาชิกกลุ่ม

ตรวจสอบแหล่งอ้างอิงเมื่อ 2026-11-01:

UnifyPort API

เปลี่ยนการเชื่อมต่อข้อความให้เป็น pipeline ผลิตภัณฑ์ที่เสถียร

เริ่มจากการส่งผ่าน API เดียว แล้วส่งข้อความขาเข้าทั้งหมดกลับสู่ระบบธุรกิจของคุณด้วย event มาตรฐาน