พัฒนาระบบ LINE

เชื่อม LINE กับ CRM: webhook, LINE user ID และความยินยอม

เกิดอะไรขึ้นเมื่อลูกค้าส่งข้อความหา LINE OA ของคุณ และจะนำบทสนทนานั้นเข้า CRM อย่างปลอดภัยตาม PDPA ของไทยได้อย่างไร

WebhookCRMPDPA

สรุปสำคัญ

  • Webhook คือช่องทางที่ LINE ใช้แจ้งเซิร์ฟเวอร์ของคุณว่ามีเหตุการณ์เกิดขึ้น เช่น ข้อความใหม่ การเพิ่มเพื่อน การบล็อก หรือการกดปุ่ม
  • LINE user ID ไม่ใช่เบอร์โทรศัพท์ การจับคู่กับลูกค้าใน CRM ต้องมีขั้นตอนที่ตั้งใจออกแบบ เช่น แบบฟอร์มจอง หรือการล็อกอินผ่าน LINE
  • ความยินยอม ควรเฉพาะเจาะจง มีบันทึก และถอนได้ ภายใต้ PDPA คุณต้องแจ้งให้ชัดว่าเก็บข้อมูลอะไรและเพื่ออะไร
  • เก็บเท่าที่จำเป็น เก็บบทสนทนาอย่างมีวัตถุประสงค์และมีระยะเวลาเก็บรักษา ไม่ใช่เก็บตลอดไปโดยปริยาย

ลูกค้าส่งข้อความหา LINE Official Account ของคุณ อีกไม่กี่วินาทีข้อความนั้นควรไปปรากฏในประวัติลูกค้าใน CRM ถัดจากรายการจองครั้งก่อนๆ ฟังดูง่าย แต่เบื้องหลังมีคำถามแยกกันสามข้อ คือ ข้อความเดินทางจาก LINE ไปถึงระบบของคุณได้อย่างไร คุณรู้ได้อย่างไรว่าข้อความนี้เป็นของลูกค้าคนไหน และคุณมีสิทธิ์เก็บข้อความนั้นหรือไม่

คู่มือนี้ตอบทั้งสามข้อด้วยภาษาที่เข้าใจง่าย เพื่อให้คุณสื่อสารกับนักพัฒนาและถามเรื่องความปลอดภัยและความเป็นส่วนตัวได้ตรงจุด

ข้อความจากลูกค้าเข้า LINE OA แล้วเกิดอะไรขึ้น

LINE ไม่ได้รอให้ระบบของคุณมาถามหาข้อความใหม่ แต่คุณให้ที่อยู่ของ webhook บนเซิร์ฟเวอร์ของคุณไว้กับ LINE เมื่อมีเหตุการณ์เกิดขึ้นในบัญชี LINE จะส่งข้อมูลชุดเล็กๆ ที่เรียกว่าเหตุการณ์ (event) มายังที่อยู่นั้น

เหตุการณ์ของ webhook เปรียบเหมือนใบแจ้งการจัดส่ง บอกว่าเกิดอะไรขึ้น มาจากใคร และเมื่อไร เซิร์ฟเวอร์ของคุณอ่านใบแจ้งแล้วตัดสินใจว่าจะทำอะไรต่อ Messaging API รองรับเหตุการณ์หลายประเภท ที่ธุรกิจส่วนใหญ่ให้ความสำคัญมีดังนี้

เหตุการณ์ ความหมาย ระบบของคุณอาจทำอะไร
Message ลูกค้าส่งข้อความ รูปภาพ สติกเกอร์ หรือเนื้อหาอื่น บันทึก ตอบกลับ หรือส่งต่อให้พนักงาน
Follow มีคนเพิ่ม OA ของคุณเป็นเพื่อน ทักทาย และชวนให้เชื่อมโปรไฟล์
Unfollow มีคนบล็อกหรือลบ OA ของคุณ หยุดส่งข้อความ และอัปเดต CRM
Postback มีคนกดปุ่มที่ส่งข้อมูลซ่อนไว้ ทำขั้นตอนการจองหรือเมนูต่อ

รายการทั้งหมดอยู่ใน เอกสารสำหรับนักพัฒนาของ LINE และเพิ่มขึ้นเรื่อยๆ ตามเวลา ควรให้นักพัฒนาของคุณรองรับเฉพาะเหตุการณ์ที่จำเป็น และข้ามเหตุการณ์อื่นอย่างปลอดภัย

การตรวจสอบลายเซ็นของ webhook

ที่อยู่ webhook ของคุณเป็นสาธารณะ จึงมีใครก็ได้ส่งเหตุการณ์ปลอมเข้ามา LINE ป้องกันเรื่องนี้ด้วยการแนบลายเซ็นไปกับทุกคำขอจริง ซึ่งสร้างจากเนื้อหาดิบของคำขอด้วย channel secret ของคุณ เซิร์ฟเวอร์ต้องคำนวณลายเซ็นซ้ำและเปรียบเทียบก่อนเชื่อข้อมูลใดๆ ในคำขอนั้น

การข้ามขั้นตอนนี้เป็นความผิดพลาดที่พบบ่อยที่สุดอย่างหนึ่งในโปรเจกต์ที่เร่งรีบ หากไม่ตรวจสอบ ผู้ที่รู้ที่อยู่ก็สร้างการจอง กระตุ้นการตอบกลับ หรือแทรกข้อมูลเท็จเข้า CRM ของคุณได้ เมื่อตรวจงานของนักพัฒนา ให้ถามตรงๆ ว่า “เราตรวจสอบลายเซ็นในทุกคำขอหรือไม่ และเกิดอะไรขึ้นเมื่อการตรวจสอบไม่ผ่าน”

ข้อความตอบกลับ (reply) หรือข้อความพุช (push)

เหตุการณ์ข้อความทุกรายการมาพร้อม reply token แบบใช้ครั้งเดียว เซิร์ฟเวอร์ใช้ตอบเหตุการณ์นั้นได้ แต่ต้องอยู่ในช่วงเวลาสั้นๆ และใช้ได้เพียงครั้งเดียว ควรตรวจสอบเอกสารฉบับล่าสุดเพื่อดูขีดจำกัดที่แน่นอน แทนที่จะอาศัยความจำ

ข้อความที่อยู่นอกช่วงเวลานั้น เช่น การแจ้งเตือนในเช้าวันถัดไป หรือข้อความที่คุณเป็นฝ่ายเริ่มเอง จะส่งเป็น push message ทางเลือกนี้มีผลในทางปฏิบัติ ดังนี้

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

จับคู่ LINE user ID กับลูกค้าใน CRM

ทุกเหตุการณ์มี LINE user ID ซึ่งเป็นรหัสยาวที่ระบุบุคคลหนึ่งคน มีสองประเด็นที่หลายทีมมองข้าม

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

ดังนั้นการจับคู่ผู้ใช้ LINE กับลูกค้าใน CRM ต้องเป็นขั้นตอนที่ออกแบบไว้โดยเจตนา วิธีที่นิยมใช้มีดังนี้

  1. แบบฟอร์มจองหรือลงทะเบียน ที่เปิดใน LINE ผ่าน LIFF ลูกค้ากรอกเบอร์โทรศัพท์หรืออีเมล แล้วระบบเก็บไว้คู่กับ LINE user ID ความแตกต่างระหว่าง LIFF, OA และ MINI App อธิบายไว้ใน LINE OA, LIFF หรือ MINI App ต่างกันอย่างไร
  2. รหัสใช้ครั้งเดียว ส่งไปยังเบอร์โทรศัพท์ที่มีอยู่แล้วใน CRM แล้วให้ลูกค้ากรอกในแชท
  3. พนักงานช่วยเชื่อม ที่เคาน์เตอร์หรือทางโทรศัพท์ เช่น ให้สแกน QR code

ไม่ว่าเลือกวิธีใด ควรกำหนดไว้ด้วยว่าจะทำอย่างไรเมื่อลูกค้ามีข้อมูลอยู่แล้วภายใต้เบอร์โทรศัพท์อื่น หากไม่มีกฎ คุณจะได้ลูกค้าซ้ำ คนหนึ่งจากการจองหน้าร้าน อีกคนจาก LINE การมีคีย์สำหรับจับคู่ (โดยทั่วไปคือเบอร์โทรศัพท์ที่ยืนยันแล้ว) และขั้นตอนรวมข้อมูลสำหรับพนักงานช่วยป้องกันปัญหานี้ได้เกือบทั้งหมด

ความยินยอมและ PDPA: ควรแจ้งอะไรให้ลูกค้าทราบ

พ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 (PDPA) มีผลทันทีที่คุณเก็บข้อมูลส่วนบุคคล และบทสนทนาใน LINE ที่เชื่อมกับชื่อ เบอร์โทรศัพท์ หรือประวัติการจอง ถือเป็นข้อมูลส่วนบุคคล ประเด็นต่อไปนี้เป็นข้อมูลทั่วไป ไม่ใช่คำแนะนำทางกฎหมาย ควรให้ผู้เชี่ยวชาญที่มีคุณสมบัติตรวจสอบข้อความของคุณเอง

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

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

เก็บประวัติการสนทนาอย่างเหมาะสม

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

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

จุดพลาดที่พบบ่อยและควรตรวจสอบ

  • Webhook ที่ไม่ได้ตรวจสอบ ใครก็ส่งเหตุการณ์ปลอมได้ หากไม่ตรวจสอบลายเซ็น
  • ลูกค้าซ้ำ ไม่มีกฎจับคู่ระหว่างผู้ใช้ LINE กับข้อมูลใน CRM ที่มีอยู่
  • มองข้ามเหตุการณ์ unfollow การแจ้งเตือนยังส่งไปหาคนที่จากไปแล้ว และ CRM แสดงจำนวนผู้รับที่ไม่จริง
  • เหตุการณ์สูญหาย เซิร์ฟเวอร์ล่มหรือช้าตอน LINE ส่งเหตุการณ์มา และไม่มีการลองใหม่หรือบันทึกไว้
  • เก็บทุกอย่างตลอดไป ไม่มีระยะเวลาเก็บรักษา ไม่มีขั้นตอนการลบ
  • ความยินยอมเดียวสำหรับทุกเรื่อง รวมข้อความการตลาดกับข้อความบริการเข้าด้วยกัน

ขั้นตอนถัดไป: ดูว่าทำงานอย่างไรในผลิตภัณฑ์จริง

หากต้องการดูแนวคิดเหล่านี้ในระบบที่ใช้งานจริง กรณีศึกษา FoxConnect แสดงแพลตฟอร์มจองคิวและ CRM ที่ทำงานอยู่ภายใน LINE หาก CRM ของคุณต้องเชื่อมต่อ เรายินดีดูเหตุการณ์ กฎการจับคู่ และข้อความขอความยินยอมไปพร้อมกับคุณ และ ส่วนขยายที่เราพัฒนาบน FoxConnect แสดงรูปแบบการเชื่อมต่อที่ทำได้

บทความถัดไปในหัวข้อนี้LINE OA, LIFF หรือ LINE MINI App: ธุรกิจของคุณควรใช้อะไรอ่านต่อ

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

ดึงเบอร์โทรศัพท์ของลูกค้าจาก LINE ได้หรือไม่

ไม่ได้โดยอัตโนมัติ LINE user ID ใช้ระบุตัวบุคคลภายในช่องทางของคุณเท่านั้น และไม่เปิดเผยเบอร์โทรศัพท์หรืออีเมล หากต้องการข้อมูลเหล่านี้ ให้ขอผ่านแบบฟอร์มพร้อมระบุเหตุผลที่ชัดเจน แล้วผูกกับ LINE user ID

จะเกิดอะไรขึ้นเมื่อมีคนบล็อกหรือเลิกเป็นเพื่อนกับ OA ของเรา

LINE จะส่งเหตุการณ์ unfollow มายังเซิร์ฟเวอร์ของคุณ หลังจากนั้นคุณจะส่งข้อความหาบุคคลนั้นไม่ได้อีก CRM จึงควรทำเครื่องหมายว่าติดต่อผ่าน LINE ไม่ได้ และหยุดการแจ้งเตือนที่ตั้งเวลาไว้ หากเขากลับมาเพิ่มเพื่อน คุณจะได้รับเหตุการณ์ follow

บทความนี้เป็นคำแนะนำทางกฎหมายเกี่ยวกับ PDPA หรือไม่

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

เขียนโดยทีมวิศวกร FoxSoftนักพัฒนา LINE ในกรุงเทพฯ เราสร้างและดูแล FoxConnect และ FoxSpace รวมถึงออกแบบและพัฒนาโปรเจกต์ LINE เว็บ และ API เฉพาะสำหรับธุรกิจไทย