แชร์ Audience ระหว่าง API กับ LINE OA Manager เพื่อส่งข้อความ Re-targeting ให้ ‘โดนใจ’ มากที่สุด

Tan Warit
LINE Developers Thailand
3 min readFeb 24, 2020

สวัสดีครับ วันนี้เป็นบทความสั้นๆที่จะพาทุกคนไปดูวิธีการใช้ Audience Sharing หรือวิธีการใช้ Audience ร่วมกันระหว่าง Messaging API กับ LINE Official Account Manager (LINE OA Manager) กันครับ

Audience คืออะไร?

กลุ่มของผู้ใช้ที่เป็นเป้าหมาย (Targeted)ในการที่เราจะส่งข้อความหานั่นเอง โดยเราสามารถสร้าง Audience ได้จากการ:

  1. ใช้ข้อมูล User Id ของผู้ใช้
  2. สร้างจากเฉพาะคนที่เคยคลิก URL (Click retargeting)ในข้อความที่เราเคยส่ง Broadcast หรือ Narrowcast ออกไปก่อนหน้านี้
  3. สร้างกลุ่มของ Audience เฉพาะคนที่เคยเห็นข้อความ (Impression retargeting) ที่เราเคยส่ง Broadcast หรือ Narrowcast ออกไปก่อนหน้านี้

ส่วนวิธีการสร้าง Audience ทำได้จาก 2 วิธีหลักๆคือสร้างจาก Messaging API และสร้างจาก LINE OA Manager ซึ่งก่อนหน้านี้จะใช้งานแยกกัน ต่างคนต่างสร้าง ต่างคนต่างส่ง (เศร้าจุง…) แต่วันนี้ผมจะมาแนะนำว่า เราสามารถแชร์ใช้งาน Audience ระหว่าง API กับ LINE OA Manager กันได้ละฮะ!

ข้อดีของการทำ Audience Sharing

พอเราสามารถที่จะแชร์และใช้งาน Audience ร่วมกันระหว่างสร้างจากหลังบ้านด้วย API กับ LINE OA Manager ได้ ทีนี้ละการทำงานระหว่างนักพัฒนากับฝั่งมาร์เก็ตติ้งน่าจะสนุกขึ้นครับ เพราะฝั่งนักพัฒนาหลังบ้านสามารถเล่นกับข้อมูล User Id ที่เก็บได้ว่าต้องการดึงข้อมูลเฉพาะเจาะจงขนาดไหน Query จากฐานข้อมูลแล้วเอามาสร้างเป็น Audience ไว้ก่อน จากนั้นฝั่งมาร์เก็ตติ้งก็สามารถส่งแคมเปญตามกลุ่ม Audience ให้ ‘โดนใจ’ ตามที่ต้องการได้เลย!

หรือกลับกันเราก็สามารถสร้าง Audience จาก LINE OA Manager ได้เพื่อให้ฝั่งนักพัฒนาใช้ Narrowcast API เพื่อส่งข้อความด้วยก็ได้ครับผม

Audience Sharing จาก API ไป LINE OA Manager

ถ้าเราต้องการแชร์ Audience ที่เราสร้างจาก API ไปให้ LINE OA Manager เห็นและใช้งานได้ อันดับแรกสุดเราต้องมาจัดการการเข้าถึงของ Audience ในส่วนของ API กันก่อน ซึ่งระดับการเข้าถึงจะมี 2 แบบได้แก่

  • PRIVATE หมายถึงไม่อนุญาตให้เข้าถึงได้ (เป็นค่า default)
  • PUBLIC หมายถึงอนุญาตให้เข้าถึงได้ (จะเข้าถึงได้เฉพาะใน Channel เดียวกันเท่านั้น)

เพราะฉะนั้นเราต้องใช้ Authority level API ตัวด้านล่างนี้ในการเปลี่ยนสถานะให้เป็น PUBLIC ก่อนครับ

// LINE HTTP Request
PUT
https://api.line.me/v2/bot/audienceGroup/authorityLevel
// Headers
Content-Type: application/json
Authorization: Bearer {CHANNEL ACCESS TOKEN}
// Request Body
authorityLevel:
ระดับในการอนุญาตเข้าถึง audience ว่าจะให้เป็น PRIVATE (default) หรือ PUBLIC

เรียกใช้งาน API ตัวนี้เพื่อตั้งค่าเป็น Public ให้เรียบร้อยจากนั้นให้เราลองเข้าไปที่ LINE OA Manager > Home > Broadcast > Audiences เราก็จะเห็นว่า Audience ที่เราเคยสร้างจาก API (ต้องไปสร้างก่อนนาจา) จะมีให้เข้ามาเลือกใช้ใน LINE OA Manager แล้วครับ

ส่วนวิธีการส่ง Re-targeting จาก LINE OA Manager สามารถดูเพิ่มเติมได้ที่บทความนี้ครับ

Audience Sharing จาก LINE OA Manager ไป API

ถัดไปส่วนที่สอง ถ้าเราที่จะต้องการแชร์ Audience ที่เราสร้างจาก LINE OA Manager ไปให้ฝั่ง API เห็นและใช้งานได้ วิธีการก็คือให้ไปที่หน้า Audiences ของ LINE OA Manager ก่อนครับ จากนั้นให้เลื่อนลงมานิดนึงจะเจอส่วนที่ให้เราสามารถเลือกเปลี่ยน Status ได้เลยครับ (แต่โดย Default จะมาเป็น Public อยู่แล้ว)

กดปุ่ม Change status แล้วเลือกให้เป็น Public แค่นี้ก็เรียบร้อย

จากนั้นให้เรามาเรียก API ตัวด้านล่างนี้เพื่อลิสต์ดูว่า Audience ทั้งหมดว่ามีอะไรให้เลือกใช้ได้บ้าง

// LINE HTTP Request
GET
https://api.line.me/v2/bot/audienceGroup/list
// Headers
Content-Type: application/json
Authorization: Bearer {CHANNEL ACCESS TOKEN}

หลังจากลองเรียกเสร็จ เรามาดูผลลัพธ์ของการเรียก API ตัวนี้สักนิดครับ

{
"audienceGroups": [
{
"audienceGroupId": 3785940337321,
"type": "UPLOAD",
"description": "thDevRel",
"permission": "READ_WRITE",
"audienceCount": 4,
"status": "READY",
"created": 1579143542,
"createRoute": "MESSAGING_API",
"isIfaAudience": false
},
{
"audienceGroupId": 3445313670043,
"type": "CLICK",
"description": "Click retargeting: 202001031152",
"permission": "READ",
"audienceCount": XXXX,
"status": "READY",
"created": 1578027175,
"requestId": "233b20d1-09b5-4a57-8dda-a3f5c076bb",
"createRoute": "OA_MANAGER",
"isIfaAudience": false
}
]
}

จากผลลัพธ์จะเห็นได้ว่าฝั่ง API จะเห็น Audience ที่มาจาก LINE OA Manager ด้วย (Object ตัวที่สอง) ผมขออธิบายเฉพาะส่วนที่สำคัญๆตามนี้นะครับ

  • permission หมายถึงสิทธิในการเข้าถึงจะมีค่า 2 ค่าที่เป็นไปได้คือ READ คือเอาไปใช้ได้เท่านั้น ไม่สามารถแก้ไขได้ READ_WRITE สามารถใช้และแก้ไขได้ (Audience ที่สร้างมาจาก LINE OA Manager จะไม่สามารถแก้ไข้ได้ด้วยการใช้ API)
  • status หมายถึงสถานะของ Audience กลุ่มนั้นซึ่งจะมีค่าที่เป็นไปได้ตั้งแต่ IN_PROGRESS คือกำลังสร้างอยู่READY พร้อมใช้งานแล้วFAILED สร้างไม่สำเร็จและEXPIRED หมดอายุ (Audience ที่สร้างจะมีอายุ 180 วัน)
  • createRoute หมายถึงที่มาของการสร้าง Audience กลุ่มนั้น

ซึ่งพอเราได้ค่า audienceGroupId มาแล้วก็สามารถเอามาใช้ปั้น Payload ใน Body ของ Narrowcast API เพื่อใช้ในการส่งได้เลยครับ

ตัวอย่างการส่งข้อความของ Narrowcast API
Note: หรืออีกวิธีก็คือไปส่องค่า Audience ID ซึ่งมันก็คือค่า audienceGroupId ในหน้า LINE OA Manager ก็ได้ แล้วทำการ Copy ค่าเก็บไว้เพื่อเอาไปใช้ต่อใน Narrowcast API

สรุป

สั้นๆประมาณนี้ครับ สำหรับวิธีการใช้ Audience Sharing ระหว่าง Messaging API กับ LINE Official Account Manager คิดว่าน่าจะเป็นประโยชน์ในการทำงานระหว่างนักพัฒนากับฝั่งมาร์เก็ตติ้งมากขึ้น ลองใช้กันดูฮะ สุดท้ายขอฝากกดติดตาม LINE Developers Thailand ตามช่องทางต่างๆด้วยครับผม ขอบคุณมากครับ :)

--

--