← บทความทั้งหมด
คู่มือ

รายชื่อแชต WhatsApp ไม่ครบ? ตรวจตัวกรองป้ายกำกับก่อน

หากรายการสนทนา WhatsApp ที่อ่านผ่าน UnifyPort มีแชตน้อยกว่าที่คาด ให้ตรวจคำขอก่อนเชื่อมต่อบัญชีใหม่ เอกสารระบุว่าเมื่อไม่ส่ง label_id จะคืนเฉพาะการสนทนาที่ติดดาว / “特别关注” ของ WhatsApp การอ่านจนหมดหน้าไม่ได้เปลี่ยนผลลัพธ์ที่ผ่านตัวกรองให้เป็นรายการแชตทั้งหมด การค้นหาการสนทนา การอ่านสมุดรายชื่อ และการขอข้อความย้อนหลังเป็นคนละงานกัน

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

  • การละ label_id ไม่ได้หมายถึง “แชต WhatsApp ทั้งหมด”
  • รายการป้ายกำกับคืนคำนิยามของป้าย ไม่ใช่รายการแชตใต้ป้ายนั้น
  • ระหว่างอ่านแต่ละหน้า ต้องใช้บัญชีรับส่งข้อความและตัวกรองเดิม
  • อย่าลบการสนทนาในฐานข้อมูลของคุณเพียงเพราะไม่พบในผลลัพธ์ที่กรองแล้ว

เริ่มจากแยกให้ออกว่ากำลังอ่านรายการใด

ศูนย์ช่วยเหลือ WhatsApp อธิบายว่าลิสต์เป็นตัวกรองแชตที่ปรับแต่งได้ ข้อมูลนี้ช่วยอธิบายแนวคิดของมุมมองที่มีตัวกรอง แต่ไม่ได้กำหนดพฤติกรรม API ของ UnifyPort และไม่ได้ยืนยันว่าทุกลิสต์ในแอปมี API ที่ตรงกัน

สำหรับการพัฒนา ให้ยึดเอกสาร List conversations ซึ่งระบุว่าเป็นการอ่านข้อมูลจากผู้ให้บริการแบบเรียลไทม์ ไม่ใช่การอ่านคลังแชตจากฐานข้อมูลภายใน UnifyPort

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

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

ตรวจแชต WhatsApp ที่หายไปตามลำดับ

1. ยืนยันบัญชีและขอบเขตคำขอ

ตรวจข้อมูลรับรองของเวิร์กสเปซและ account_id ในคำขอ ID ของป้ายที่ได้จากอีกบัญชีหนึ่งไม่ใช่ตัวกรองที่เชื่อถือได้สำหรับบัญชีนี้ เก็บ API key ไว้ที่แบ็กเอนด์ และอย่าบันทึกข้อมูลรับรองลงในบันทึกวิเคราะห์ปัญหา

ระบุให้ชัดว่าไม่ได้ส่ง label_id หรือส่ง ID จริง อย่าสันนิษฐานว่าสตริงว่าง ไวลด์การ์ด หรือค่า “all” ที่ตั้งเองหมายถึงการอ่านทุกแชต เอกสารนี้ไม่ได้ระบุตัวเลือกสำหรับเลือกทุกการสนทนาแบบนั้น

ตัวกรอง type ที่ไม่บังคับรองรับค่าตรงตัวคือ user, group และ channel โดยคั่นด้วยจุลภาคและไม่ตัดช่องว่างให้ เช่น user,group ตรงตามไวยากรณ์ แต่ไม่ควรสร้าง user, group หากขอเฉพาะกลุ่ม การไม่เห็นแชตส่วนตัวไม่ได้แปลว่าการเชื่อมต่อเสีย

2. แบ่งหน้าภายในขอบเขตเดิม

limit รองรับ 1–100 และมีค่าเริ่มต้น 20 ใช้ data.next_cursor ต่อไปเมื่อ data.has_more ระบุว่ายังมีผลลัพธ์ โดยคงบัญชี ป้าย และชนิดการสนทนาไว้เหมือนเดิม ปฏิบัติต่อเคอร์เซอร์เป็นค่าทึบแสง ไม่ถอดรหัส แก้ไข หรือใช้ร่วมกันระหว่างคำขอต่างขอบเขต

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

has_more: false หมายถึงจบการแบ่งหน้าของคำขอนั้น ไม่ได้พิสูจน์ว่ารวมป้ายอื่น แชตที่ไม่ได้เลือก หรือข้อความย้อนหลังแล้ว และเพราะเป็นการอ่านสด จึงไม่ควรถือว่าข้อมูลหลายหน้าเป็นสแนปช็อตที่รับประกันว่าจะไม่เปลี่ยน

3. อ่านแชตที่ทราบ ID อยู่แล้วโดยตรง

หากแอปมี ID การสนทนาจากเหตุการณ์ที่เชื่อถือได้หรือคำตอบ API ก่อนหน้า ให้ใช้Get conversationโดยส่ง conversation_id เป็นพารามิเตอร์คำค้น สร้างพารามิเตอร์ด้วยตัวเข้ารหัส URL แทนการใส่ ID ของผู้ให้บริการไว้ในส่วนพาธ

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

4. เลือกการอ่านให้ตรงคำถาม

หากต้องการตรวจสมุดรายชื่อ ให้ใช้List contacts ซึ่งครอบคลุมผู้ติดต่อโดยไม่ขึ้นกับว่ามีประวัติข้อความหรือไม่ ใช้การจับคู่ conversation_id ที่คืนมาเมื่อทำงานกับแชต อย่าสันนิษฐานว่า id ของผู้ติดต่อใช้แทนกันได้ คู่มือซิงก์ชื่อผู้ติดต่ออธิบายขอบเขตของตัวระบุนี้เพิ่มเติม

List groupsช่วยอ่านกลุ่มที่เข้าร่วม แม้ยังไม่เคยใช้ส่งข้อความ การอ่านทั้งสองแบบไม่ใช่คลังข้อความ และการรวมผลลัพธ์ก็ไม่ได้ยืนยันว่าพบแชตส่วนตัวทั้งหมด

แสดงขอบเขตกล่องข้อความอย่างตรงไปตรงมา

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

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

สำหรับข้อความใหม่ UnifyPort มีอินเทอร์เฟซที่ไม่เป็นทางการซึ่งส่งเหตุการณ์มาตรฐาน เช่น message.received ทำตามข้อกำหนดการส่ง webhook: ตั้ง signing_secret ตรวจ HMAC-SHA256 ของ X-Device-Timestamp ตามด้วยจุดและเนื้อหาคำขอดิบ ตรวจความใหม่ของเวลา และตอบ 2xx หลังจัดเก็บอย่างถาวรแล้ว เก็บ ID บัญชีและการสนทนาที่สังเกตพบไว้ค้นหาภายหลัง

วิธีนี้ไม่ได้รับประกันว่าจะค้นพบแชตที่ไม่มีทราฟฟิกที่คุณเคยรับ UnifyPort ไม่มี REST API สำหรับอ่านประวัติข้อความ และไม่รับประกันการส่งเหตุการณ์ที่พลาดซ้ำ ขั้นตอนขอประวัติ WhatsApp ตามต้องการเป็นการขอข้อความเก่าที่มีอยู่แบบอะซิงโครนัสสำหรับแชตส่วนตัวที่ทราบและเข้าเงื่อนไข ไม่ใช่การไล่รายชื่อทุกแชต

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

เพิ่ม limit แล้วจะเห็นทุกแชตหรือไม่?

ไม่ ค่าเปลี่ยนเพียงจำนวนรายการต่อหน้าภายในคำขอเดิม ไม่ยกเลิกขอบเขตเริ่มต้นของแชตที่ให้ความสำคัญ

ใช้ ID ป้ายแทน ID การสนทนาได้หรือไม่?

ไม่ได้ ป้ายระบุหมวดหมู่ ส่วนการสนทนาระบุแชต เป็นคนละทรัพยากร

รายการว่างแปลว่าต้องยืนยันตัวตนใหม่หรือไม่?

ไม่ ให้ตรวจบัญชี ตัวกรอง การแบ่งหน้า และข้อผิดพลาดก่อน อย่าเริ่มการยืนยันตัวตนใหม่เพียงเพราะมุมมองที่กรองแล้วว่าง

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

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

ตรวจสอบแหล่งข้อมูลเมื่อ 2026-10-03:

UnifyPort API

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

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