LINE ปรับสเปค Messaging API กลางดึก: เช้าวันรุ่งขึ้น Webhook ที่เคยส่ง Conversion เงียบสนิท

สรุปสั้น ๆ
เวลาข้อมูล Conversion หยุดไหลกะทันหัน หลายคนรีบไปดูฝั่งแพลตฟอร์มโฆษณาก่อน ทั้งที่บางเคสต้นเหตุอยู่ใกล้ตัวกว่านั้นมาก คือ LINE ปรับสเปค Messaging API หรือรูปแบบ Webhook แล้วระบบฝั่งร้านที่เขียนไว้เดิมอ่านข้อมูลรูปแบบใหม่ไม่ออก ทำให้ Conversion เงียบไปทั้งที่ลูกค้ายังทักและปิดการขายได้ตามปกติ
ทีมเทคนิคของร้านขายอุปกรณ์กีฬาแห่งหนึ่งเจอเรื่องแปลกอยู่พักหนึ่ง แชทลูกค้ายังเข้ามาปกติ แอดมินยังปิดการขายได้ตามเดิม แต่ระบบที่เชื่อมต่อไว้เพื่อส่งข้อมูล Conversion กลับไปยังแพลตฟอร์มโฆษณากลับไม่ขยับตัวเลขเลยตั้งแต่เช้าวันหนึ่ง ทั้งที่ไม่มีใครในทีมแตะโค้ดหรือแก้การตั้งค่าอะไรทั้งสิ้น
หลังไล่เช็กอยู่นานเกือบทั้งวัน ทีมเทคนิคถึงเจอว่า LINE ได้ประกาศปรับรูปแบบข้อมูลที่ส่งผ่าน Webhook ของ Messaging API ในบางฟิลด์ ทำให้โค้ดฝั่งร้านที่เขียนไว้เพื่ออ่านข้อมูลรูปแบบเดิม ไม่รู้จักฟิลด์ใหม่และเงียบไปเฉย ๆ โดยไม่มี error แจ้งเตือนชัดเจนด้วยซ้ำ
เรื่องนี้ต่างจากกรณีที่แพลตฟอร์มโฆษณาเปลี่ยนนโยบายการนับ Conversion ตรงที่จุดที่พังคือ ‘ท่อส่งข้อมูล’ ระหว่าง LINE กับระบบของร้านเอง ไม่ใช่วิธีนับผลของแพลตฟอร์มโฆษณา การวินิจฉัยผิดจุดจึงเสียเวลาไล่หาสาเหตุผิดที่ไปทั้งวัน
แยกให้ออก ระหว่าง ‘แพลตฟอร์มโฆษณาเปลี่ยนกฎ’ กับ ‘LINE เปลี่ยนสเปค API’
ทั้งสองอย่างทำให้ Conversion หายเหมือนกัน แต่จุดที่พังคนละที่ ถ้าเป็นแพลตฟอร์มโฆษณาเปลี่ยนนโยบายการนับ ตัวเลขในแดชบอร์ดโฆษณามักยังขยับอยู่บ้างแต่ผิดเพี้ยนไปจากที่ควรจะเป็น แต่ถ้า LINE ปรับสเปค Webhook ตัวเลขในระบบฝั่งร้านที่รับข้อมูลจาก LINE มักจะ ‘นิ่งสนิท’ ไปเลยเพราะระบบอ่านข้อมูลรูปแบบใหม่ไม่ออกตั้งแต่ต้นทาง
สัญญาณที่ช่วยแยกได้เร็วคือ ให้เช็กว่าแชทลูกค้ายังทำงานปกติไหม ถ้าลูกค้ายังทักเข้ามาได้ แอดมินยังคุยได้ปกติ แต่มีแค่ข้อมูลที่ส่งต่อไปยังระบบวัดผลเท่านั้นที่หยุดนิ่ง ให้สงสัยไว้ก่อนว่าอาจเป็นเรื่อง Webhook หรือ API เปลี่ยน ไม่ใช่เรื่องนโยบายแพลตฟอร์มโฆษณา
ลำดับการเช็กเมื่อสงสัยว่าเป็นเพราะ LINE ปรับสเปค
- เข้าไปดูหน้า Developers ของ LINE หรือประกาศในช่องทางสำหรับนักพัฒนาโดยตรง เพราะการเปลี่ยนแปลงระดับ API มักประกาศที่นี่ก่อน ไม่ใช่ในหน้าข่าวทั่วไปที่ทีมการตลาดติดตาม
- ตรวจ log ของระบบที่รับ Webhook ว่ามีการเรียกเข้ามาอยู่ไหม หรือหยุดเรียกไปเลย ถ้ายังมีการเรียกเข้ามาแต่ระบบตีความข้อมูลผิด แปลว่าเป็นเรื่องรูปแบบข้อมูลเปลี่ยน ไม่ใช่การเชื่อมต่อขาดหาย
- เทียบโครงสร้างข้อมูล (payload) ที่ได้รับจริงในวันที่มีปัญหา กับเอกสารสเปคเดิมที่ทีมใช้อ้างอิงตอนพัฒนาระบบครั้งแรก เพื่อหาว่าฟิลด์ไหนถูกเพิ่ม ลบ หรือเปลี่ยนชื่อไป
- แก้โค้ดให้รองรับรูปแบบใหม่ แล้วทดสอบด้วยการส่งข้อความทดลองผ่านแชทจริงเพื่อยืนยันว่าข้อมูล Conversion กลับมาไหลตามปกติแล้วก่อนประกาศว่าปัญหาจบ
ลดความเปราะบางของระบบที่พึ่งพา API ภายนอก
- อย่าเขียนโค้ดให้ ‘พัง’ ทันทีเมื่อเจอฟิลด์ที่ไม่รู้จัก ให้ระบบข้ามฟิลด์ใหม่ที่ไม่เข้าใจไปก่อนแล้วแจ้งเตือนทีมเทคนิค แทนที่จะทำให้การอ่านข้อมูลทั้งก้อนล้มเหลวไปเลย
- ตั้งระบบแจ้งเตือนอัตโนมัติเมื่อจำนวน Webhook ที่เข้ามาผิดปกติจากค่าเฉลี่ยที่เคยเป็น เช่น ลดลงเกิน 50% ในชั่วโมงเดียว เพื่อรู้ตัวเร็วกว่าการรอให้ทีมการตลาดสังเกตเองจากรายงานที่ผิดปกติ
- ติดตามช่องทางประกาศของนักพัฒนา LINE เป็นระยะแม้ทีมจะไม่ใช่สายเทคนิคโดยตรง เพราะการรู้ล่วงหน้าแม้เพียงไม่กี่วันก็ช่วยให้เตรียมแก้โค้ดได้ทันก่อนวันที่สเปคเก่าจะถูกเลิกใช้จริง
สื่อสารกับทีมการตลาดระหว่างที่ทีมเทคนิคกำลังแก้ปัญหา
ช่วงที่ Conversion หายเพราะ Webhook พัง เป็นช่วงที่อันตรายถ้าทีมการตลาดเข้าใจผิดว่าแคมเปญไม่ได้ผล แล้วรีบตัดสินใจปรับงบหรือหยุดแคมเปญที่จริง ๆ ยังทำงานได้ดีอยู่ ทีมเทคนิคจึงควรแจ้งทันทีที่สงสัยว่าเป็นปัญหาฝั่งระบบ ไม่ใช่ปัญหาผลงานแคมเปญ เพื่อกันการตัดสินใจผิดพลาดที่แก้คืนได้ยากกว่าการรอแก้ระบบไม่กี่ชั่วโมง
หลังแก้เสร็จ ควรกลับไปเทียบข้อมูลช่วงที่ Webhook หยุดทำงานกับยอดแชทที่ปิดการขายได้จริงในช่วงเดียวกันเพื่อประเมินว่าพลาดการนับ Conversion ไปเท่าไหร่ แล้วอัปเดตตัวเลขย้อนหลังให้ใกล้เคียงความจริงที่สุดเท่าที่ทำได้
สรุป
ไม่ใช่ทุกครั้งที่ Conversion หายเพราะแพลตฟอร์มโฆษณาเปลี่ยนกฎการนับผล บางเคสต้นเหตุเล็กกว่านั้นมาก คือช่องทางส่งข้อมูลระหว่าง LINE กับระบบของร้านเองที่เปลี่ยนรูปแบบไปโดยไม่มีใครสังเกต
การแยกให้ออกว่าปัญหาอยู่ที่จุดไหน ช่วยประหยัดเวลาการแก้ปัญหาไปได้มาก และป้องกันการตัดสินใจผิดพลาดที่คิดว่าแคมเปญแย่ลงทั้งที่จริงเป็นแค่ท่อส่งข้อมูลสะดุดชั่วคราว
- แยกให้ออกว่า Conversion หายเพราะแพลตฟอร์มโฆษณาเปลี่ยนกฎ หรือ LINE เปลี่ยนสเปค Webhook
- เช็ก log การรับ Webhook และเทียบกับเอกสารสเปคเดิมเพื่อหาฟิลด์ที่เปลี่ยนไป
- เขียนระบบให้ทนทานต่อฟิลด์ใหม่ที่ไม่รู้จัก แทนที่จะปล่อยให้การอ่านข้อมูลทั้งก้อนล้มเหลว
คำถามที่พบบ่อย
จะรู้ได้ยังไงว่า Conversion หายเพราะ LINE เปลี่ยนสเปค ไม่ใช่เพราะแพลตฟอร์มโฆษณา
ให้สังเกตว่าแชทลูกค้ายังทำงานปกติไหม ถ้าลูกค้ายังทักและปิดการขายได้ปกติ แต่มีแค่ข้อมูลที่ส่งต่อไปยังระบบวัดผลหยุดนิ่ง มักเป็นสัญญาณของปัญหาที่ Webhook หรือ API มากกว่าเรื่องนโยบายแพลตฟอร์มโฆษณา
ร้านขนาดเล็กที่ไม่มีทีมพัฒนาเอง จะรู้ตัวได้ยังไงว่า Webhook พัง
ควรตั้งระบบแจ้งเตือนอัตโนมัติเมื่อจำนวนข้อมูลที่เข้ามาผิดปกติจากค่าเฉลี่ย หรือถ้าใช้บริการภายนอกที่ดูแลการเชื่อมต่อให้ ควรสอบถามผู้ให้บริการว่ามีการติดตามประกาศจาก LINE อย่างสม่ำเสมอหรือไม่
ควรหยุดแคมเปญโฆษณาไหมระหว่างที่ Conversion ยังนิ่งอยู่
ไม่จำเป็นต้องหยุดทันที เพราะปัญหาอยู่ที่การวัดผล ไม่ใช่ที่ตัวแคมเปญ ควรใช้ข้อมูลยอดขายจริงจากแชทประกอบการตัดสินใจแทนตัวเลข Conversion ที่ยังไม่ไหลระหว่างรอแก้ไข
การเปลี่ยนสเปค API ของ LINE เกิดขึ้นบ่อยแค่ไหน
ไม่มีตารางเวลาตายตัว แต่แพลตฟอร์มส่วนใหญ่มักปรับปรุงสเปคเป็นระยะเพื่อความปลอดภัยหรือฟีเจอร์ใหม่ ทีมที่ดูแลระบบเชื่อมต่อควรติดตามประกาศนักพัฒนาอย่างสม่ำเสมอแทนที่จะรอให้ระบบพังก่อนถึงจะรู้
ทำไมระบบไม่ฟ้อง error ชัดเจนเวลาสเปคเปลี่ยน
เพราะการเปลี่ยนแปลงหลายครั้งเป็นการเพิ่มหรือปรับฟิลด์ ไม่ใช่การตัดการเชื่อมต่อทั้งหมด ระบบที่เขียนไม่รัดกุมพออาจอ่านข้อมูลผิดพลาดแบบเงียบ ๆ แทนที่จะแจ้ง error ให้เห็นชัด
มีระบบไหนช่วยตรวจสอบว่าการเชื่อมต่อ Conversion ยังทำงานปกติอยู่ไหม
ระบบอย่าง linli ที่ผูกการปิดการขายในแชทเข้ากับข้อมูล Conversion โดยตรง มักมีการแจ้งเตือนเมื่อการไหลของข้อมูลผิดปกติ ช่วยให้รู้ตัวเร็วกว่าการรอให้ทีมการตลาดสังเกตจากรายงานที่ดูผิดเพี้ยนเอง
บทความที่เกี่ยวข้อง


