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

User ID ของ LINE Login กับ Messaging API ไม่ตรงกัน? ตรวจสอบ Provider ก่อน

หากผู้ใช้คนเดียวกันมี User ID จาก LINE Login และ Messaging API ไม่ตรงกัน ให้ตรวจสอบว่าแต่ละ channel อยู่ภายใต้ LINE provider ใด LINE ออก User ID แยกตาม provider: ผู้ใช้คนเดิมจะมี ID เดียวกันใน channel ต่างประเภทที่อยู่ใต้ provider เดียวกัน แต่จะมี ID ต่างกันเมื่ออยู่คนละ provider อย่ารวมข้อมูลลูกค้าจากชื่อที่แสดงเพียงอย่างเดียว หรือคิดว่าการเปลี่ยน token จะทำให้ ID ตรงกัน

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

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

ทำไม User ID ของ LINE Login และ Messaging API จึงต่างกัน

เอกสารการรับ User ID ของ LINE ระบุขอบเขตไว้อย่างชัดเจนว่า provider เป็นตัวกำหนด namespace ของตัวตน ไม่ใช่ประเภท channel

สิ่งที่เปรียบเทียบข้อกำหนดหรือขอบเขตการตีความแนวทางของแอป
ผู้ใช้คนเดิมใน Login และ Messaging API ใต้ provider เดียวกันUser ID เดียวกันเปรียบเทียบ ID ที่ตรวจสอบแล้วภายใน provider นั้น
ผู้ใช้คนเดิมในคนละ providerUser ID ต่างกันแยกตัวตนไว้จนกว่าจะผ่านกระบวนการเชื่อมบัญชีโดยชัดแจ้ง
ชื่อที่แสดงเหมือนกันไม่ใช่หลักฐานว่าเป็นคนเดียวกันไม่รวมข้อมูลอัตโนมัติ
LINE ID สำหรับค้นหากับ API User IDเป็นคนละตัวระบุใช้ค่าจาก API ไม่ใช่ ID สำหรับค้นหาในโปรไฟล์

ตัวอย่างเช่น channel สำหรับเข้าสู่เว็บไซต์กับ channel ของทีมบริการลูกค้าอาจถูกสร้างโดยคนละทีมภายใต้คนละ provider นี่เป็นตัวอย่างการตั้งค่า ไม่ใช่เหตุการณ์ของลูกค้าที่เกิดขึ้นจริง การค้นหา CRM ไม่พบในกรณีนี้ไม่ได้พิสูจน์ว่า LINE เปลี่ยนตัวตนของผู้ใช้โดยไม่คาดคิด

คำว่า provider ต้องแยกให้ชัดด้วย: LINE provider คือกลุ่มเจ้าของ channel ใน LINE Developers Console ส่วน provider: line ของ UnifyPort หมายถึงแพลตฟอร์มข้อความ ทั้งสองอย่างไม่ใช่ namespace เดียวกัน

ตรวจสอบต้นทางก่อนแก้การตั้งค่า

  1. ระบุแหล่งที่มาของ ID ทั้งคู่ บันทึก channel และยืนยันว่าค่ามาจากขั้นตอน Login ที่เชื่อถือได้หรือ Messaging API webhook อย่าเปรียบเทียบชื่อที่กรอกเองกับตัวระบุ API
  2. ตรวจสอบเจ้าของ channel เปิดแต่ละ channel ใน Console และบันทึก provider รวมถึงแยกสภาพแวดล้อมทดสอบกับระบบจริง ชื่อ channel คล้ายกันไม่ได้แปลว่าอยู่ใต้ provider เดียวกัน
  3. ใช้บัญชีทดสอบที่ควบคุมได้ เข้าสู่ระบบและส่งข้อความด้วยบัญชีที่ตั้งใจใช้ แล้วเปรียบเทียบหลักฐานฝั่งเซิร์ฟเวอร์ที่ตรวจสอบแล้ว ไม่ใช้ภาพหน้าจอที่ไม่เกี่ยวข้องหรือข้อมูลโปรไฟล์จากไคลเอนต์ที่ยังไม่ตรวจสอบ
  4. ตรวจสอบข้อมูลที่แอปบันทึก หาก provider เดียวกันแต่ข้อมูลต่างกัน ให้หาปัญหา session เก่า ผู้ใช้ที่เข้าสู่ระบบคนละคน การใช้ environment ผิด หรือการจับคู่ฟิลด์ผิดก่อน
  5. หยุดการรวมข้อมูลที่ไม่แน่ใจ เก็บทั้งสองรายการไว้ระหว่างตรวจสอบ อย่าเขียน ID หนึ่งทับอีก ID เพียงเพื่อให้ค้นหาพบ

ถ้าปัญหาจริงคือหลายเครื่องมือแย่งใช้ข้อมูลรับรองหรือ webhook ของ Official Account เดียวกัน ให้อ่านเช็กลิสต์ใช้หลายเครื่องมือกับ LINE Official Account เดียว ซึ่งเป็นคนละปัญหากับขอบเขต User ID

ถ้าสร้าง channel ไว้คนละ provider แล้วต้องทำอย่างไร

คู่มือเริ่มใช้ LINE Login ระบุว่า channel ที่สร้างแล้วไม่สามารถย้ายไป provider อื่นได้ และแนะนำให้สร้าง Login กับ Messaging API channel ที่ต้องเชื่อมกันไว้ใต้ provider เดียวกันตั้งแต่แรก

สำหรับระบบที่ใช้งานอยู่ อย่าถือว่าการลบแล้วสร้างใหม่เป็นการแก้ไขที่ไม่มีผลกระทบ ต้องสำรวจการเข้าสู่ระบบ ข้อมูลรับรอง callback และการอ้างอิงตัวตนที่จัดเก็บไว้ก่อนวางแผนเปลี่ยน channel ใหม่ไม่ได้ยืนยันว่า mapping ใน CRM เดิมจะใช้ต่อได้

ข้อเสนอด้านการออกแบบภายในแอป คือแยกตัวตนภายนอกจากระเบียนลูกค้าภายใน เก็บระบบต้นทาง LINE provider แหล่ง channel และ User ID แล้วจัดเก็บความสัมพันธ์กับลูกค้าที่ผ่านการตรวจสอบแยกต่างหาก ข้อมูลเหล่านี้เป็นแนวคิดการจัดเก็บภายใน ไม่ใช่ฟิลด์ใหม่ของ LINE webhook

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

แยกตัวตน UnifyPort ออกจากปลายทางตอบกลับ

อินเทอร์เฟซที่ไม่เป็นทางการของ UnifyPort เป็นเส้นทางข้อความอีกแบบสำหรับบัญชีที่เชื่อมต่อ สัญญาอีเวนต์มาตรฐาน มี provider, account_id, data.sender.id และ data.conversation.id โดย sender ระบุผู้ส่ง ส่วน conversation ระบุแชต ต้องแยกสองค่านี้ให้ชัด โดยเฉพาะในกลุ่ม

ระเบียนภายในขอบเขตที่แนะนำ
ตัวตน LINE ทางการtenant ของแอป, LINE provider, User ID ที่ตรวจสอบแล้ว
ผู้ส่ง UnifyPortworkspace, provider, account_id, data.sender.id
การสนทนา UnifyPortworkspace, provider, account_id, data.conversation.id
ความสัมพันธ์กับลูกค้าภายในลิงก์ที่ตรวจสอบแล้วไปยังตัวตนจากต้นทางนั้น

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

เอกสารรายการผู้ติดต่อ ส่งคืน id, conversation_id และ provider_user_id แยกกัน โดยให้ใช้ conversation_id สำหรับหาแชตหรือส่งข้อความ เก็บ mapping ที่ได้รับแทนการใช้ ID ผู้ติดต่อแทนโดยตรง ประเด็นนี้สำคัญในการซิงก์ชื่อผู้ติดต่อ WhatsApp เช่นกัน แต่ห้ามนำพฤติกรรม contact.updated ของบทความนั้นมาใช้เป็นข้อสรุปสำหรับ LINE

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

การทดสอบรับรองและข้อจำกัด

ก่อนเปิดการเชื่อม CRM ให้ทดสอบผู้ใช้คนเดิมใต้ provider เดียวกัน ผู้ใช้คนเดิมข้าม provider ผู้ใช้สองคนชื่อเหมือนกัน และบัญชีรับส่งข้อความ UnifyPort คนละบัญชี ผลจับคู่ที่ล้มเหลวหรือไม่ชัดเจนควรคงตัวตนแยกกัน ไม่รวมประวัติแชตโดยเงียบ ๆ

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

หากต้องการเชื่อมตัวตน LINE Login กับ Official Account ให้ใช้ channel ทางการ UnifyPort ไม่ย้าย channel ไม่มอบสิทธิ์ของระบบทางการ และไม่ยืนยันตัวตนเดียวกันข้าม provider ให้อัตโนมัติ

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

LINE Login กับ Messaging API ควรคืน User ID เดียวกันหรือไม่?

ใช่ เมื่อเป็นผู้ใช้ LINE คนเดียวกันภายใต้ provider เดียวกัน แต่คนละ provider จะออก ID ต่างกัน

ย้าย channel เพื่อแก้ปัญหาได้หรือไม่?

ไม่ได้ LINE ระบุว่า channel เดิมย้ายไป provider อื่นไม่ได้ ควรวางแผนเจ้าของก่อนสร้าง channel ที่ต้องเชื่อมกัน

ใช้ชื่อหรือ UnifyPort sender ID แก้ความไม่ตรงกันอัตโนมัติได้ไหม?

ไม่ได้ ชื่อไม่ใช่คีย์ตัวตน และไม่มีเอกสารระบุการแปลงจาก User ID ของ LINE ทางการเป็น UnifyPort sender ID

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

เริ่มจากบันทึก provider ของ channel ทางการทั้งคู่ หากสร้าง inbox แยกสำหรับบัญชีที่เชื่อมต่อ ให้อ่านโครงสร้างอีเวนต์ UnifyPort และออกแบบขอบเขตตัวตนก่อนนำเข้าผู้ติดต่อ

ตรวจสอบเอกสารทางการเมื่อ 2026-10-05:

UnifyPort API

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

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