"ท้อมีไว้ให้ลิงถือ"
สรุปงาน LINE Developer Day 2016 ฉบับนักพัฒนา เมื่อ LINE กลายเป็น "แพลตฟอร์มเปิด"
11 Oct 2016 15:30   [21654 views]

เมื่อสัปดาห์ก่อนเราแอบไปวิ่งเล่นที่โตเกียวมาเพื่อร่วมงานประจำปีของ LINE ที่ LINE จัดมาเพื่อนักพัฒนาโดยเฉพาะอย่าง LINE Developer Day 2016

ปีนี้ไม่รู้เกิดอะไรขึ้น ไปร่วมงานที่ต่างประเทศรัวๆเลย -_- แล้วแต่ละงานที่ไปก็น่าสนใจมากกกกด้วยนะ งานนี้ก็เช่นกัน มีอะไรเด็ดๆเยอะมาก แต่ถ้าให้สรุปแบบเข้าใจง่ายภายในคำเดียวก็คงเป็นคำๆนี้

"Open"

หลังจากที่เป็นแพลตฟอร์มปิด ใครๆก็ยุ่งเกี่ยวไม่ได้มานาน ล่าสุด ตอนนี้ LINE เป็นแพลตฟอร์มเปิด (Open Platform) แล้วจ้าาาา

หรือพูดง่ายๆก็คือ ตอนนี้ใครก็สามารถเขียนโปรแกรมเพื่อเชื่อมต่อเข้าไปยังระบบ LINE ได้แล้วนั่นเอง ซึ่งเป็นสิ่งที่หลายๆคนรอกันมานานมากกกก ตอนนี้ทำได้อย่างเป็นทางการแล้วน้อออ =D

หลังจากแอบไปนั่งเขียนบอทเล่นมาตัวสองตัว และเล่น API ไปเยอะพอสมควร ตอนนี้ก็พอเข้าใจอะไรแล้วว่าเราสามารถทำอะไรกับ LINE ได้บ้าง เลยเอามาเขียนเป็นบล็อกให้อ่านกันคร้าบผม

สำหรับบล็อกนี้เราจะมาพูดถึงเรื่องงาน LINE Developer Day กันก่อนว่ามีอะไรเปิดตัวสำหรับนักพัฒนาบ้าง ให้พอเป็นแนวทางก่อนจะไปทำอะไรต่อ ดังนั้นบล็อกนี้จะเป็น Geek เบาๆ แต่ไม่ใช่เชิงลึก คนทั่วไปก็ยังพออ่านเข้าใจได้ ส่วนบล็อกหน้าจะสอนทำบอทแบบลงโค้ดกันไปเลย

ยังไงมาเริ่มต้นบล็อกนี้กันก่อน จัดปายยย

เมื่อ LINE กลายเป็น Open Platform

ก่อนอื่นขอมาเล่าเรื่องราวความเป็นมาให้เห็นภาพกันก่อนละกัน

ย้อนอดีตกับ LINE BOT API

ก่อนหน้านี้ LINE เป็นแพลตฟอร์มปิดมาโดยตลอด ก็คือไม่มีใครสามารถทำอะไรเชื่อมเข้ากับ LINE ได้เลย จนกระทั่งเมื่อเดือนเมษายนที่ผ่านมา LINE ก็ได้เปิด LINE BOT API ให้นักพัฒนาได้ใช้กัน ซึ่งนักพัฒนาก็เฮกันมาทำบอทเล่นกันมากมายถล่มทลาย ล่าสุดมีบอทที่เขียนด้วย BOT API อยู่บน LINE ถึง 20,000 ตัวด้วยกัน ซึ่งตรงนี้เพื่อให้เข้าใจตรงกัน เราขอใช้คำว่า Chatbot นาจา

แต่เอ๊ะ มีตั้ง 20,000 ตัวแต่ทำไมเราถึงไม่ค่อยได้ยินเลยว่า LINE มี Chatbot ?

คำตอบไม่ยากอะไร ก็เพราะว่าเจ้า LINE BOT API ตัวเก่านั้นมันแทบทำอะไรเจ๋งๆไม่ได้เลยนั่นเอง นอกจากรับข้อความและส่งกลับ ฟีเจอร์มันมีแค่นั้นจริงๆ พอทุกอย่างเป็นแค่การคุยโต้ตอบปกติ ก็เลยทำให้มันทำอะไรไม่ได้มาก และถึงทำอะไรได้มันก็ดูไม่มีอะไรต่างจากการคุยกับคนปกติ

บอท 20,000 ตัวนั้นก็เลยเหมือนใช้จริงไม่ค่อยได้ แต่ถึงกระนั้นก็ดี ตลอด 6 เดือนที่ผ่านมา เจ้า BOT API นี่แหละที่ทำให้ LINE ได้ข้อมูลว่าจริงๆแล้วนักพัฒนาต้องการฟีเจอร์อะไรเพื่อใช้ทำ Chatbot ดีๆบ้าง รวมถึงต้องการอะไรจาก LINE กันแน่ และแอบซุ่มทำ API ชุดใหม่ที่เรียกได้ว่าเป็น "ของจริง" เปิดตัวในงาน LINE Dev Day ที่ผ่านมานั่นเองงงง

เปิดตัว API ชุดใหม่ในงาน LINE Developer Day 2016

ในงาน LINE Developer Day 2016 เมื่อวันที่ 29 กันยายนที่ผ่านมา LINE ได้ทำการเปิดตัว API ชุดใหม่ 2 ตัวใหญ่ๆด้วยกัน ได้แก่

LINE Login - เป็นสิ่งใหม่ที่ LINE เพิ่งปล่อยมาเลย เป็นเหมือน Facebook Login ที่เราใช้กันมานานนมทุกประการ เพียงแต่คราวนี้เราสามารถใช้แอคเค้าท์ LINE ในการล็อคอินเข้าเว็บหรือแอปได้แล้วเช่นกัน =D

Messaging API - เป็นสิ่งที่ต่อยอดมาจาก BOT API แต่เพิ่มฟีเจอร์ที่นักพัฒนาเรียกร้องมาเพียบ ไม่ใช่แค่รับส่งข้อความธรรมดาแล้ว ยกตัวอย่างเช่น เราสามารถสร้างเมนูขึ้นในหน้าจอแชทให้ผู้ใช้กดเลือกได้เลย เป็นต้น ตัวนี้นี่แหละที่สำคัญมากๆโดยเฉพาะอย่างยิ่งในตลาดประเทศไทย บล็อกหน้าเราจะพามาลองเขียนบอทด้วย Messaging API กันด้วย ไว้มาเล่นกันๆ

ส่วน BOT API ตัวเดิมตอนนี้ Deprecated เรียบร้อยครับ ถ้าใครใช้ BOT API ตัวเดิมอยู่ ให้เปลี่ยนโค้ดมาใช้ Messaging API ตัวใหม่ด้วยเน้ออ

คราวนี้มาลงรายละเอียดกันหน่อยทั้งสองตัวเลย =D

ทำความรู้จัก LINE Login

อย่างที่เกริ่นไปก่อนหน้านี้ LINE Login ก็เหมือน Facebook Login ทุกประการ เป็นการเพิ่มปุ่ม LINE Login เข้าไปในเว็บหรือแอปมือถือ และเปิดให้ผู้ใช้สามารถเข้าถึงบริการนั้นๆด้วยแอคเค้าท์ของ LINE ได้ทันที ถึงจะเป็น Move ที่ช้าไปหน่อยของ LINE แต่ก็ถือว่าเป็นก้าวที่ดี

และก็เช่นเดียวกับ Facebook Login การ Login สามารถระบุสิทธิ์ได้ด้วยว่า Access Token ที่กำลังจะขอสามารถเข้าถึงข้อมูลอะไรได้บ้าง

พอกด Allow และได้ Token ก็ถือว่าเรียบร้อยครับ เอา Token ไปทำงานต่อตามที่เราต้องการได้เลย

ซึ่งส่วนตัวแล้ว LINE Login ถือเป็นอีกทางเลือกหนึ่งที่น่าสนใจเลยทีเดียว ปุ่ม Facebook Login ยังไงก็ทิ้งไม่ได้เพราะ Mass กว่ามาก แต่ถ้าเพิ่มปุ่ม LINE Login ให้เป็นอีกทางเลือกนึงของผู้ใช้หละก็ ก็อาจจะเกณฑ์ผู้ใช้เพิ่มขึ้นได้อีกไม่มากก็น้อยครับ

สำหรับวิธี Authentication ก็ยังเหมือน Facebook อีกนั่นแหละ คือใช้ OAuth 2.0 ดังนั้นการ Implement จึงง่ายมากๆ และเผื่อจะง่ายไม่พอ LINE มีเตรียม SDK มาอย่างเพียบพร้อมทั้ง Android SDK และ iOS SDK ส่วน Web ไม่มี SDK แต่สามารถใช้ Flow ของ OAuth 2.0 มาดึง Token ได้เลย

น่าจะพอเห็นภาพแล้วเนอะว่า LINE Login คืออะไรและมีประโยชน์ยังไง เผอิญว่ามันเหมือน Facebook Login เลยก็เลยน่าจะทำให้คุณทำความเข้าใจฟีเจอร์นี้ได้ง่ายมากๆ ยังไงสำหรับนักพัฒนาก็สามารถไปอ่านเพิ่มเติมได้จากเว็บ LINE Login Overview ได้ครับ เอกสารเขียนละเอียดดี สามารถเริ่มทำเองได้เลยจากเอกสารที่เค้าเตรียมไว้ให้ =)

ทำความรู้จัก LINE Messaging API

LINE Login เนี่ยถือเป็นแค่ออร์เดิร์ฟ ส่วนมื้อหลักของงานนี้คือนี่เลย LINE Messaging API

ถ้าให้อธิบายง่ายๆ LINE Messaging API ก็คือตัวกลางที่เอาไว้เชื่อมต่อ Server ของเราเข้ากับ LINE Chat ทำให้เราสามารถเขียนโปรแกรมเพื่อส่งข้อความและโต้ตอบกับผู้ใช้ผ่าน LINE Chat ได้

ซึ่งมันก็คือการเขียน Chatbot นั่นเอง โต้ตอบกับผู้ใช้ได้โดยไม่ต้องใช้คน =)

แล้วเอ๊ะ? เจ้าบอทที่เราเขียนมานี้จะโผล่มาในรูปแบบไหนใน LINE Chat? คำตอบคือ มันจะโผล่มาเป็น LINE Account ให้เรา Add Friend ได้ครับ แค่นั้นเลย ดังนั้นเจ้าบอทก็จะกลายเป็นเพื่อนในลิสต์ให้เราคุยด้วยได้นั่นเอง

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

คราวนี้มาลงรายละเอียดเรื่องแอคเค้าท์นี้กันอีกหน่อยว่าในเชิงเทคนิคจริงๆแล้วมันคืออะไร

โต้ตอบผ่าน "[email protected] Account"

หลายๆคนคงจะงงว่า เอ๊ะ เจ้าแอคเค้าท์ที่เราสามารถเชื่อมต่อกับ Messaging API นี้มันเหมือนแอคเค้าท์ที่เรา Register ผ่านมือถือแล้วใช้คุยกับเพื่อนอยู่ในทุกวันนี้รึเปล่า? แล้วถ้าหากไม่ใช่ เราจะสร้างแอคเค้าท์แบบนี้ขึ้นมาได้ยังไง?

คำตอบคือ แอคเค้าท์ที่เราใช้เขียนบอทไม่ใช่ LINE Account ธรรมดาครับ แต่ต้องเป็นแอคเค้าท์แบบพิเศษที่เรียกว่า "[email protected] Account"

ซึ่งถ้าใครเคยเล่นกับ API ของ LINE มาบ้างแล้วก็คงจะรู้จักมันอยู่แล้วแหละ แต่สำหรับคนที่ยังใหม่กับเรื่องนี้ อธิบายตามนี้ครับ

LINE Account - อันนี้คือแอคเค้าท์ LINE ที่เราๆใช้คุยกันอยู่ทุกวันนี้ เป็น Personal Account (แอคเค้าท์ส่วนตัว) ที่เอาไว้คุยแบบ 1:1 กับคนโน้นคนนี้ ตรงไปตรงมาไม่มีอะไรซับซ้อน เวลาคุยก็จะคุยผ่านโปรแกรม LINE

[email protected] Account - เป็น Business Account ที่ผู้ใช้ LINE สามารถสร้างขึ้นมาได้และให้คนอื่น Add เป็น Friend ได้ โดยฟีเจอร์พื้นฐานอย่างการคุยแบบ 1:1 นั้นสามารถทำได้ตามปกติ แต่ที่ทำได้มากกว่า LINE Account คือ สามารถ Broadcast ข้อความ (ส่งข้อความหาทุกคนที่ Add) ได้ด้วย และยังมี Account Page เพื่อแสดงข้อมูลของธุรกิจเจ้าของแอคเค้าท์ได้อีกด้วย

โดยผู้ใช้ LINE สามารถสร้าง [email protected] ได้หลายแอคเค้าท์ตามที่ต้องการ อย่างไรก็ตาม เนื่องจากฟีเจอร์มันเยอะกว่า LINE ปกติ เวลาจะใช้ [email protected] ก็เลยต้องใช้ผ่านแอปอีกตัวนึงที่ชื่อว่า [email protected] นั่นเอง

ถ้าให้เทียบแบบเห็นภาพเข้าใจง่ายๆ LINE Account ก็เหมือน Facebook Account ของเรา ส่วน [email protected] นั้นเหมือน Facebook Page ครับ เห็นภาพขึ้นมะ

- ก่อนจะสร้างเพจขึ้นมาได้ก็ต้องมี Facebook Account ของเราก่อนใช่มะ เหมือนกัน ก่อนจะสร้าง [email protected] ขึ้นมาได้ เราก็ต้องมี LINE Account ก่อน

- เช่นเดียวกันกับที่เราสามารถมี Facebook Page ได้หลายเพจแยกกันอย่างอิสระ เราก็สามารถมี [email protected] Account ได้หลายแอคเค้าท์เช่นกัน

- เราสามารถกำหนด Admin ให้กับ [email protected] Account เพื่อให้หลายๆคนจัดการร่วมกันได้

- Facebook และ Facebook Page ใช้แอปในการจัดการแยกกัน เจ้า LINE กับ [email protected] ก็เช่นกัน

ก็น่าจะเห็นภาพแล้วเนอะ โดยวิธีการสร้าง [email protected] Account เราสามารถสร้างผ่าน LINE Business Center ได้ทันที ใครอยากลองจิ้มเล่นก่อนก็ได้ แต่วิธีแบบลงมือทำเนยขอเก็บไว้บล็อกถัดไปละกันน้า ขอเน้นให้เห็นภาพและเข้าใจก่อน

ข้อจำกัดของแอคเค้าท์ [email protected] ที่เปิดใช้ Messaging API

[email protected] ไม่ใช่ของใหม่ มีให้ใช้กันมานานแล้ว หลักๆก็เอาไว้สร้าง Business Account เพื่อคุยกับลูกค้าผ่านแอป [email protected] นั่นเอง

แต่สิ่งใหม่ที่เพิ่งประกาศขึ้นมาในงานนี้คือ เราสามารถเปิดใช้ Messaging API ให้กับ [email protected] Account ที่ต้องการได้ (ถ้าไม่ Enable จะไม่สามารถใช้งาน Messaging API ได้ จะกลายเป็น [email protected] Account ธรรมดา)

แต่ผลกระทบคือ เมื่อเปิด Messaging API แล้ว [email protected] Account นั้นจะไม่สามารถใช้งานผ่านแอป [email protected] ได้อีก และจะไม่สามารถคุยกับผู้ใช้อื่นแบบ 1-on-1 ได้ด้วยเช่นกัน ซึ่งก็ถือเป็นเรื่องใหญ่พอสมควรเหมือนกัน

The [email protected] app and 1-on-1 chats cannot be used for accounts that use Messaging API.

สำหรับคนที่คิดจะใช้แอคเค้าท์ [email protected] เดิมในการทำ Chatbot ผ่าน Messaging API ขอให้คำนึงถึงข้อจำกัดนี้ให้ดีก่อนจะทำอะไรต่อ ซึ่งสุดท้ายก็พอจะหาวิธีให้เราคุยกับผู้ใช้แบบ 1-on-1 ได้อยู่แหละ แต่ต้องเขียนโปรแกรมเอาเองอะไรงี้ ... (ตัวใครตัวมันนะฮ้าบบบ)

การจัดการด้วยระบบหลังบ้านโดยไม่ต้องเขียนโปรแกรมเอง

ก่อนจะไปถึง Messaging API กัน เรามาดูฟีเจอร์พื้นฐานของ [email protected] ที่จะใช้งานได้ทันทีโดยไม่ต้องมี Server ของฝั่งเรากันก่อน (ไม่ต้องเขียนโปรแกรมเป็นก็ทำได้) โดยสามารถทำด้วยมือเองได้ในระบบหลังบ้านที่เรียกว่า [email protected] Manager ซึ่งทำอะไรได้เยอะอยู่ทีเดียว (สำหรับคนที่เคยใช้ [email protected] อยู่แล้วก็ข้ามส่วนนี้ไปได้)

Messages

การทำงานกับข้อความ หลักๆเราจะสามารถทำได้ 4 อย่างด้วยกัน ได้แก่

Greeting Message - ข้อความต้อนรับที่จะส่งไปหาผู้ใช้ทันทีที่ Add [email protected] Account นี้เป็นเพื่อน

Auto Reply Message - ข้อความตอบกลับที่จะส่งกลับหาผู้ใช้ทันทีที่ส่งข้อความอะไรก็ตามมา

Keyword Reply Message -  คล้ายๆ Auto Reply ตัวบน แต่ต่างตรงที่ Auto Reply มันจะตอบกลับแบบดื้อๆ ไม่ว่าผู้ใช้จะส่งข้อความอะไรมาก็จะตอบกลับเหมือนกันหมด แต่กับ Keyword Reply นี้ต่างกัน (น่าจะเดาออก) คือสามารถกำหนดคีย์เวิร์ดได้ว่าถ้าข้อความที่ผู้ใช้ส่งมามีข้อความนี้ๆอยู่ ให้ตอบกลับด้วยข้อความที่กำหนด จะกำหนดกี่คีย์เวิร์ดก็ได้ตามสะดวกเลย

Compose Message - ส่งข้อความหาทุกคนด้วยมือทั้งแบบทันทีหรือตั้งเวลา

Coupon/Event

สามารถสร้างคูปอง หน้าสำหรับการจับรางวัลและแบบสำรวจได้ด้วย

โดยสามารถส่งสิ่งต่างๆเหล่านี้ไปยังผู้ใช้ได้ทันทีที่ต้องการ

Rich Menu

สามารถสร้างเมนูให้ผู้ใช้เลือกได้ในรูปแบบตาราง โดยสามารถเลือกรูปแบบที่ส่งได้ 7 แบบด้วยกัน

และผู้ใช้ก็จะได้รับในรูปแบบของเมนูคล้ายๆนี้

และที่มันเรียกว่า Rich Menu เพราะสามารถโต้ตอบกับผู้ใช้เมื่อมีการกดที่ตำแหน่งใดๆในตารางได้ด้วย 

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

อย่างไรก็ตาม ฟีเจอร์ Rich Menu นี้จะสามารถใช้ได้กับผู้สมัคร [email protected] แบบ Paid เท่านั้น (สำหรับราคาไปดูด้านล่างครับ)


โดยรวมก็ประมาณนี้ครับสำหรับระบบหลังบ้านของ [email protected] ที่เราสามารถไปเล่นได้ จริงๆยังมีอีกแต่จะเป็นพวกการทำ Page การดูสถิติ บลาๆๆๆ ยังไงถ้าสร้างแอคเค้าท์ [email protected] แล้วลองไปจิ้มเล่นใน [email protected] Manager กันได้ครับ =)

เชื่อมกับ Server ของเราผ่าน Messaging API

สิ่งที่พูดในหัวข้อด้านบนนั้นเราสามารถทำได้โดยไม่ต้องมี Server ของเราเอง แต่ฟีเจอร์ก็จะพื้นฐานๆหน่อย ไม่ได้ฉลาดอะไรมากมาย และก็ยังไม่ได้ยุ่งเกี่ยวกับ Messaging API ด้วย คราวนี้ของจริงละ เราจะเชื่อมต่อกับ Server ของเราเพื่อทำ Chatbot ฉลาดๆได้อย่างไร? ก็ผ่านเจ้า Messaging API นี่แหละครับ โดยมันจะเป็นตัวกลางที่เอาไว้เชื่อม Server เรากับระบบของ LINE เข้าด้วยกัน

มาดูกันว่า API ชุดนี้มีอะไรให้เราเล่นกันบ้าง

Webhook API

เมื่อมี Event ใดๆจากผู้ใช้ที่กระทำต่อ [email protected] Account ของเรา เช่น มีคน Add Friend หรือมีคนส่งข้อความมาหา ทาง Messaging API จะส่ง HTTPS Request มายัง URL ที่เรากำหนดไว้เพื่อให้เรารับรู้ อันนี้ถือว่าสำคัญมากเพราะเป็นเหมือนช่องทางหลักในการติดต่อกับ Server ของเราเพื่อพิจารณาข้อความตอบกลับเลย

โดย Default แล้วเจ้า Webhook นี้จะปิดไว้ เราต้องไปเปิดและกำหนด URL เอาเองครับ และที่สำคัญ ... Server จะต้องมี HTTPS ที่มี SSL ที่ Valid ด้วย มิฉะนั้นจะใช้งานไม่ได้จ้า (ซึ่งไม่น่าใช่ปัญหา Let's Encrypt หรือ Cloudflare ช่วยท่านได้)

Push Message API

อันนี้ตรงไปตรงมาไม่มีอะไรซับซ้อน มันคือการส่งข้อความหาคนที่ต้องการครับ จบ

Reply Message API

เมื่อมีการส่งข้อความมา เราสามารถใช้ API ตัวนี้ในการส่งข้อความตอบกลับได้ครับ ปกติเราจะใช้งานร่วมกับ Webhook

ถึง Push Message และ Reply Message จะสามารถส่งข้อความหาผู้ใช้ได้เหมือนกัน แต่การคิดค่าใช้จ่ายของสองอย่างนี้จะต่างกัน ไว้รออ่านเพิ่มในส่วนของค่าใช้จ่ายครับ

Get Content API

ดึงข้อความหรือรูปภาพที่ผู้ใช้ส่งมา

Get Profile API

ดึงข้อมูล User Profile ของ User ID ที่ระบุ

Leave API

ออกจากห้องหรือกรุ๊ป (ก็ยังทำเป็น API มาเนอะ 555)

Chat Extension

ความหล่อความเท่ของ Messaging API ที่มีเหนือกว่า BOT API ตัวเก่าคือ เราสามารถส่งข้อความในรูปแบบใหม่ๆได้ถึงสามแบบ Confirm Type, Button Type และ Carousel Type อธิบายตามภาพด้านล่าง

และพวกฟีเจอร์ต่างๆที่เคยพูดก่อนหน้านี้เช่น Rich Menu, Event Page หรือ Poll ก็สามารถใช้ได้ผ่าน Messaging API เช่นกัน

ซึ่งจะทำให้แชทบอทดูน่าใช้ขึ้นมาก ไม่ใช่แข็งทื่อคุยแต่ข้อความไปมาอีกต่อไปครับ

โปรโตคอลการติดต่อไปยัง Messaging API

Messaging API ทำมาในรูปแบบของ REST และใช้วิธี Authenticate Request ด้วย HTTP Header ชื่อว่า Authorization พร้อมแนบ Access Token ที่ได้มาจากระบบหลังบ้าน ตามรูปแบบตามตัวอย่างด้านล่างนี้

curl -X POST \-H 'Content-Type:application/json' \-H 'Authorization: Bearer {ENTER_ACCESS_TOKEN}' \-d '{    "to": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",    "messages":[        {            "type":"text",            "text":"Hello, world1"        },        {            "type":"text",            "text":"Hello, world2"        }    ]}' https://api.line.me/v2/bot/message/push

ซึ่งจริงๆแล้วก็ง่ายและตรงไปตรงมาได้ ถึงจะไม่มี SDK ก็ Implement ได้ไม่ยากครับ ตอนเนยเขียนเนยก็ใช้ curl ธรรมดานี่แหละ

หลายคนอาจจะมี Concern เรื่องของ Security แบบนี้ถ้า Access Token หลุดก็จบเลยสิชีวิต ... ไม่ต้องเป็นห่วงครับ เพราะการจะใช้ Messaging API ได้ เราต้องระบุ Server IP Whitelist ไว้ด้วยว่าเราอนุญาตให้ IP ใดติดต่อเข้าไปได้บ้าง โดยสามารถกำหนด Mask ได้ในระดับ Class C (/24-30) หาก IP ไม่ตรง Request ก็จะโดน Reject ครับ

LINE Beacon

ยังไม่จบแค่นั้น ความหล่อความเท่ที่ประกาศมาในงานนี้และเราคิดว่าสำคัญมากทีเดียวคือ LINE Beacon

เชื่อว่าถ้าเป็นนักพัฒนาก็น่าจะรู้จัก Beacon กันอยู่แล้ว มันคือกลไกที่เอาไว้ตรวจสอบการ "เข้าใกล้บริเวณ" ที่กำหนด โดยเช็คผ่านอุปกรณ์ที่ชื่อว่า Beacon ซึ่งเป็นอุปกรณ์ BLE (Bluetooth Low Energy)

งานนี้ LINE ก็ประกาศเปิดตัว LINE เวอร์ชั่นใหม่ที่สามารถใช้งานร่วมกับ Beacon ได้ด้วย

ซึ่ง Beacon จะสามารถใช้งานร่วมกับ LINE Messaging API ได้ด้วย โดยเมื่อผู้ใช้เข้าใกล้ Beacon ที่กำหนด LINE จะส่งการแจ้งเตือน (Notification) ผ่านทาง Webhook ให้ Server เรารับรู้ และเราจะทำอะไรต่อก็แล้วแต่ครับ

ดังนั้นในแง่ API จึงไม่มีอะไรใหม่ มันอยู่ในส่วนของ Webhook API และ Reply Message API เลย

และก็น่าจะพอนึก Use Case ออกเนอะ เข้าใกล้ร้านแล้วส่งคูปองให้ผู้ใช้ เป็นต้น =)

ข้อจำกัดเล็กๆของ LINE Beacon คือเราสามารถผูก Beacon ได้เพียงรหัสเดียวต่อหนึ่งบอทแอคเค้าท์ครับ

LINE Notify

สำหรับเราแล้ว LINE Notify ก็ถือเป็นอีกหนึ่งสิ่งที่น่าสนใจเลยหละ ถามว่ามันคืออะไร? จริงๆไม่มีอะไรซับซ้อนครับ ในกรณีที่เราไม่ต้องการจะสร้างบอทแอคเค้าท์ของเราเอง เราสามารถใช้ LINE Notify แทนได้ มันคือจุดศูนย์รวม Notification ที่เราสามารถเชื่อมต่อบริการต่างๆเข้าไปได้ เมื่อมีการแจ้งเตือนใดๆมันก็จะส่งมาที่ LINE Account ที่ชื่อว่า LINE Notify ครับ แน่นอนว่าเราต้อง Add แอคเค้าท์นี้เป็น Friend ก่อน

โดยเริ่มต้นจะมีอยู่ 3 บริการที่สามารถใช้งานได้ทันทีได้แก่ GitHub, IFTTT และ Mackerel เช่น ถ้ามีคนส่ง Pull Request มาทาง GitHub เราก็จะรู้ทันทีผ่าน LINE Notify

และการที่เราสามารถเชื่อมต่อกับ IFTTT (IfThisThenThat) ได้ เราก็แทบจะรับ Notification จากบริการทั้งโลกได้แล้ว เพราะ IFTTT มันรวมบริการดังๆทั่วโลกไว้และเราสามารถสร้างเงื่อนไขการส่งข้อมูลออกมาได้ เช่น ทุกๆบ่ายสามให้ IFTTT ส่งพยากรณ์อากาศของวันนั้นๆมาที ถามว่าส่งไปที่ไหน? เราก็กำหนดให้ส่งมาที่ LINE Notify ไง

และผลที่ได้คือ ...

แค่ IFTTT ก็มีประโยชน์มากๆแล้ว ไม่ใช่แค่ในแง่ของนักพัฒนา แต่ในแง่ของผู้ใช้ก็สามารถเริ่มใช้งานได้ทันที ลองจิ้มๆดูได้ครับที่ https://notify-bot.line.me/en/

และสำหรับนักพัฒนาที่ต้องการจะส่ง Notify ของบริการตัวเองผ่านช่องทาง LINE Notify เราสามารถเชื่อมต่อได้ด้วยการกรอกฟอร์ม Add Service ครับ เวลาเรียกก็เรียกผ่าน HTTPS Post Request รูปแบบเดิม

curl -X POST \-H 'Authorization: Bearer <TOKEN>' \-F 'message=foobar' \https://notify-api.line.me/api/notify

ง่ายๆแค่นี้แหละ =)

ค่าใช้จ่าย

ขอแจกแจงค่าใช้จ่ายเป็นอันๆไปนะ

[email protected]

สามารถใช้งานฟรีได้ แต่จะมีข้อจำกัดว่าส่งข้อความได้เพียง 1,000 ข้อความต่อเดือนและโพสต์ลง Timeline ได้แค่ 4 โพสต์ต่อเดือน รวมถึงไม่สามารถใช้ Rich Message ได้

ส่วนแพลนที่เป็น Paid ต่ำสุดอยู่ที่ 26.9 USD ต่อเดือน ส่งข้อความได้ 50,000 ข้อความต่อเดือน โพสต์ลง Timeline ได้ไม่จำกัดและใช้ Rich Message ได้ ส่วนแพลนอื่นๆดูตามภาพได้เลย

แล้วก็ Premium ID (ซื้อ ID ที่อ่านง่ายๆ) ก็ต้องจ่ายเงินด้วยเช่นกัน ปีละ $5.99 ครับ

Messaging API

ตอนนี้ยังเป็น Developer Trial สามารถใช้งานได้ฟรีอยู่ แต่จะจำกัดเพื่อนที่แอดได้เพียง 50 คนเท่านั้นครับ หลักๆก็เอาไว้ทดสอบแหละ

ส่วนค่าใช้จ่ายตอน Launch Production จริงยังไม่มีออกมาแบบชัดเจน จริงๆแอบเห็นแล้วแต่คิดว่าน่าจะไม่ใช่ ยังไงรอ Official อีกทีดีกว่าครับ

ทั้งนี้ค่าใช้จ่ายด้านบนจะเป็นของ [email protected] Account เท่านั้น สำหรับ LINE Official Account จะคิดเงินอีกแบบคือคิดตามจำนวนข้อความที่ส่งจริง โดยจะคิดเฉพาะข้อความที่ส่งผ่าน Push Message API เท่านั้น ส่วน Reply Message จะส่งฟรีในทุกกรณีครับ

LINE Login

ไม่เสียค่าใช้จ่ายใดๆครับ

LINE Notify

ไม่เสียค่าใช้จ่ายใดๆเช่นกันครับ

Bot Awards รางวัลมูลค่ารวม 10 ล้านเยน

ก็น่าจะพอเห็นภาพโดยละเอียดกันแล้วว่างาน LINE Developer Day 2016 มีอะไรเจ๋งๆให้นักพัฒนาเล่นบ้าง หลักๆก็ Messaging API แหละ ถือว่าเรื่องใหญ่ทีเดียว

และเพื่อเป็นการดึงให้นักพัฒนามาพัฒนา Bot กันเยอะๆ ทาง LINE เลยประกาศงานแข่ง LINE BOT AWARDS ชิงเงินรางวัลรวมถึง 10 ล้านเยน !

อย่างไรก็ตามรายละเอียดอื่นยังไม่ถูกเปิดเผย มีเพียง Timeline ของงานแข่งนี้เท่านั้น

ยังไงรอติดตามรายละเอียดได้ที่ https://botawards.line.me/en/ ครับผม เงินรางวัลเยอะดีน้า =)

วิเคราะห์ LINE Bot

ส่วนตัวแล้วมอง LINE Bot ว่าเป็นสิ่งสำคัญและใหญ่มากสำหรับตลาดเมืองไทย แบรนด์ต่างๆจะเริ่มหันมาทำบอทเพื่อตอบรับธุรกิจกันอย่างแพร่หลาย ทั้งนี้เพราะว่านาทีนี้ไม่มีใครโหลดแอปใหม่กันแล้ว บริการทุกวันนี้เริ่มไปเกาะอยู่กับแพลตฟอร์มที่มีผู้ใช้แอคทีฟเยอะๆ เช่น Facebook หรือ LINE

ดังนั้น LINE Bot จึงถือเป็น Channel สำคัญมากในไทยที่มีคนใช้ LINE เยอะอันดับสองของโลก ลองคิดดูสิ อยากจองตั๋วหนังก็จองผ่าน LINE ได้เลย อยากแต่งรูปก็ส่งรูปไปหาบอท LINE แล้วรับรูปกลับได้เลย ทำโน่นทำนี่ได้มากมายโดยไม่ต้องโหลดแอปเพิ่มแม้แต่ตัวเดียว แค่ Add บอทเป็น Friend เท่าน้านนน =D

สำหรับนักพัฒนาเรามองว่ามันเป็นโอกาสชิ้นใหญ่เลย ใครทำเป็นนี่งานตูมแน่นอน และถามว่ามันเป็นงานฝั่งไหน? ตัวคีย์หลักคืองานฝั่ง Server Side ครับ ส่วนตัวต่อขยายก็แล้วแต่งาน เช่น AI หรือ IoT ก็ต้องดูกันไปตามงานครับ ฝึกสกิลไว้ๆ

API Reference อยู่ที่ https://devdocs.line.me/en/ เริ่มเล่นกันได้เลยคร้าบผม

สำหรับบล็อกหน้าจะพามาลงโค้ดเขียนบอทแบบเบสิคกัน แต่ก็น่าจะเพียงพอให้ไปต่อยอดทำโน่นนี่กันได้ไม่ยากครับ ไว้เจอกานนนน

ขอไปพักเหนื่อยแป๊บ เขียนบล็อกเหนื่อยมาก แฮ่กๆ แว้บบบ

บทความที่เกี่ยวข้อง

Jun 1, 2016, 14:11
16670 views
จัดเต็ม วีดีโอสรุปงาน Google I/O 2016 ฉบับนักพัฒนา ความยาว 44 นาที
Aug 31, 2016, 20:35
21871 views
บันทึกเบื้องหลังการพัฒนาระบบ Live Blog ด้วย Angular 2 + Firebase
0 Comment(s)
Loading