【Node.js】LINE Messaging API SDKを用いてユーザーIDのリストからオーディエンス作成してみた

【Node.js】LINE Messaging API SDKを用いてユーザーIDのリストからオーディエンス作成してみた

Clock Icon2024.08.29

こんにちは、リテールアプリ共創部のるおんです。LINE公式アカウントなどを運用する際に、オーディエンスを作成してユーザーに送りたいメッセージを一斉配信することが可能です。今回は、このオーディエンスを、LINE Messaging API SDKを使用して、ユーザーIDのリストからオーディエンスを作成する方法をご紹介します。この方法をアプリケーションに組み込むことで、LINE Official Account Managerからオーディエンスを作成せずとも、アプリ内で自動でオーディエンスを作成する機能を実装することができます。

オーディエンスとは

オーディエンスとは、LINE公式アカウントにおいて、特定の条件や属性に基づいてグループ化されたユーザーの集合を指します。これは、ターゲットを絞ったメッセージ配信や効果的なマーケティングキャンペーンを実施するために非常に重要な機能です。
下の画像のように、様々な条件を満たしたユーザーのグループ化を行い、それをオーディエンスとして扱ってメッセージの一斉配信などを行うことができます。また、今回実装するようにユーザーIDのリストからオーディエンスを作成することもできます。
スクリーンショット 2024-08-28 11.11.12
オーディエンス機能を活用することで、LINE公式アカウントの運用者は、より精緻なユーザーコミュニケーションを実現し、ビジネス目標の達成に向けて効果的なアプローチを取ることができます。

このオーディエンスの作成はLINE Official Account Managerから行うのが普通ですが、今回はこれをLINE Messaging API SDKを用いて実行したいと思います。
使用した言語はTypeScriptで使用したライブラリはLINE Messaging API SDK for nodejsです。

やってみた

早速実装してみます!

セットアップ

プロジェクトを作成して必要なパッケージをインストールします。
LINE Messaging API SDK for nodejsのドキュメントとインストール方法はこちらです。

bash
mkdir line-audience-creator
cd line-audience-creator
npm install @line/bot-sdk

実装

それではセットアップが完了したら、実際にコードを書いていきましょう。src/createAudience.tsとしてファイルを作成しました。
全体のコードを以下の通りです。

src/createAudience.ts
import { createReadStream } from 'fs';
import { manageAudience } from '@line/bot-sdk';

// LINE SDK clientの初期化
// https://github.com/line/line-bot-sdk-nodejs/blob/a3f19a674cc6323bc0d8971085901e1499fe8842/lib/manage-audience/api/manageAudienceClient.ts
const client = new manageAudience.ManageAudienceClient({
  channelAccessToken: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
});

// ユーザーIDのリスト
const audienceList = [
  {
    id: "Uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  },
  {
    id: "Uyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
  },
  {
    id: "Uzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
  }
]

async function createAudience() {
  try {
    // 
    const res = await client.createAudienceGroup({
      description: 'テストオーディエンス作成!',
      isIfaAudience: false,
      uploadDescription: 'Messaging API SDK経由でアップロード',
      audiences: audienceList
    });

    console.log('Audience created successfully:', res);
  } catch (err) {
    console.error('Error creating audience:', err);
  }
}

// 実行
createAudience();

解説

Messaging APIを用いたオーディエンスの作成の公式リファレンスはこちらです。
まず最初にManageAudienceClientクラスを初期化します。channelAccessTokenには、LINE Developers Consoleから自身が作成したMessaging APIアカウントのチャネルアクセストークンを入れてください。

createAudienceGroupメソッドを使用してオーディエンスを作成します。
引数audiencesに、オーディエンスとして作成したいユーザーIDの配列を渡してあげます。

動作確認

それでは実際に作成したコードを実行してオーディエンスが作成できているかどうかを確認してみましょう。

実行

TypeScriptのファイルをjsファイルにトランスパイルして実行してください。

bash
tsc
node src/createAudience.js

// => 出力結果
Audience created successfully: {
  audienceGroupId: xxxxxxxxxxxxx,
  createRoute: 'MESSAGING_API',
  type: 'UPLOAD',
  description: 'テストオーディエンス作成!',
  created: xxxxxxxxxxxxx,
  permission: 'READ_WRITE',
  expireTimestamp: 1740449794,
  isIfaAudience: false
}

確認

LINE Official Account Managerにアクセスしてください。
以下のようにオーディエンスが作成されているのがわかります。
スクリーンショット 2024-08-29 11.17.07

おわりに

今回はLINE Messaging API SDKを使用してNode.jsで作成したアプリケーション上からオーディエンスを作成する方法をご紹介しました。これを用いることで今まで手作業で行なっていたオーディエンス作成が自動化され業務改善に役立つと思いました。
参考になりましたら幸いです。

参考

Messaging APIリファレンス オーディエンス管理
line-bot-sdk-nodejs
LINE Messaging API SDK for nodejs

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.