การพัฒนาระบบแจ้งเตือนผ่าน LINE Messaging API แทนการให้บริการ LINE Notify

LINE Messaging API คืออะไร?

API หรือเครื่องมือที่จะทำหน้าที่เป็นตัวกลางที่จะเชื่อมต่อ Server ของเราเข้ากับห้องแชตของ LINE ทำให้ผู้ใช้งานสามารถเขียนโปรแกรมเพื่อสร้างบริการที่ต้องการ ผ่านการส่งข้อความและโต้ตอบกับผู้ใช้ในลักษณะ Chatbot นั่นเอง โดยนอกจาก Chatbot แล้ว ยังสามารถพัฒนาระบบต่าง ๆ ให้มาอยู่ใน Ecosystem ของ LINE เพื่อช่วยสร้างประสบการณ์ใหม่ ๆ ให้ลูกค้าได้ เช่น LIFF, LINE Beacon LINE และ เนื่องประกาศเตรียมยุติการให้บริการ LINE Notify ตั้งแต่วันที่ 31 มี.ค 2568 เป็นต้น

ทำไมต้องใช้ LINE Messaging API?

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

มันทำงานอย่างไร? (How It Works)

องค์ประกอบหลัก

⚙️ LINE Channel: ช่องทางการสื่อสารสำหรับ LINE Bot ของคุณ
🔑 Channel Access Token: กุญแจสำหรับยืนยันตัวตนเพื่อเรียกใช้ API
👤 User ID: รหัสเฉพาะตัวของผู้ใช้งาน LINE แต่ละคน
🔗 Webhook URL: ปลายทางบนเซิร์ฟเวอร์ของคุณที่ LINE จะส่งข้อมูลมาให้
↩️ Reply Token: โทเค็นสำหรับตอบกลับข้อความอย่างรวดเร็ว

กระบวนการ Webhook

1. ผู้ใช้ส่งข้อความ

⬇️

2. LINE Platform ส่ง Webhook Event

⬇️

3. Server ของคุณรับและประมวลผล

⬇️

4. Server ส่งคำสั่งตอบกลับ

⬇️

5. ผู้ใช้ได้รับข้อความตอบกลับ

ตารางเปรียบเทียบ

คุณสมบัติLINE NotifyLINE Messaging API
วัตถุประสงค์ส่งการแจ้งเตือนจากระบบภายนอก (เช่น GitHub, IFTTT, เว็บไซต์, เซ็นเซอร์) ไปยัง LINE ส่วนตัวหรือกลุ่ม LINEพัฒนา Chatbot และระบบที่สามารถโต้ตอบกับผู้ใช้งาน LINE ได้อย่างซับซ้อน เช่น การส่งข้อความอัตโนมัติ, ตอบคำถาม, เก็บข้อมูลลูกค้า, ส่งโปรโมชั่น, การเชื่อมโยงกับ LINE Official Account (LINE OA)
การโต้ตอบไม่มี (เป็นแบบ One-way communication)มี (เป็นแบบ Two-way communication) สามารถรับข้อความจากผู้ใช้งานและตอบกลับได้
การตั้งค่าสร้าง Token จากเว็บไซต์ LINE Notify และนำไปใช้งานกับระบบภายนอกได้ค่อนข้างง่ายต้องสร้าง LINE Official Account และเชื่อมต่อกับ Messaging API ต้องมีความรู้ในการเขียนโค้ดและพัฒนา Webhook เพื่อจัดการการรับ-ส่งข้อมูล
ประเภทข้อความข้อความธรรมดา, รูปภาพข้อความ, รูปภาพ, สติกเกอร์, วิดีโอ, Audio, Location, Imagemap, Template messages (เช่น Carousel, Buttons), Flex messages (ปรับแต่งการแสดงผลได้อิสระ) รวมถึง Rich Menu ที่สามารถแสดงเมนูต่างๆ ได้
ต้นทุนเคยเป็นบริการฟรี (แต่กำลังจะหยุดให้บริการ)มีโมเดลการคิดค่าบริการตามจำนวนข้อความที่ส่ง (มีโควต้าฟรีต่อเดือน) โดยเฉพาะ Push API จะมีค่าใช้จ่าย แต่ Reply API ไม่มีค่าใช้จ่าย
ความซับซ้อนต่ำ เหมาะสำหรับผู้เริ่มต้นหรือการแจ้งเตือนง่ายๆสูง ต้องใช้ความรู้ทางด้านการเขียนโปรแกรมและการออกแบบระบบ
สถานะบริการกำลังจะสิ้นสุดการให้บริการ (LINE แนะนำให้ย้ายไปใช้ Messaging API แทน)ให้บริการอยู่และเป็นบริการหลักที่ LINE แนะนำสำหรับธุรกิจและนักพัฒนา

ขั้นตอนในการย้าย

จาก Line notify ไปใช้ LINE Messaging API ในการแจ้งเตือน จะมีขั้นตอนดังนี้

1.สร้าง LINE Official Account ผูกกับ LINE Messaging API

2.สร้าง Channel Access Token สำหรับการส่งข้อความ

3.ค้นหา User ID สำหรับการส่งถึงผู้ใช้ หรือ Group ID สำหรับส่งถึงกลุ่ม

ขั้นตอนการสร้าง

Channel Access Token

ปัจจุบัน LINE Messaging API มีการออก Channel Access Token สำหรับการส่งหลายรูปแบบ ทั้ง Long-lived Channel Access Token, Short-lived Channel Access Token, และล่าสุด Stateless Channel Access Token สามารถใช้ได้เหมือนกันหมด แต่จะต่างกันที่ความปลอดภัย

ในบทความนี้เพื่อการใช้งานง่าย ๆ ไม่ต้องโค้ดเยอะ เราจะเลือกใช้เป็น Long-lived Channel Access Token ซึ่งสามารถไปสร้างได้ตามขั้นตอนนี้

เข้าไปที่ Channel ของ LINE Messaging API ที่สร้างในขั้นตอนที่ 1 ใน LINE Developers Console

เลือกแท็บ ‘Messaging API’

เลื่อนมาด้านล่างสุด ใต้หัวข้อ ‘Channel access token’ กด ‘Issue’

(หากใครเคยสร้างไว้แล้ว ไม่จำเป็นต้องกด ‘Reissue’ เพราะจะทำให้ Channel access token เดิมใช้ไม่ได้) เมื่อสร้าง Channel Access Token เรียบร้อยแล้ว ให้คัดลอกออกมาไว้เพื่อใช้ในขั้นตอนต่อไป

ค้นหา User ID

สำหรับการส่งถึงผู้ใช้ หรือ Group ID สำหรับส่งถึงกลุ่ม

เมื่อเราได้ของสำหรับการส่งข้อความใน LINE Messaging API มาแล้ว ทั้ง LINE Official Account และ Channel Access Token สิ่งหนึ่งที่ขาดไปไม่ได้นั่นคือ เราจะส่งไปให้ใคร จำเป็นที่จะต้องมี User ID หรือ Group ID ในการส่ง

เดิมทีเราจะทำการค้นหาข้อมูลเหล่านี้ จะต้องสร้าง Webhook เพื่อมาดูโดยเฉพาะ แต่เพื่อความง่าย เราจะใช้บริการหนึ่งที่ชื่อว่า Webhook.site ในการค้นหา แทนการสร้าง Webhook ขึ้นมาเอง

เข้าไปที่ Webhook.site

คัดลอกลิงก์ใต้หัวข้อ Your unique URL นำไปใส่เป็น Webhook URL ใน LINE Developers Console

เปิดการใช้งาน Webhook

หลังจากการตั้งค่า Webhook เสร็จเรียบร้อยแล้ว เราจะมาค้นหา User ID หรือ Group ID ที่จะใช้

** เมื่อทำการค้นหาเสร็จเรียบร้อยแล้ว อย่าลืมมาปิดการใช้งาน Webhook ออกไปด้วย ในการตั้งค่า ‘Use webhook’

สำหรับการส่งถึงผู้ใช้ หรือ Group ID สำหรับส่งถึงกลุ่ม

หา User ID เพื่อส่งแจ้งเตือนรายบุคคล

เพิ่ม LINE Official Account เป็นเพื่อน

ส่งข้อความอะไรก็ได้เพื่อระบุตัวตน

ค้นหา Event ที่ได้รับในเว็บไซต์ Webhook.site ด้วยข้อความที่ส่งมาตามที่เห็นในรูป

เก็บ User ID ที่ได้เพื่อใช้ส่งในขั้นตอนต่อไป

หา Group ID หรือ Room ID เพื่อส่งแจ้งเตือนในกลุ่มหรือห้อง

ก่อนอื่น เราจะต้องเปิดให้สามารถเชิญบอทเข้ากลุ่มได้ โดยตรวจสอบที่ด้านล่างในหัวข้อ ‘Allow bot to join group chats’ ว่าเป็น ‘Enabled’ แล้วหรือไม่

หากเป็น ‘Disabled’ กดที่ ‘Edit’ ด้านข้าง เพื่อตั้งค่าใน LINE Official Account Manager ภายใต้หัวข้อ ‘Toggle features’ ในการตั้งค่า ‘Group and multi-person chats’ ให้เลือกเป็น ‘Allow account to join groups and multi-person chats’

จากนั้นทำตามขั้นตอนดังนี้

เชิญบอทตัวที่ต้องการใช้เข้าร่วมกลุ่ม (หากกลุ่มนั้นมี LINE Notify หรือบอทตัวอื่น ๆ อยู่ จะต้องทำการเตะออกไปก่อน)

ส่งข้อความอะไรก็ได้เพื่อระบุตัวตัว

ค้นหา Event ที่ได้รับในเว็บไซต์ Webhook.site ด้วยข้อความที่ส่งมา

เก็บ Group ID หรือ Room ID ที่ได้เพื่อใช้ส่งในขั้นตอนต่อไป

ผู้เขียน

เอนกวิทย์ พลรบ
ฝ่ายปฏิบัติการและบริการ
สำนักคอมพิวเตอร์
anekwit@g.swu.ac.th