Sitemap
LINE Developers Thailand

Closing the distance. Our mission is to bring people, information and services closer together

บ๊ายบาย!! ย้ายบ้านจาก LINE Notify สู่ LINE Messaging API หา User ID, Group ID ง่าย ๆ ไม่ต้องทำ Webhook เอง

4 min readOct 7, 2024

--

Press enter or click to view image in full size

หลังจากที่วันนี้ LINE ได้ประกาศหยุดให้บริการ LINE Notify บริการการแจ้งเตือนฟรีผ่าน LINE OA ที่ชื่อว่า ‘LINE Notify’ ที่เป็นที่พึ่งพิงของใครหลาย ๆ คน ทั้งผู้ใช้ทั่ว ๆ ไป จนไปถึงระดับองค์กรต่าง ๆ ซึ่ง LINE Notify จะให้บริการในวันที่ 31 มีนาคม 2568 เป็นวันสุดท้าย และเตรียมเป็นธานอสดีดนิ้วสลายทุกสิ่งที่เกี่ยวกับ LINE Notify ในวันที่ 12 พฤษภาคม 2568 เป็นต้นไป เหลือไว้เพียงความทรงจำ

คราวนี้สิ่งที่หลาย ๆ คนต้องการทราบ และต้องเตรียมรับมือสิ่งที่จะมาถึงในอีก 2 ไตรมาสข้างหน้า คือ สามารถเปลี่ยนไปใช้อะไรได้บ้าง และจะต้องทำอย่างไร ในฐานะคนที่ไม่ได้ทำ LINE Chatbot อยู่แล้ว

ในประกาศสิ้นสุดการให้บริการ LINE Notify ได้แนะนำให้ไปใช้ LINE Messaging API แทน ซึ่งสิ่งที่จะต้องใช้สำหรับการส่งข้อความไม่ใช่แค่ Channel Access Token เพียงอย่างเดียวแล้ว บทความนี้เราจะมาพากันไปทำว่าถ้าต้องการย้ายบ้านจาก LINE Notify มาที่ LINE Messaging API ต้องทำอย่างไรบ้าง แบบที่จับโค้ดน้อยที่สุด ไม่ต้องเขียน Webhook ใช้งานเอง

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

  1. สร้าง LINE Official Account ผูกกับ LINE Messaging API
  2. สร้าง Channel Access Token สำหรับการส่งข้อความ
  3. ค้นหา User ID สำหรับการส่งถึงผู้ใช้ หรือ Group ID สำหรับส่งถึงกลุ่ม
  4. เปลี่ยนการเรียก API จาก LINE Notify สู่ LINE Messaging API

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

หากใครยังไม่มี LINE Official Account หรือยังไม่ได้ผูกกับ LINE Messaging API ไว้ สามารถดูวิธีการสร้างได้ที่บทความด้านล่างนี้เลย (ทำถึงข้อ 3 และกลับมาทำต่อในบทความนี้)

2. สร้าง 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 เรียบร้อยแล้ว ให้คัดลอกออกมาไว้เพื่อใช้ในขั้นตอนต่อไป

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

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

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

  • อันดับแรก เข้าไปที่ Webhook.site
Press enter or click to view image in full size
  • คัดลอกลิงก์ใต้หัวข้อ Your unique URL
  • นำไปใส่เป็น Webhook URL ใน LINE Developers Console
  • เปิดการใช้งาน Webhook

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

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

Get Supakarn Laorattanakul’s stories in your inbox

Join Medium for free to get updates from this writer.

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

  • เพิ่ม LINE Official Account เป็นเพื่อน
  • ส่งข้อความอะไรก็ได้เพื่อระบุตัวตน
  • ค้นหา Event ที่ได้รับในเว็บไซต์ Webhook.site ด้วยข้อความที่ส่งมา
Press enter or click to view image in full size
  • เก็บ User ID ที่ได้เพื่อใช้ส่งในขั้นตอนต่อไป

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

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

Press enter or click to view image in full size

หากเป็น ‘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 ด้วยข้อความที่ส่งมา
Press enter or click to view image in full size
  • เก็บ Group ID หรือ Room ID ที่ได้เพื่อใช้ส่งในขั้นตอนต่อไป

4. เปลี่ยนการเรียก API จาก LINE Notify สู่ LINE Messaging API

การเปลี่ยนมาใช้ LINE Messaging API มีข้อดีหลาย ๆ อย่างคือเราสามารถส่งข้อความได้ในหลาย ๆ รูปแบบมากยิ่งขึ้น ได้ทั้ง Text, Image, Video, Audio, Location, หรือจะทำเป็นข้อความสวย ๆ แบบ Flex Message ก็ได้ จากเดิมใน LINE Notify ที่จะส่งได้แค่ ข้อความ รูปภาพ หรือสติ๊กเกอร์เท่านั้น

{
"type": "text",
"text": "Hello, world"
}
{
"type": "image",
"originalContentUrl": "https://example.com/original.jpg",
"previewImageUrl": "https://example.com/preview.jpg"
}
{
"type": "sticker",
"packageId": "446",
"stickerId": "1988"
}

นอกจากนี้ LINE Messaging API ยังส่งข้อความแบบอื่น ๆ ได้อีก สามารถศึกษาได้จาก 2 บทความนี้

ส่งข้อความแจ้งเตือน

สำหรับการแจ้งเตือนด้วย LINE Messaging API จะใช้ API คนละเส้นกับ LINE Notify ตามด้านล่างนี้ โดยใน 1 ข้อความจะประกอบไปได้มากสุดถึง 5 บับเบิ้ล (กล่องข้อความ) และสามารถปิดการแจ้งเตือนได้เช่นเดียวกันกับ LINE Notify (อ่านเพิ่มเติมได้ที่ LINE Developers Docs)

curl -v -X POST https://api.line.me/v2/bot/message/push \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {Channel Access Token ที่ได้มาจากขั้นตอนที่ 2}' \
-d '{
"to": "{User ID, Group ID, Room ID ที่ได้มาจากขั้นตอนที่ 3}",
"messages":[
...ข้อความที่สร้างขึ้นมา สูงสุด 5 Bubbles
],
"notificationDisabled": false // เปลี่ยนเป็น true หากต้องการปิดการแจ้งเตือน
}'

ตัวอย่างการส่งแจ้งเตือน

curl -v -X POST https://api.line.me/v2/bot/message/push \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ..........' \
-d '{
"to": "U4af4980629...",
"messages":[
{
"type":"text",
"text":"นี่เป็นข้อความจาก LINE Notify Alternative"
}
]
}'
Press enter or click to view image in full size

ข้อควรระวัง

ข้อแตกต่างหลัก ๆ ระหว่าง LINE Notify และ LINE Messaging API คือการคิดค่าบริการ การเปลี่ยนมาใช้ LINE Messaging API จะมีการคิดค่าใช้บริการแบบรายผู้รับที่ได้รับข้อความนั้น ๆ เช่น ในกลุ่มมีจำนวน 100 คน จะคิดการใช้งาน 100 ข้อความ ทำให้เราไม่สามารถส่งข้อความแจ้งเตือนได้แบบฟรี ๆ อีกต่อไป

ทั้งนี้ก่อนที่ LINE Notify จะหยุดให้บริการในเดือนเมษายน 2568 นี้ ก็แนะนำให้ทุก ๆ คนที่ใช้บริการ LINE Notify วางแผน และปรับการใช้งานให้ไปในแนวทางใหม่ เพื่อการใช้งานได้อย่างต่อเนื่อง

--

--

LINE Developers Thailand
LINE Developers Thailand

Published in LINE Developers Thailand

Closing the distance. Our mission is to bring people, information and services closer together