ช่วงนี้มีโปรเจ็คที่ต้องทำงานอัตโนมัติ และต้องการส่งแจ้งเตือนผลลัพธ์ไปยัง LINE Group เพื่อให้ทีมรับรู้ได้ทันที จึงได้ลองใช้ LINE Notify API ซึ่งทำได้ค่อนข้างง่ายครับ
LINE Notify คืออะไร?
LINE Notify เป็นบริการของ LINE ที่ให้เราสามารถส่งข้อความแจ้งเตือนไปยัง LINE ได้ผ่าน API โดยสามารถส่งไปยัง Chat 1:1 กับ LINE Notify หรือส่งเข้า Group LINE ก็ได้
ขั้นตอนการใช้งาน
1. สร้าง Access Token
ไปที่ https://notify-bot.line.me/ แล้ว Login ด้วยบัญชี LINE ของเรา
จากนั้นไปที่ My page แล้วคลิก Generate token เพื่อสร้าง Token ใหม่
- Token name: ตั้งชื่อที่เราต้องการ (จะแสดงเป็นชื่อของ Notification)
- Chat: เลือกว่าจะส่งไปที่ไหน (1:1 กับ LINE Notify หรือ Group LINE)
เมื่อสร้างเสร็จให้คัดลอก Token เก็บไว้ให้ดี เพราะจะแสดงครั้งเดียวเท่านั้น
2. เชิญ LINE Notify เข้ากลุ่ม
ถ้าต้องการส่งเข้า Group LINE ต้องเชิญ LINE Notify เข้ากลุ่มนั้นด้วย โดยค้นหา "LINE Notify" ในช่องค้นหา LINE แล้วเพิ่มเป็นเพื่อน จากนั้นเชิญเข้ากลุ่มที่ต้องการ
3. ทดสอบด้วย Postman
ก่อนเขียนโค้ด ลองทดสอบด้วย Postman ก่อน
- Method: POST
- URL:
https://notify-api.line.me/api/notify - Headers:
Authorization:Bearer <TOKEN>(แทน<TOKEN>ด้วย Token ที่สร้างไว้)
- Body (form-data หรือ x-www-form-urlencoded):
message: ข้อความที่ต้องการส่ง
ถ้าได้รับ Response {"status":200,"message":"ok"} แสดงว่าส่งสำเร็จ และจะเห็นข้อความใน LINE ทันที
เขียนโค้ด PHP
เมื่อทดสอบแล้วว่าทำงานได้ มาเขียนโค้ด PHP เพื่อยิง API ครับ
<?php
$url = 'https://notify-api.line.me/api/notify';
$token = 'ใส่ token ที่นี่';
$headers = [
'Content-Type: application/x-www-form-urlencoded',
'Authorization: Bearer ' . $token
];
$fields = 'message=ใส่ข้อความที่นี่';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
แทน 'ใส่ token ที่นี่' ด้วย Token ที่สร้างจาก LINE Notify และแทน 'ใส่ข้อความที่นี่' ด้วยข้อความที่ต้องการส่ง
ตัวอย่างการใช้งาน
สมมติต้องการส่งแจ้งเตือนเมื่อมีการสมัครสมาชิกใหม่
<?php
function sendLineNotify($message) {
$url = 'https://notify-api.line.me/api/notify';
$token = 'your-token-here';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['message' => $message]));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $token
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result, true);
}
// ใช้งาน
sendLineNotify('มีสมาชิกใหม่สมัครแล้ว: [email protected]');
สรุป
LINE Notify เป็น API ที่ใช้งานง่ายมาก เหมาะสำหรับงาน Monitoring, แจ้งเตือน Error หรือ Report ต่างๆ ที่ต้องการส่งเข้า LINE ครับ