ลบสมาชิกออกจากกลุ่ม 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: true | API ส่งผลสำเร็จกลับมา ให้รีเฟรชสมาชิก |
| อ่านสมาชิกสำเร็จครบแล้ว ไม่พบ LID ที่เลือก | ไม่พบคนนี้ในการอ่านครั้งนั้น พร้อมบันทึกเวลา |
| อ่านสมาชิกไม่สำเร็จหรือยังไม่ครบ | การตรวจสอบยังไม่ยุติ |
| คำขอเปลี่ยนสมาชิกหมดเวลาหรืออ่านผลตอบกลับไม่ได้ | ผลคำขอไม่แน่นอน ต้องตรวจสอบก่อนเขียนอีกครั้ง |
group.updated ที่ระบุในเอกสาร อาจมี kind: "member_removed" และ members[] ใน data.changes[] ใช้เป็นสัญญาณให้อ่านสถานะใหม่ ไม่ใช่ใบยืนยันเฉพาะคำขอที่รับประกันว่าจะได้รับ ตรวจสอบลายเซ็นตามข้อกำหนดการส่งเว็บฮุก ก่อนเชื่อถืออีเวนต์ และอย่าคิดว่า ID ผู้เข้าร่วมในอีเวนต์ใช้กับคำขอจัดการสมาชิกครั้งถัดไปได้ทันที
เก็บ request_id เมื่อมีเพื่อช่วยตรวจสอบปัญหา แต่ไม่ใช้เป็นคีย์ป้องกันการทำซ้ำ เมื่อผลไม่แน่นอน ให้อ่านสมาชิกปัจจุบันและขอการตรวจทานใหม่ก่อนเปลี่ยนอีกครั้ง การส่ง add อัตโนมัติเพื่อชดเชยเป็นการตัดสินใจเพิ่มสมาชิกใหม่ ไม่ใช่การย้อนคืนที่รับประกันผล
คำถามที่พบบ่อย
ใช้หมายเลขโทรศัพท์จากคำขอสร้างกลุ่มได้ไหม?
ไม่ได้ การทำงานนี้ระบุให้ใช้ WhatsApp LID จาก peer_id ในรายการสมาชิก การกำหนดสมาชิกเริ่มต้นตอนสร้างกลุ่มใช้ข้อกำหนด ID คนละแบบ
การลบสมาชิกจะลบข้อความที่เก็บไว้หรือห้ามกลับเข้ากลุ่มตลอดไปด้วยไหม?
อย่ารับรองสิ่งเหล่านี้จาก API นี้ ขอบเขตคือการจัดการสมาชิก ไม่ใช่การลบประวัติหรือนโยบายห้ามเข้าถาวร ต้องจัดการการเก็บข้อมูลและการรับสมาชิกในอนาคตแยกต่างหาก
ควรทดสอบอะไรบ้างก่อนเปิดใช้งาน?
ใช้บัญชีที่ควบคุมได้ทดสอบชื่อซ้ำ เป้าหมายที่อยู่หน้าถัดไป การเลือกข้อมูลเก่า สิทธิ์ไม่พอ ผลตอบกลับสูญหาย และการอ่านเพื่อตรวจสอบล้มเหลว นี่คือข้อเสนอการทดสอบ ไม่ใช่ผลที่ดำเนินการแล้ว
ขั้นตอนถัดไปและแหล่งอ้างอิง
สร้างขั้นตอนเลือกและยืนยันด้วยรายการสมาชิกการสนทนา ก่อน แล้วจึงเชื่อมปุ่มลบกับการจัดการสมาชิกกลุ่ม
ตรวจสอบแหล่งอ้างอิงเมื่อ 2026-11-01:
เปลี่ยนการเชื่อมต่อข้อความให้เป็น pipeline ผลิตภัณฑ์ที่เสถียร
เริ่มจากการส่งผ่าน API เดียว แล้วส่งข้อความขาเข้าทั้งหมดกลับสู่ระบบธุรกิจของคุณด้วย event มาตรฐาน