การประยุกต์ใช้ line notify ในการแจ้งปัญหาการใช้งาน สำหรับ php


   ที่ทำงานผมมีระบบ การแจ้งปัญหาการใช้งานอินเทอร์เน็ต ผ่านเว็บไซด์อินทรา ปัญหาก็คือ เมื่อ user แจ้งปัญหาแล้ว ต้องมานั่งดูหน้าจอรับแจ้งว่ามีปัญหาแจ้งมาหรือเปล่า ซึ่งไม่ค่อยสะดวก ต้องให้ helpdesk นั่งเฝ้าหน้าจออยู่ตลอดเวลา เมื่อหน้าจอขึ้นมาว่ามีปัญหา จึงแจ้งกับน้องๆ ma ผ่านทาง ไลน์ หรือโทรศัพท์ ให้ไปแก้ปัญหาตามที่รับแจ้ง  ซึ่งที่ทำงานผม มีสำนักงานอยู่ 4 สาขา ระยะห่างกันประมาณ 3-5 กิโลเมตร ซึ่งดูแล้วขั้นตอนการแจ้งปัญหา ไม่มีปัญหา เนื่องจากผ่านเว็บไซด์ แต่ขั้นตอนที่ปัญหาก็คือ หลังจาก user แจ้งแล้ว และจะดูหน้าจอแจ้งปัญหาได้ ก็เฉพาะใช้ wifi ในที่ทำงานเท่านั้น เนื่องจากเป็นอินทราเน็ต เหตุผลเรื่องความปลอดภัย




หน้าจอรับแจ้งปัญหาครับ สำหรับ user แจ้งปัญหา
ปัญหา
1. helpdesk ต้องนั่งดูหน้าจอตลอดเวลา ถ้ามีคนแจ้ง ก็แจ้งน้องๆ ma ต่อไปผ่านไลน์ หรือมือถือ
2. ที่ทำงาน มี 4 สาขา  น้อง ma นั่งกระจายกันไป จะรู้ว่ามีปัญหาก็ต่อเมื่อ ดูหน้าจอ หรือ helpdesk ส่วนกลางแจ้งมา ทำให้ช้าต่อการแก้ปัญหา




หน้าจอนี้สำหรับ helpdesk และเจ้าหน้าที่ ma ถ้ามี user แจ้งเข้ามา จะมีรายการ


แนวคิดการแก้ปัญหา
   เนื่องจาก น้องๆ ma กับเจ้าหน้าที่ admin มีไลน์กลุ่ม ไว้ประสานกัน ผมจึงมองว่า ถ้ามี user แจ้งปัญหาแล้วมันแจ้งเตือนผ่าน ไลน์กลุ่มเลย น่าจะดี เพราะทุกคนจะได้รู้ว่ามีปัญหา ไม่ว่าจะน้อง ma หรือเจ้าหน้าที่ ถ้าใครอยู่ใกล้ user จะได้เข้าไปช่วยแก้ปัญหาได้ทันที และการระบบนี้ จะต้องไปยุ่งเกี่ยวกับ code เดิมให้น้อยที่สุด หรือไม่ต้องไปยุ่งเกี่ยวกับ code เดิมเลยได้ยิ่งดี
จากแนวคิดดังกล่าว มีอยู่ 3 วิธี

1.ผ่าน sms เนื่องจาก มี sms gateway api สามารถส่ง sms ไปยังมือถือได้

2. line api เนื่องจากเราได้เคยทำระบบไว้ เขียนด้วย python

3. line notify พึ่งเปิดให้บริการไม่นาน

การเลือก  สุดท้ายผมเลือก line notify เหตุผล ตามข้างล่างนี้เลยครับ

1.ผ่าน sms ไม่ค่อยสะดวก มีค่าใช้จ่ายประมาณ 30-50 สตางค์ ต่อข้อความ และแจ้งเตือนได้เพียง 1 ต่อ 1
2. line api มีการอัพเดพใหม่ ซึ่งจะต้องเข้าไปแก้ในส่วนของ line authen เสมอ ระยะหลังมีปัญหาบ่อยมาก เหมือนไลน์ จะไม่ยอมให้ใช้ line api แบบเดิมแล้ว

3. line notify พึ่งเปิดใช้บริการใหม่ไม่นาน มี api รองรับหลายภาษา ใช้งานง่ายมาก

ผลที่ได้จากการนำระบบ line notify มาประยุกต์ใช้ในการรับแจ้งปัญหา

1. รวดเร็ว หลังจาก user แจ้งไม่เกิน 30 วินาที  เจ้าหน้าที่ และ น้อง ma ก็ทราบได้ทันที และใครที่อยู่ใกล้ user ที่แจ้งปัญหา จะได้เข้าไปแก้ปัญหาได้ก่อน ทันที

2.สามารถดูย้อนหลังได้ ว่ามีใครเคยแจ้งปัญหาอะไรบ้าง

3.ยุ่งเกี่ยวกับ code เดิมน้อยมาก แค่เพียง 2 บันทัด คือ แทรก code เราไปในก่อน insert

==========================   ลงมือทำ =================================
เริ่มแรก

  ตอนแรก ผมไม่อยากไปยุ่งกับ code php เดิมที่เขียนรับแจ้งปัญหา จึงพยายามเขียน mysql trigger คือ เมือมีการแจ้งปัญหา หรือ insert ข้อมูลเข้ามาใหม่ sql trigger จะไปสั่งให้ไป run code line notify  แต่ไม่สำเร็จ เพราะการเขียน trigger แบบนี้ จะต้องไปติดตั้ง plugin เพิ่มเติม ผมจึงเปลี่ยนวิธี โดยเขียน code line notify


วิธีการทำ
1.set up line notify

 เข้าไปที่  https://notify-bot.line.me/my/  จากนั้น login ด้วย line id ของเรา แล้วเลือก ออก token และเลือก กลุ่มที่ต้องการแจ้งเตือน  จากนั้นจะได้ line token มา ซึ่งเราจะนำมาใช้
 จากนั้นในไลน์เรา จะเห็น line notify ขึ้นมาเป็นเพื่อนใหม่ ก็ให้ invite เข้า ไลน์กลุ่มที่เราต้องการ






2.เขียน code php
    ผมเชื่อว่าส่วนใหญ่การแจ้งปัญหาการใช้งานพวกคอมพิวเตอร์ หรืออินเทอร์เน็ต น่าจะแจ้งผ่านทางเว็บไซด์ ในบทความนี้ ผมขอยกตัวอย่างของจริงจากที่ทำงาน ใช้ code phpในการทำระบบรับแจ้งปัญหา ผมก็เลยขอ แทรก code ที่ผมเขียนขึ้นมา ก่อน ทำการ insert ดังนี้

.......

  $sql_insert  ="insert   into  problem( id, name,problem,division,tel) value ( null,$name,$problem,$division,$tel)   "; // คำสั่ง sql จาก code เดิม

$message = " ผู้แจ้ง ".$name." แผนก ".$problem." แผนก ".$division."เบอร์โทร ".$tel; //ข้อความที่จะส่ง


 echo '<iframe src="http://10.10.10.11/notify.php?message=$message"></iframe>';  // ส่งข้อความเข้าไลน์กลุ่ม


mysql_query($sql_insert); คำสั่ง insert ใน code เดิม

...................................................


บน server 10.10.10.11


<?php
$message = $_REQUEST['message'];

$chOne = curl_init();
curl_setopt( $chOne, CURLOPT_URL, "https://notify-api.line.me/api/notify");
// SSL USE
curl_setopt( $chOne, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt( $chOne, CURLOPT_SSL_VERIFYPEER, 0);
//POST
curl_setopt( $chOne, CURLOPT_POST, 1);
// Message
curl_setopt( $chOne, CURLOPT_POSTFIELDS, $message);
//ถ้าต้องการใส่รุป ให้ใส่ 2 parameter imageThumbnail และimageFullsize
curl_setopt( $chOne, CURLOPT_POSTFIELDS, "message=$message&imageThumbnail=http://10.10.10.10/small.jpg&imageFullsize=http://10.10.10.10/large.jpg");
// follow redirects
curl_setopt( $chOne, CURLOPT_FOLLOWLOCATION, 1);
//ADD header array
$headers = array( 'Content-type: application/x-www-form-urlencoded', 'Authorization: Bearer Kxxxxxxxxxxxxxxxxxxxxh', );  // หลังคำว่า Bearer ใส่ line authen code ไป
curl_setopt($chOne, CURLOPT_HTTPHEADER, $headers);
//RETURN
curl_setopt( $chOne, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec( $chOne );
//Check error
if(curl_error($chOne)) { echo 'error:' . curl_error($chOne); }
else { $result_ = json_decode($result, true);
echo "status : ".$result_['status']; echo "message : ". $result_['message']; }
//Close connect
curl_close( $chOne );

?>
 
   เพียงเท่านี้ถ้ามี  user แจ้งปัญหา มันก็จะแจ้งเตือนในไลน์กลุ่มด้วย แบบทันที



หน้าจอไลน์กลุ่ม เวลามีปัญหา ก็จะแจ้งเตือนทันทีหลังจากรับแจ้งพร้อมภาพประกอบ

*** ถ้าหากมีปัญหาเรื่องภาษาไทยที่ส่งอ่านไม่ออก ให้เข้าเว็บไซด์นี้ http://meyerweb.com/eric/tools/dencoder/  ใส่ข้อความลงไปแล้ว copy เอามาใช้ครับ




ความคิดเห็น

  1. ความคิดเห็นนี้ถูกผู้เขียนลบ

    ตอบลบ
  2. มันฟ้อง error ว่างั้ยบ้างครับ

    ตอบลบ
    คำตอบ
    1. ความคิดเห็นนี้ถูกผู้เขียนลบ

      ลบ
    2. ผมดูแล้ว น่าจะพัฒนาเป็นพวก web app น่าจะทำได้น่ะครับ ของผมก็ web app เขียนด้วย php

      ลบ
    3. ความคิดเห็นนี้ถูกผู้เขียนลบ

      ลบ
    4. ผมทำแล้วใช่ได้แค่แป๊ปเดียวครับ มันจะฟ้องว่า token มีปัญหา ผมเลยเปลี่ยนมาใช้เป็น line notify ครับ โดย code ในส่วนของ python เหมือนเดิม แต่เวลาจะแจ้ง ให้มาเรียก line notify ใช้งานแทนครับ

      ลบ
    5. พึ่งเป็นมาได้สักระยหนึ่งครับ ก่อนหน้านั้น ใช้ได้ไม่มีปัญหาอะไรครับ ผมขี้เกียจเข้าไปแก้ เลยใช้ line notify แทน line api ครับ

      ลบ
  3. ขอโค๊ด python ping server + line notify ได้ไหมครับ

    ตอบลบ
    คำตอบ
    1. ได้ครับ ให้ส่งทางไหนครับ

      ลบ
    2. ขอมาศึกษาด้วยคนครับ thongchart [at] Gmail .com ครับ

      ลบ
    3. email ครับ
      payong_n@kingpower.com

      ขอบคุณครับ

      ลบ
    4. รบกวนด้วยอีก 1ครับ

      ลบ
    5. รบกวนขอcode python ping server + line notify ด้วยครับ
      nakorn.nim@northbkk.ac.th ขอบคุณครับ

      ลบ
  4. ไม่ระบุชื่อ9 มีนาคม 2560 เวลา 14:15

    อยากได้ Code python ping server + line notify ได้ไหมครับ Email ผม knt.phu at gmail.com ครับ

    ตอบลบ
  5. รบกวนขอ code python ping server + line notify มาศึกษาด้วยคนครับ
    aontuta@gmail.com
    ขอบคุณมากครับ

    ตอบลบ
  6. ขอ code python ping server + line notify มาศึกษาด้วยคนครับ sukritjaidee@gmail.com ขอบคุณมากๆครับ

    ตอบลบ
  7. สอบถามคับ ถ้าเราไม่เลือกแจ้งเตือนในไลน์กลุ่ม แต่เลือกเป็นไลน์ส่วนตัวเฉพาะบุคคลก็ได้ใช่ป่าวคับ

    ตอบลบ
    คำตอบ
    1. Token ออกได้แค่กลุ่ม กับ ส่งให้ตัวเองครับ ยังไม่มี Token สำหรับเพื่อน

      ลบ
  8. รบกวนขอcode python ping server + line notify ด้วยครับ
    chiankk@gmail.com ขอบคุณครับ^^

    ตอบลบ
  9. ผมลองทำแล้ว แต่ข้อความแจ้งกลับได้แบบนี้ $message เกิดจากอะไรอะครับ

    ตอบลบ
    คำตอบ
    1. ผมแก้เป็นแบบนี้อะครับ
      notify.php?message='.$message.';

      ลบ
  10. ก่อนอื่น ขอบคุณสำหรับบทความดีๆ มากๆ ครับ ผมรบกวนขอ python ping server + line notify ด้วยครับ saikosoom1@gmail.com

    ตอบลบ
  11. มีใครพอทราบไหมครับ ว่าขึ้นบรรทัดใหม่ยังไง

    ตอบลบ
  12. รบกวนขอcode python ping server + line notify ด้วยครับ
    media.rental@gmail.com ขอบคุณครับ

    ตอบลบ
  13. รบกวนขอ code python ping server + line notify มาศึกษาเพิ่มเติมด้วยคนครับ
    Teerapat.tae.123@gmail.com ขอบคุณครับ



    ตอบลบ
  14. รบกวนขอ ตัวอย่าง Code เพื่อศึกษา เพิ่มเติม สำหรับนำมาใช้ที่ทำงาน ด้วยครับ
    anan4173@hotmail.com ขอบคุณครับ

    ตอบลบ
  15. รบกวนขอตัวอย่าง Code เพื่อศึกษาเพิ่มเติมสำหรับนำมาประยุกต์ใช้ในที่ทำงานด้วยนะครับผม

    ตอบลบ
  16. ก่อนอื่น ขอบคุณสำหรับบทความดีๆ มากๆ ครับที่ท่านถ่ายทอดความรู้ ผมรบกวนขอ python ping server + line notify ด้วยครับ kajontotphrae@gmail.com

    ตอบลบ
  17. ความคิดเห็นนี้ถูกผู้เขียนลบ

    ตอบลบ
  18. เวลาใส่ข้อความเช่น text1 $value1 text2 $value2 จะให้มันแยกบรรทัดกันต้องทำยังงัยครับ

    ตอบลบ
  19. น่าสนใจมากเลยครับ ผมรบกวนขอ python ping server + line notify ด้วยครับ
    jakkapong.lo@nslfoods.com

    ตอบลบ
  20. รบกวนขอ python ping server + line notify ด้วยได้มั้ยคะ
    arisa.sing1998@gmail.com

    ตอบลบ
  21. ขอโค้ดหน่อยครับ vasan91@gmail.com

    ตอบลบ

แสดงความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

แจ้งเตือนเข้าไลน์กลุ่ม ผ่าน Line notify เมื่อมีคน login เข้า server ของเราผ่าน SSH (linux) หรือ remote desktop เข้ามา (windows server)

การทำ cloud iot ด้วย thingsboard ไว้ใช้เองครับ