Bot API

Bot API を利用して、Botからのメッセージ送信やメニューの設定、Botの管理が可能です。

User Account 認証または Service Account 認証 (JWT) で取得した Access Token で利用できます。

Scopes: bot.message, bot, bot.read

Scope の使い分け

  • bot.message scope は、Bot のメッセージやメニュー、トークルームに関する API を使用する際に利用できます。Bot 開発においてはこの Scope の利用を推奨します。
  • bot scope は、全ての Bot API で有効な Scope です。Bot 作成等を API で行いたい際は、この Scope を利用してください。
  • bot.read scope は、読み取り権限のみの Scope です。 どの API でどういった Scope が有効なのかについては、各 API のページをご参照ください。

参考
Bot API を利用する際には、以下の資料も参考にしてください。

  • Bot の概要
    • メッセージタイプ
      • Flex Template
    • アクション
      • Callback
    • メニュー

メッセージ {#bot-message}

Bot からのメッセージ送信は以下の API で行います。

HTTP RequestDescription
POST /bots/{botId}/users/{userId}/messagesメッセージの送信 - ユーザー指定
1人のメンバーとのトークではこのAPIを使います。
POST /bots/{botId}/channels/{channelId}/messagesメッセージの送信 - トークルーム指定
複数人のメンバーとのトークではこのAPIを使います。

注意

  • メンバーから送られたメッセージに対する応答と、Bot を起点としたメッセージ送信は、区別されずどちらも同じ「メッセージの送信」として扱われます。

制限

  • 参加者が 500 名以上のトークルームへのメッセージ送信は可能ですが、プッシュ通知は動作しません。

画像メッセージやファイルメッセージを送信するためには、以下の API でコンテンツをアップロードする必要があります。

HTTP RequestDescription
POST /bots/{botId}/attachmentsコンテンツアップロード

また、メッセージサーバーから画像メッセージやファイルメッセージを受け取った際に、そのコンテンツを取得するためには以下の API を使用します。

HTTP RequestDescription
GET /bots/{botId}/attachments/{fileId}コンテンツダウンロード

メニュー {#bot-menu}

固定メニュー・リッチメニューの管理を以下の API で行うことができます。

メニューの詳細は こちら を参照してください。

固定メニュー {#bot-persistment-menu}

HTTP RequestDescription
POST /bots/{botId}/persistentmenu固定メニューの登録
GET /bots/{botId}/persistentmenu固定メニューの取得
DELETE /bots/{botId}/persistentmenu固定メニューの削除

リッチメニュー {#bot-rich-menu}

HTTP RequestDescription
POST /bots/{botId}/richmenusリッチメニューの登録
GET /bots/{botId}/richmenusリッチメニューリストの取得
GET /bots/{botId}/richmenus/{richmenuId}リッチメニューの取得
DELETE /bots/{botId}/richmenus/{richmenuId}リッチメニューの削除
POST /bots/{botId}/richmenus/{richmenuId}/imageリッチメニューの画像の登録
GET /bots/{botId}/richmenus/{richmenuId}/imageリッチメニューの画像の取得
POST /bots/{botId}/richmenus/{richmenuId}/users/{userId}メンバー別リッチメニューの適用
GET /bots/{botId}/richmenus/users/{userId}メンバー別リッチメニューの取得
DELETE /bots/{botId}/richmenus/users/{userId}メンバー別リッチメニューの削除
POST /bots/{botId}/richmenus/{richmenuId}/set-defaultデフォルトリッチメニューの適用
GET /bots/{botId}/richmenus/defaultデフォルトリッチメニューの取得
DELETE /bots/{botId}/richmenus/defaultデフォルトリッチメニューの削除

Bot のトークルーム {#bot-talkroom}

以下の API で、Bot とのトークルームの作成・退室や、参加しているトークルームの情報、メンバーリストを取得できます。

HTTP RequestDescription
POST /bots/{botId}/channelsトークルームの登録
GET /bots/{botId}/channels/{channelId}トークルームの情報取得
DELETE /bots/{botId}/channels/{channelId}トークルームから退室
GET /bots/{botId}/channels/{channelId}/membersトークルームのメンバーリストの取得

Bot の管理 {#manage-bot}

Bot の追加・編集・削除を以下の API で行うことができます。

Bot の追加プロセスは Bot の概要 > Bot を作成する を参照してください。

LINE WORKS テナント上の Bot 管理 {#manage-tenant-bot}

HTTP RequestDescription
POST /botsBot の登録
GET /botsBot リストの取得
GET /bots/{botId}Bot の取得
PUT /bots/{botId}Bot の更新
PATCH /bots/{botId}Bot の部分更新
DELETE /bots/{botId}Bot の削除
POST /bots/{botId}/secretBot Secret の再発行

LINE WORKS ドメイン上の Bot 管理 {#manage-domain-bot}

HTTP RequestDescription
POST /bots/{botId}/domains/{domainId}Bot のドメインへの登録
GET /bots/{botId}/domainsBot の登録済みドメインリストの取得
PUT /bots/{botId}/domains/{domainId}ドメイン別 Bot の更新
PATCH /bots/{botId}/domains/{domainId}ドメイン別 Bot の部分更新
DELETE /bots/{botId}/domains/{domainId}ドメイン別 Bot の削除
POST /bots/{botId}/domains/{domainId}/membersBot 利用ユーザーの登録
GET /bots/{botId}/domains/{domainId}/membersBot 利用ユーザーリストの取得
DELETE /bots/{botId}/domains/{domainId}/members/{userId}Bot 利用ユーザーの削除