ปลดล็อกวิธีส่งข้อความหากลุ่มผู้ใช้ที่เรา Tag ไว้ใน LINE OA ด้วย Messaging API

Jirawatee
LINE Developers Thailand

--

ฟีเจอร์การ Tag ผู้ใช้ในหน้าแชทหรือ Chat tag ของ LINE Official Account(LINE OA) ถือเป็นหนึ่งในเครื่องมือที่ช่วยให้เจ้าของ LINE OA สามารถจัดกลุ่มและแบ่งประเภทผู้ใช้ได้ง่าย (Segmentation) เช่น กลุ่ม “ผู้หญิง”, “ผู้ชาย”, “รองเท้า”, “กระเป๋า”, “VIP” หรือ “ค้างชำระ” เป็นต้น เพื่อแชทติดตามความคืบหน้า หรือ การ Re-Target ผ่านการส่งข้อความ

ตัวอย่างหน้าแชทใน OA Manager

และการดึงข้อมูล Chat tag ของผู้ใช้จาก OA Manager ผ่าน API ก็เป็นหนึ่งฟีเจอร์ที่นักพัฒนาใน Community ถามถึงกันมาโดยตลอด โดยเหตุผลส่วนใหญ่ก็คือ ต้องการที่จะส่งข้อความไปหากลุ่มผู้ใช้ที่ Tag ไว้ ด้วยเงื่อนไขต่างๆ เช่น เมื่อเนื้อหามีการเปลี่ยนแปลง หรือ ตามช่วงเวลาที่กำหนด

ตัวอย่างโพสจาก LINE Developers Group Thailand

ปัจจุบันทาง LINE ยังไม่ได้เปิด API ทั้งที่ให้เราดึงข้อมูล Tag ออกมาจาก Profile ของผู้ใช้ และ ดึงข้อมูลผู้ใช้ออกมาจาก Tag แต่อย่างไรก็ตามสำหรับใครที่ต้องการจะ Re-Target กลุ่มผู้ใช้ด้วยการส่งข้อความ มันก็ยังพอมีหนทาง Workaround ที่ทำได้อยู่นะ ซึ่งบทความนี้ผมจะพาทุกคนไปดูวิธีการที่ว่ากันทีละขั้นทีละตอนตามนี้ครับ

  1. จัดกลุ่มผู้ใช้ด้วย Chat tag
  2. สร้าง Audience จาก Chat tag
  3. ส่งข้อความหา Audience ด้วย Narrowcast Message

1. จัดกลุ่มผู้ใช้ด้วย Chat Tag

ขั้นตอนแรกนี้ผู้อ่านทุกคนจะต้องมี LINE OA หรือ LINE Chatbot ซะก่อน โดยที่ใครยังไม่มีก็ให้ไปสร้างตามขั้นตอนที่ 1–3 ของบทความด้านล่างนี้

เมื่อพร้อมแล้ว ให้เราเข้าไปที่ OA Manager แล้วเลือก LINE OA ที่ต้องการ จากนั้นไปที่เมนู Settings > Response settings ซึ่งตรงนี้เราจะต้องเปิดใช้งาน Chat ไว้ตามภาพด้านล่างนี้

หมายเหตุ: ตอนนี้เราสามารถเปิดทั้ง Chat และ Webhooks พร้อมกัน เพื่อให้แอดมินทำงานร่วมกับบอท ได้แล้วด้วยนะครับ

ถัดไปให้เราไปคลิกเลือกเมนู Chats ต่อได้เลย

จากนั้นคลิกเลือกแชทของผู้ใช้ที่เราต้องการจะติด Tag แล้วทางด้านขวาของหน้าจะแสดงลิงก์ + Add tags ขึ้นมา

เมื่อเรากดลิงก์ดังกล่าวก็จะพบกล่องตามภาพด้านล่าง ที่ให้เราเลือกติด Tag ที่มี, พิมพ์เพิ่ม Tag ใหม่ หรือลบ Tag เดิมออกได้ ซึ่งตรงนี้ก็เชิญผู้อ่านติด Tag ให้กับผู้ใช้ของตัวเองตามใจชอบเลยครับ

หมายเหตุ: ผู้ใช้ 1 คน สามารถติด Tag ได้สูงสุด 10 Tag และใน 1 LINE OA สามารถมี Chat tag รวมกันได้ไม่เกิน 200 แบบ

2. สร้าง Audience จาก Chat Tag

ขั้นตอนนี้ให้เข้าไปที่เมนู Data controls > Audiences ของ OA Manager ซึ่งเมื่อคลิกเข้ามาให้สังเกตว่า Share status มีสถานะเป็น Public หรือไม่ โดยถ้าไม่ ก็ให้เปลี่ยนเป็น Public ซะก่อน เพราะไม่อย่างนั้น Audience ที่สร้างจะไม่สามารถใช้งานร่วมกับ Messaging API ได้ หากเรียบร้อยแล้วให้คลิกปุ่ม Create new

ในหน้าสร้าง Audience ให้เราเลือก Audience type เป็น Chat tag audience แล้วตั้งชื่อ Audience name ตามต้องการ จากนั้นให้เลือก Tag ที่เราต้องการโดยกดปุ่ม Select เสร็จแล้วก็กด Save

หลังจากกด Save เราจะเห็น Status ของ Audience ที่เราสร้างเป็น In progress(สีน้ำเงิน) อีกสัก 10–15 นาที ทั้งนี้เวลาอาจขึ้นอยู่กับจำนวนผู้ใช้ใน Tag

ซึ่งเราจะต้องรอจนกว่า Status ของ Audience ที่สร้างกลายเป็น Available(สีเขียว) จึงจะสามารถใช้งาน Audience นั้นๆได้นะ

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

แนะนำ: สำหรับใครที่สนใจศึกษาเรื่อง Audience Sharing เพิ่มเติมทั้งจากฝั่ง API > OA Manager หรือจาก OA Manager > API ก็สามารถไปตามอ่านจากบทความของคุณแทนด้านล่างนี้ได้เลยครับ

3. ส่งข้อความหา Audience ด้วย Narrowcast Message

เชื่อว่านักพัฒนา LINE ส่วนใหญ่น่าจะคุ้นเคยกับการส่งข้อความด้วย Reply, Push, Multicast และ Broadcast message กันเป็นอย่างดี แต่หลายๆคนอาจไม่คุ้นเคยกับการส่งข้อความแบบ Narrowcast message(ถึงมันจะมีมาตั้งแต่ปี 2020 แล้วก็เถอะ) ซึ่งหากใครอยากรู้ว่า Narrowcast message มันทรงบร๊ะลานุภาพเพียงใด ก็แนะนำให้ลองอ่านบทความด้านล่างนี้ดูครับ

และที่เกริ่นเรื่อง Narrowcast message ไปก็เพราะในขั้นตอนนี้เราจะใช้มันส่งข้อความหากลุ่มผู้ใช้(Audience) ที่เรา Tag ไว้นั่นเอง ถ้าพร้อมแล้วเราไปดูรายละเอียดของ API ตัวนี้กันเลย

// HTTP Request
POST https://api.line.me/v2/bot/message/narrowcast

// Headers
Content-Type: application/json
Authorization: Bearer CHANNEL-ACCESS-TOKEN

// Request Body
messages: Array ของ Message object สูงสุดได้ 5 object
recipient: Recipient object ที่มี Audience ได้สูงสุด 10 กลุ่ม

ซึ่งจุดสำคัญมันอยู่ใน recipient object นี่หละ ที่ให้เรากำหนด audienceGroupId เป็นค่า Audience ID ลงไปได้ และความโชดดีต่อมาก็คือ มันรองรับ Audience ID ที่สร้างจาก Chat tag แล้วนั่นเอง

https://developers.line.biz/en/reference/messaging-api/#manage-audience-group

เอาหละจาก Spec ด้านบน ผมก็มาลองเตรียม Request ใน Postman ดูตามนี้

ซึ่งเมื่อกด Send จาก Postman ไป ข้อความก็จะถูกส่งไปหากลุ่มผู้ใช้(Audience) ที่เรา Tag ไว้ได้ทันที

บทสรุป

ผมเชื่อว่าถ้าคุณเป็นคนหนึ่งที่อยากจะ Re-Target กลุ่มผู้ใช้ที่เราได้ Tag ไว้ใน OA Manager ด้วย API บทความนี้น่าจะช่วยทำให้ฝันของคุณกลายเป็นจริงได้ และมั่นใจว่านักพัฒนาหลายคนที่อ่านถึงตรงนี้ ก็น่าจะมีไอเดียในการส่งข้อความด้วย Narrowcast message กันมากขึ้น ซึ่งจริงๆมันยังทำอะไรได้อีกเยอะมากๆ ไว้โอกาสถัดไปผมจะมาเล่าให้ฟังกันอีกนะครับ

ท้ายนี้ถ้าคุณชอบบทความนี้ก็ฝากกด Clap เป็นกำลังใจให้ผม หากมันเป็นประโยชน์ก็ฝากกด Share ให้เพื่อนของคุณ และเพื่อที่คุณจะไม่พลาดบทความถัดๆไปก็ฝากกดติดตามตัว Publication ไว้ด้วยนะครับ สำหรับวันนี้ต้องขอตัวลาไปก่อน แล้วพบกันใหม่บทความหน้าครับ

--

--

Jirawatee
LINE Developers Thailand

Technology Evangelist at LINE Thailand / Google Developer Expert in Firebase