วิธีการใช้งาน Line Messaging API ร่วมกับ Power Automate

ตัวอย่างStep by Step สิ่งที่ต้องเตรียม LINE Business ID, LINE Developer และ Power Automate Premium หากพร้อมแล้ว งั้นเราไปเริ่มกันเลย!
Power Automate LINE Messaging API cover

สวัสดีครับ หลังจากห่างหายไปนาน วันนี้ตั้งใจมาแชร์สิ่งที่น่าจะเป็นประโยชน์กับหลายท่านในช่วงนี้ นั่นก็คือการส่งแจ้งเตือน / ส่งข้อความไปทาง LINE ด้วย LINE Messaging API

ที่มา

ก่อนหน้านี้การที่จะทำให้ระบบใดๆก็ตามส่งข้อความหา User ผ่านทางแอป LINE ได้ วิธีการที่ง่ายที่สุดก็คือการใช้งาน LINE Notify ซึ่งเป็นวิธียอดนิยม มีการเผยแพร่วิธีการ สอนการใช้งาน LINE Notify กับหลากหลายระบบ รวมถึงการใช้งานกับ Power Automate ด้วยเช่นกัน

Power Automate LINE Messaging API 39
LINE Notify

แต่… ในช่วงปลายปี 2024 ทาง LINE ได้ประกาศยุติการให้บริการ LINE Notify โดยบริการนี้จะสามารถใช้งานได้วันสุดท้ายถึงวันที่ 31 มีนาคม 2025 ซึ่งนับจากตอนนี้ก็เหลือไม่กี่เดือนแล้ว

หลาย ๆ ที่ไม่ว่าจะเป็น developer บุคคลธรรมดา หรือในนามบริษัท ก็กำลังวุ่นกับการหาเครื่องมือใหม่มาทดแทน ซึ่งแน่นอนว่าก็พอมีตัวเลือกอื่นอยู่

แต่เราต้องไม่ลืมว่า คนที่เป็น End user นั้น ไม่ใช่ทุกคนจะยอมเปลี่ยน ยิ่งโดยธรรมชาติของคนไทยเอง คุ้นชินกับการใช้ LINE มากอยู่แล้ว เลยไม่ใช่เรื่องแปลกที่หลาย ๆ ที่ยังจำเป็นต้องใช้ LINE เหมือนเดิม

ซึ่งทาง LINE ก็มีบริการที่สามารถนำมาใช้แทนได้ นั่นก็คือ LINE Messaging API

Power Automate LINE Messaging API 1
LINE Messaging API

วันนี้เลยเป็นโอกาสดีที่ผมจะมาแสดงตัวอย่าง ของการใช้งาน LINE Messaging API ร่วมกันกับ Power Automate

สิ่งที่ต้องเตรียม

1. LINE Business ID

สมัครใช้งานได้ที่ https://account.line.biz/login

2. LINE Developer

สมัครใช้งานได้ที่ https://developers.line.biz/console/

3. Power Automate Premium

การใช้เรียกใช้งาน API ภายนอกด้วย Power Automate นั้น จำเป็นต้องใช้ license ตัวนี้

หากทั้งหมดนี้พร้อมแล้ว งั้นเราไปเริ่มกันเลย!

สร้าง Provider

Provider นั้นเปรียบเสมือนการระบุผู้เผยแพร่ หรือก็คือผู้ที่สร้าง ผู้ที่เป็นเจ้าของการใช้งาน API ของ LINE ดังนั้นเราจำเป็นต้องสร้างสิ่งนี้เป็นอย่างแรก ซึ่งทำได้ง่าย ๆ ผ่านหน้าเว็บ LINE Developers >> https://developers.line.biz/console/

โดยเราสามารถตั้งชื่อว่าอะไรก็ได้ ตั้งเป็นชื่อเรา หรือว่าชื่อบริษัทก็ได้เช่นกัน

Power Automate LINE Messaging API 2
Power Automate LINE Messaging API 3

สร้าง Channel

หลังจากเราได้ Provider มาแล้ว ถัดมาเราจะสร้าง Channel ซึ่งเปรียบเสมือนตัวตนของ Bot ของเราที่จะใช้ในการส่งข้อความ

กด Create a Messaging API channel กด Create a Messaging API channel

Power Automate LINE Messaging API 4

ซึ่ง ณ ตอนที่เขียนบทความนี้ การจะสร้าง Channel นั้น เราต้องสร้างบัญชี LINE Official Account ขึ้นมา ดังนั้นกด Create ไปได้เลย

Power Automate LINE Messaging API 5

เปิดใช้งาน Messaging API สำหรับ LINE OA

บัญชี LINE OA ที่สร้างขึ้นนั้นในตอนแรกจะยังไม่ได้เปิดใช้งาน Messaging API ซึ่งเราต้องไปเปิดก่อน โดยการเข้าไปที่ Setting ของ LINE OA

Power Automate LINE Messaging API 10
Power Automate LINE Messaging API 11

ทำการเลือก Provider ที่ได้สร้างไว้ในขั้นตอนก่อนหน้านี้

Power Automate LINE Messaging API 12
Power Automate LINE Messaging API 13
Power Automate LINE Messaging API 14

เพียงเท่านี้ LINE OA ของเราก็พร้อมใช้งาน Messaging API แล้ว หากลองกลับไปดูที่ LINE Developers จะเห็นว่ามีชื่อ LINE OA ของเราเพิ่มขึ้นมา

Power Automate LINE Messaging API 15

สร้าง Power Automate Flow สำหรับรองรับ Webhook

ข้อนี้ถ้าใครไม่คุ้นเคยกับการทำ API อาจไม่คุ้นเคย อธิบายง่าย ๆ Webhook คือการที่เซิฟเวอร์จะส่งสัญญาณ (HTTP Request) มาหาเรา เมื่อมีเหตุการณ์ใด ๆ เกิดขึ้น ซึ่งเราต้องมีเซิฟเวอร์ปลายทางของเราเอาไว้รับสัญญาณนี้เช่นกัน ซึ่งเราจะใช้ Power Automate เป็นปลายทาง

ซึ่งในกรณี LINE Webhook นี้ คนที่จะส่งสัญญาณมาหาเราก็คือ LINE โดยเหตุการณ์ที่ LINE จะส่งสัญญาณมาก็มีหลายอย่าง ยกตัวอย่างเช่น

  • มีคนส่งข้อความหาบอทของเรา
  • มีคนเพิ่มบอทของเราเป็นเพื่อน
  • มีคนกดบล็อค/ปลดบล็อคบอทของเรา
  • มีคนดึงบอทเข้าแชทกลุ่ม

ซึ่งเราต้องใช้ข้อมูลตรงนี้ เพราะว่าการที่เราจะส่งข้อความหาบุคคลหรือส่งเข้ากลุ่มใน LINE ได้ เราต้องรู้ ID ของคน/กลุ่มนั้นเสียก่อน ซึ่งข้อมูลที่ได้จาก Webhook จะเป็นตัวบอกเรา

ดังนั้น เราไปที่หน้าเว็บของ Power Automate และสร้าง Flow ได้เลย โดยตั้งค่าดังนี้

  • Type: Instant cloud flow
  • Trigger: When an HTTP request is received
Power Automate LINE Messaging API 16

เมื่อเข้าสู่หน้า Flow Designer แล้ว อย่างแรกเลยคือให้ปรับ Who can trigger the flow ให้เป็น Anyone ก่อน ไม่อย่างงั้น LINE จะส่ง Request มาที่ flow นี้ได้

Power Automate LINE Messaging API 17

ถัดมา ให้เพิ่ม Action ที่ชื่อ Compose เข้ามา และใส่ Body ที่ได้มากจาก Trigger ด้านบนเข้าใน Inputs ของ Compose

Power Automate LINE Messaging API 18

รียบร้อย ในส่วนของ Webhook เราทำแค่นี้ กด Save flow ได้เลย

เมื่อ Save เรียบร้อยให้ลองคลิกที่ Trigger manual ของเรา สังเกตว่า HTTP URL ตรงนี้มีข้อมูลขึ้นมาแล้ว ให้ก๊อปตรงนี้ไว้

(เก็บ URL นี้ไว้ให้ดี อย่าให้รั่วไหล เพราะใครก็ตามที่มี URL นี้ จะสามารถใช้งาน flow นี้ได้ด้วย)

Power Automate LINE Messaging API 20

กลับมาที่ LINE Developers ให้กดเข้าที่ Channel ที่เราเพิ่งสร้างมา แล้วไปที่แท็ป Messaging API

กด Edit Webhook URL

Power Automate LINE Messaging API 21

วาง URL ที่ได้จาก Power Automate แล้วกด Update

Power Automate LINE Messaging API 22

กดเปิด Use webhook ด้วย

Power Automate LINE Messaging API 30

เพียงเท่านี้ LINE ก็พร้อมที่จะส่ง Request มาหาเราเมื่อมีเหตุการณ์ใด ๆ เกิดขึ้น

แอดเพื่อนกับบอท / ดึงบอทเข้ากลุ่ม

ขั้นตอนนี้เราจะดูว่า Webhook ของเราใช้งานได้ไหม ลองแอดเพื่อนหาบอท หรือดึงบอทเข้ากลุ่มดู

การจะดึงบอทเข้ากลุ่มได้ ต้องไปปรับตรง Allow bot to join group chats ให้เป็น Enabled เสียก่อน

Power Automate LINE Messaging API 23

ลองแอดเพื่อนกับบอทดู

ลองดึงบอทเข้ากลุ่มด้วย กรณีอยากให้บอทส่งข้อความเข้ากลุ่ม

Power Automate LINE Messaging API 27

ทีนี้ลองมาดู Run history ของ flow จะเห็นว่า flow ของเราเริ่มทำงานแล้ว นั่นก็เพราะ LINE เริ่มส่ง Webhook มาที่ flow ของเราแล้วนั่นเอง

ซึ่งตรงนี้เราจะได้ User ID ของคนที่แอดเพื่อนมาหาบอทแล้ว ให้เก็บตรงนี้ไว้ เพราะเวลาเราจะส่งข้อความหาใคร เราต้องใช้ User ID

Power Automate LINE Messaging API 28

เช่นเดียวกันกับกรณีที่ดึงบอทเข้ากลุ่ม เราจะได้ Group ID มาแทน

Power Automate LINE Messaging API 31

หากได้ User ID หรือ Group ID ที่ต้องการใช้ครบแล้ว ปิด flow นี้ไปก่อนได้ครับ เพราะหลังจากนี้เราจะไม่ได้ใช้แล้ว เราใช้แค่เพราะเราต้องการ ID ของคน/ของกลุ่มเท่านั้น

สร้าง Token สำหรับเรียก Messaging API

ตอนนี้เรามีทุกอย่างพร้อมแล้ว เรามี User ID / Group ID ที่เราจะส่งข้อความหาแล้ว ใกล้ได้เวลาที่จะให้บอทส่งข้อความแล้ว

แต่ก่อนหน้านั้น เราต้องมีกุญแจ (Token) ที่เป็นเสมือนกุญแจ ที่จะทำให้ Power Automate สามารถสั่งงาน LINE Messaging API ได้เสียก่อน

ซึ่งจริงๆแล้วทาง LINE มี Token หลายแบบให้ใช้ ซึ่งตอนนี้เราจะเลือกใช้ตัวที่ง่ายที่สุดคือ “Long-lived channel access token”

วิธีการจะได้มาก็ง่าย ๆ แค่กด Issue จากหน้า Channel ของบอทของเรา

Power Automate LINE Messaging API 32

กดแล้วเราจะได้ Token ยาวๆแบบนี้มา เก็บให้ดี!

อย่าเผยแพร่ token นี้ให้คนอื่นทราบเป็นอันขาด

Power Automate LINE Messaging API 33

สร้าง Flow สำหรับส่งข้อความ

เอาล่ะ ได้เวลาที่จะส่งข้อความจริงๆแล้ว ซึ่งในขั้นตอนนี้ flow ของแต่ละท่านอาจจะแตกต่างกันออกไปตามแต่การใช้งานเลย ซึ่งผมจะยกตัวอย่างเป็น Instant cloud flow ง่ายๆที่เมื่อกด Run ตัว flow ก็จะสั่งให้บอทส่งข้อความทันที ซึ่งแต่ละท่านก็นำไปประยุกต์เข้ากับตัวเองได้เลย

Power Automate LINE Messaging API 34

เราจะใช้ action HTTP ในการส่งข้อมูลออกไป โดยตั้งค่าดังนี้

  • URI: https://api.line.me/v2/bot/message/push
  • Method: POST
  • Authentication: Raw
    Bearer [token]

ส่วน Body ใส่เป็น JSON ลักษณะนี้

				
					{
    "to": "UserID/GroupID",
    "messages": [
        {
            "type": "text",
            "text": "สวัสดี นี่คือข้อความที่ส่งจาก Power Automate"
        },
        {
            "type": "text",
            "text": "เพื่อทดสอบ Messaging API"
        }
    ]
}
				
			
Power Automate LINE Messaging API 35

เสร็จแล้วลอง Save และ Run flow ดู

เราก็จะได้รับข้อความที่ส่งมาจากบอทของเราเรียบร้อยแล้ว

เป็นอันเรียบร้อย เราสามารถส่งข้อความได้แบบเดิมแล้ว เพียงแต่เปลี่ยนรูปแบบแค่นั้นเอง

ซึ่งตัว LINE Messaging API นั้นสามารถใช้ได้อีกยาวนานเลยทีเดียว

ค่าใช้จ่าย

เรื่องที่ไม่พูดถึงไม่ได้นั่นก็คือค่าใช้จ่าย ตัว LINE Messaging API นั้นมีจำกัดโควตาการใช้ฟรี หากต้องการส่งข้อความจำนวนมาก ๆ ก็จะมีค่าใช้จ่ายเพิ่มเติม ซึ่งมีค่าใช้จ่ายดังนี้

สามารถอัพเกรดหรือดูรายละเอียดเพิ่มเติมได้จาก

บัญชี LINE OA ของท่าน > Settings > Monthly plan

Power Automate LINE Messaging API 38

ข้อควรระวังคือจำนวนข้อความที่นับนั้น ถ้าเป็นการส่งข้อความเข้าในกลุ่มที่มีสมาชิก 10 คน การส่ง 1 ข้อความนั้นจะถูกนับเป็น 10 ข้อความทันที ดังนั้นอย่าลืมคำนวณค่าใช้จ่ายให้พอดีนะครับ!

แหล่งข้อมูลเพิ่มเติม

ในบทความนี้สาธิตตัวอย่างการใช้งาน LINE Messaging API และ LINE Webhook แบบง่าย ๆ เท่านั้น ซึ่งทั้งหมดยังมีรายละเอียดอีกมากที่สามารถทำและศึกษาเพิ่มเติมได้ครับ

 

แหล่งที่มา : PAWIT.PW

Table of Content
Dynamics 365 FO & Copilot The Future of Work in Manufacturing(For Website)

🌟ERP จาก Microsoft เปิดฟีเจอร์ใหม่เพื่อคนโรงงาน

พบกับนวัตกรรม ERP สุดล้ำจาก Microsoft ที่จะยกระดับการจัดการโรงงานของคุณไปอีกขั้น เปิดฟีเจอร์ใหม่ที่ออกแบบมาเพื่อคนโรงงานโดยเฉพาะ!