ใช้ LINE Messaging API แจ้งเตือนเข้ากลุ่ม แทน Line Notify (Part 1/2)

บอกก่อนเลยว่า ฉันไม่ใช่ Developer 🤣

ซึ่งการเขียนบทความนี้จะเป็นการเขียนจากที่ตัวเองได้ลงมือทำ ประกอบกับเรียนรู้มาจากเพื่อนที่เป็น Developer อีกที 😹 (และเป็นบันทึกกันลืมของฉันเอง)

ส่วนตัวฉันทำงานในแวดวง data คิดว่าการเข้าถึงข้อมูลที่เป็นประโยชน์ ในธุรกิจให้เป็นเรื่องง่าย สามารถนำไปใช้ได้ทันที และให้เห็นข้อมูลอยู่ในสายตาเสมอ จะเป็นประโยชน์มากๆ จึงเลือกใช้ Line notify ในการแจ้งเตือน ข้อมูลที่สำคัญ เพื่อผลักดันในส่วนที่ต้องการให้ทีมโฟกัสและทำงานให้ได้ตามเป้าหมาย 🎯

หลังจากใช้งาน Line Notify มาได้ประมาณ 3-4 เดือน โชคชะตาก็เล่นตลก 😅 ประกาศยกเลิกการให้บริการ ในวันที่ 31 มีนาคม 2568 ซะงั้น แล้วด้วยฐานสมาชิกอยู่ใน Line และสะดวกใช้งาน Line เป็นหลักจึงมีทางเลือกไม่มากคือต้องเปลี่ยนการใช้งานเป็น Line Messaging API

ความเป็นมาก็คือประมาณนี้แหละค่ะ 😄

ต่อไปเข้าเนื้อหาว่าเราจะสามารถแจ้งเตือนเขาไปที่กลุ่ม Line ของเราได้อย่างไร

  1. Tools ที่ใช้งาน
  2. มารู้จักกับประเภทของ API กันก่อน
  3. How to GET Group ID
  4. นำ Group ID ไปใช้งานกัน (Part 2)

Tools ที่ใช้งาน

เครื่องมือที่เราจะใช้งานกันมีดังนี้

  1. Account Line OA (Line developer) สำหรับนำ Webhook URL มาใช้งาน
  2. Server สำหรับอ่านค่า Log ที่ Event พ่นออกมาผ่านช่อง API
  3. การสมัคร Server ใช้ Github

มารู้จักกับประเภทของ API กันก่อน

GET = เรียก ดึงข้อมูล ไม่มีการแก้ไข
POST = การสร้าง /การดึงข้อมูล ที่ใช้ Body ตัวอย่าง การ filter ต่างๆ
PUT = update แบบ replace
PATCH = update แบบ update บางส่วน
DELETE = ลบ

How to GET Group ID

ขอแปะรูปเพื่อให้เข้าใจภาพรวม ของการทำงานกับ Line Webhook เพื่อ GET Group ID กันก่อน

picture by Kurno

จากรูปขออธิบายเพิ่มเติมดังนี้

  • Line Platform: คือ bot จาก line developer ที่จะนำ Webhook URL ของเราที่เป็นช่องทางให้เรารับข้อมูลผ่าน API เมื่อมีการทำอะไรบางอย่างเกี่ยวกับ bot เกิดขึ้น
  • การที่เราอยาจะรู้ว่า event ต่างๆที่เกิดขึ้นมีอะไรบ้าง เราต้องเปิดเส้นทาง API ให้ LINE Platform สามารถส่ง API ผ่านทางเส้นทางนั้นๆ เข้ามาที่ Server เพื่อทำการอ่าน Log ต่างๆ และหา information ของ Group ID ที่เราต้องการ

ต่อมาเป็นขั้นตอนการลงมือทำจริง 🤜

  1. สร้าง Server สำหรับการทำ API [vercel]: https://vercel.com/new/suchanyas-projects โดยการ Log-in ผ่าน Github และ vercel จะสร้าง repo อัตโนมัติ

2. ในหน้า repo ของ Github กด (.) ในคีย์บอร์ด (หรือปุ่ม “ ใ “) สำหรับการเขียน โค้ต เริ่มต้นในการรับ API สร้าง folder ใน app/api/webhok/route.ts

## Code ที่เขียน เป็น JavaScript ## 
export const dynamic = 'force-dynamic'; // static by default, unless reading the request

export async function POST(request: Request) {
    const jsonData = await request.json();
    const output = JSON.stringify(jsonData);
    console.log(output);
    return new Response('success');
}

3. จากนั้น Commit&Push ขึ้นไป จะได้ Step การ Deplyments ใหม่ รอจนกว่าจะ Ready

4. เราจะนำเส้น API ที่ได้จากการอ่านค่าดังนี้

เส้นทีไ่ด้คือ https://nextjs-boilerplate-snowy-pi-91.vercel.app/api/webhook

5. นำเส้น API ทีไ่ด้ไปทดสอบว่า Work / Not Work ที่ Web: web.postman.com

1. ใส่ประเภทของการ API เป็น POST และใส่ เส้น API ที่เราได้เมือกี้ ลงไป

2. ทดสอบโดยการใส่ body json เข้าไป และกด Send

3. หากสำเร็จจะขึ้น “success”

6. จากนั้นนำเส้น API ที่ Work ไปใส่ที่ Line developer bot ของเรา แล้วกด Verify จะขึ้น Sucess เขียวๆขึ้นมาแสดงว่าสำเร็จ

7. ทำสอบโดยการ นำ bot เข้าไป Join ในกลุ่มที่เราต้องการ และเช็คผลลัพธ์

** แต่ ก่อนที่ bot จะสามารถเข้า ไป Join ในกลุ่มได้ เราต้อง Allow bot to join group chats ก่อน โดยเข้าไป Allow ที่ LINE Official Account features ให้เป็น Enabled **

เราจะเห็น “GroupId” ที่เราต้องนำมาใช้งานต่อเเล้ว เย้ 🎉🎉

ถึงเวลาที่ต้องเปลี่ยน Line Notify เป็น LINE Messaging API เพราะ Line Notify จะให้บริการถึงวันที่ 31 มีนาคม 2568 นี้ การมาดู GET Group ID เพื่อนำไปใช้งาน

นำ Group ID ไปใช้งานกัน (Part 2)

ในส่วนนี้เดี๋ยวเราจะไปต่ออีกบทความกัน ซึ่งจะลงรายละเอียด เกี่ยวกับการไปใช้งานจริง ผ่านเครื่องมือที่ชื่อว่า Power Automate (ซึ่งเป็น Microsoft Platform) ส่วนนี้มีค่าใช้จ่าย หากไม่ได้เป็น Premium ก็ไม่สามารถใช้งานได้ แต่ส่วนตัวติดว่าก็ใช้งานคุ้มมาก เพราะ สามารถนำไปใช้ได้หลายส่วน ในการทำ Automate ต่างๆ

>> แล้วมาดูวิธีการใช้งานกันค่ะ (To be Continue…) 👩‍💻

ใส่ความเห็น