Bot API を利用して、Botからのメッセージ送信やメニューの設定、Botの管理が可能です。
User Account 認証または Service Account 認証 (JWT) で取得した Access Token で利用できます。
Scopes: bot.message, bot, bot.read
Scope の使い分け
bot.messagescope は、Bot のメッセージやメニュー、トークルームに関する API を使用する際に利用できます。Bot 開発においてはこの Scope の利用を推奨します。botscope は、全ての Bot API で有効な Scope です。Bot 作成等を API で行いたい際は、この Scope を利用してください。bot.readscope は、読み取り権限のみの Scope です。 どの API でどういった Scope が有効なのかについては、各 API のページをご参照ください。
参考
Bot API を利用する際には、以下の資料も参考にしてください。
Bot からのメッセージ送信は以下の API で行います。
| HTTP Request | Description |
|---|---|
| POST /bots/{botId}/users/{userId}/messages | メッセージの送信 - ユーザー指定 1人のメンバーとのトークではこのAPIを使います。 |
| POST /bots/{botId}/channels/{channelId}/messages | メッセージの送信 - トークルーム指定 複数人のメンバーとのトークではこのAPIを使います。 |
注意
- メンバーから送られたメッセージに対する応答と、Bot を起点としたメッセージ送信は、区別されずどちらも同じ「メッセージの送信」として扱われます。
制限
- 参加者が 500 名以上のトークルームへのメッセージ送信は可能ですが、プッシュ通知は動作しません。
画像メッセージやファイルメッセージを送信するためには、以下の API でコンテンツをアップロードする必要があります。
| HTTP Request | Description |
|---|---|
| POST /bots/{botId}/attachments | コンテンツアップロード |
また、メッセージサーバーから画像メッセージやファイルメッセージを受け取った際に、そのコンテンツを取得するためには以下の API を使用します。
| HTTP Request | Description |
|---|---|
| GET /bots/{botId}/attachments/{fileId} | コンテンツダウンロード |
固定メニュー・リッチメニューの管理を以下の API で行うことができます。
メニューの詳細は こちら を参照してください。
| HTTP Request | Description |
|---|---|
| POST /bots/{botId}/persistentmenu | 固定メニューの登録 |
| GET /bots/{botId}/persistentmenu | 固定メニューの取得 |
| DELETE /bots/{botId}/persistentmenu | 固定メニューの削除 |
| HTTP Request | Description |
|---|---|
| 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 | デフォルトリッチメニューの削除 |
以下の API で、Bot とのトークルームの作成・退室や、参加しているトークルームの情報、メンバーリストを取得できます。
| HTTP Request | Description |
|---|---|
| POST /bots/{botId}/channels | トークルームの登録 |
| GET /bots/{botId}/channels/{channelId} | トークルームの情報取得 |
| DELETE /bots/{botId}/channels/{channelId} | トークルームから退室 |
| GET /bots/{botId}/channels/{channelId}/members | トークルームのメンバーリストの取得 |
Bot の追加・編集・削除を以下の API で行うことができます。
Bot の追加プロセスは Bot の概要 > Bot を作成する を参照してください。
| HTTP Request | Description |
|---|---|
| POST /bots | Bot の登録 |
| GET /bots | Bot リストの取得 |
| GET /bots/{botId} | Bot の取得 |
| PUT /bots/{botId} | Bot の更新 |
| PATCH /bots/{botId} | Bot の部分更新 |
| DELETE /bots/{botId} | Bot の削除 |
| POST /bots/{botId}/secret | Bot Secret の再発行 |
| HTTP Request | Description |
|---|---|
| POST /bots/{botId}/domains/{domainId} | Bot のドメインへの登録 |
| GET /bots/{botId}/domains | Bot の登録済みドメインリストの取得 |
| PUT /bots/{botId}/domains/{domainId} | ドメイン別 Bot の更新 |
| PATCH /bots/{botId}/domains/{domainId} | ドメイン別 Bot の部分更新 |
| DELETE /bots/{botId}/domains/{domainId} | ドメイン別 Bot の削除 |
| POST /bots/{botId}/domains/{domainId}/members | Bot 利用ユーザーの登録 |
| GET /bots/{botId}/domains/{domainId}/members | Bot 利用ユーザーリストの取得 |
| DELETE /bots/{botId}/domains/{domainId}/members/{userId} | Bot 利用ユーザーの削除 |