はじめに
この記事は、BOCCO emo に関する話です。
ヒーローズ・リーグ2025 というコンテストの関連で、以下のポストにある一式を期間限定でお借りして、使い始めました。これを API で扱ってみます。
セットアップ
BOCCO emo を使うために、セットアップを進めます。その際には、以下のスマホアプリを使います。
●アプリ|BOCCO emo 照れたり、そわそわしたり、ムッとしたり。どこか懐かしい未来のファミリーロボット(ボッコ エモ)
https://www.bocco.me/application/
アプリを使ったセットアップ
アプリを使ったセットアップ手順は、以下などを参照しつつ進めました。
●startup_yukai_1_20201204
https://www.bocco.me/wp-content/uploads/2021/01/startup_yukai_1_20201204.pdf
本体のボタン等の説明
また、本体の使い方やボタンに関する説明などは、以下を見ました。
●emo_manual_2_20210115
https://www.bocco.me/wp-content/uploads/2021/01/emo_manual_2_20210115.pdf
API を扱う
それでは、API を使っていきます。
BOCCO emo を開発者モードにする
BOCCO emo を API で扱うためには、スマホアプリで BOCCO emo を開発者モードにする必要があります。
開発者モードに関しては、以下の公式の説明などをご参照ください。
●BOCCO emo「開発者モード」の使い方|ユカイ工学
https://note.com/ux_xu/n/n94196358dfa9
API を使うための下準備
さらに、API を使うための準備をします。具体的には、キーの取得です。
管理画面でキーを取得する
キーは、管理画面で取得します。管理画面を見るために、以下からログインします。
●ログイン | BOCCO emo Platform API
https://platform-api.bocco.me/dashboard/login
ログインをした直後に以下が表示されるので、「許可する」を選びます。
以下が、ログイン後の管理画面トップです。
アクセストークンとリフレッシュトークンが表示されています。これら 2つのうち、アクセストークンについては 1時間で有効期限切れとなるもので、定期的な再取得が必要となるようです。
API の説明を見つつ使ってみる
それでは、API を使ってみます。
公式ドキュメント
公式の APIドキュメントは、以下になるようです。
●APIドキュメント | BOCCO emo Platform API
https://platform-api.bocco.me/api-docs/
部屋の ID を取得
BOCCO emo を API を使ってしゃべらせるには、部屋の ID の情報が必要になるようです。
その説明などは、以下に書かれているようです。
●APIドキュメント | BOCCO emo Platform API
https://platform-api.bocco.me/api-docs/#get-/v1/rooms
部屋の ID は、管理画面にも出ていたアクセストークンを使って取得できるようです。今回は、curl コマンドを以下の内容で実行して、ID を取得してみます。
curl "https://platform-api.bocco.me/v1/rooms" \
-H "Authorization: Bearer 【アクセストークン】"
上記を実行した際のレスポンスの途中に "rooms":[{"uuid":"【部屋のID】","name":"【部屋の名前】" という部分があり、ここに出ている情報を使えば良いようです。
API を使った簡単な発話1: curl を使う
あとは、API を使った簡単な発話を試します。
以下のドキュメントの情報を使って試します。
●APIドキュメント | BOCCO emo Platform API
https://platform-api.bocco.me/api-docs/#post-/v1/rooms/-room_uuid-/messages/text
ひとまず、curl コマンドで以下を実行します。このコマンドでは、「部屋の ID」と「アクセストークン」が必要です。
curl -X POST 'https://platform-api.bocco.me/v1/rooms/【部屋のID】/messages/text' \
-H 'Authorization: Bearer 【アクセストークン】' \
-H 'Content-Type: application/json' \
-d @- <<EOS
{
"text": "API経由での初めての投稿です!"
}
EOS
これを実行してみたところ、BOCCO emo をしゃべらせることができました。
API を使った簡単な発話2: Node.js を使う
最後に、Node.js を使ったやり方も試します。
そのために使うコードは、以下のとおりです。
※ トークンや ID をコードに直書きしてしまっていますが、本来は環境変数で扱うなどの方法を用いるのが良いです
const response = await fetch('https://platform-api.bocco.me/v1/【部屋のID】/text', {
method: 'POST',
headers: {
'Authorization': 'Bearer 【アクセストークン】',
'Content-Type': 'application/json'
},
body: JSON.stringify({
text: 'Node.jsからの投稿です!'
})
});
const data = await response.json();
console.log(data);
このやり方でも、curl を使った時のように BOCCO emo をしゃべらせることができました。
そのときの様子を動画にしてみました。
その他
調子が悪い時は
以下は、今回のお試しの中で使った内容のメモです。
調子が悪い時に、以下のリフレッシュを行うと良い、という時があるようです。
FAQ
また、今回のお試し用の調査の中で、公式の FAQ を見かけたので、以下にメモしておきます。
●1. BOCCO全般について | BOCCO 家族をつなぐコミュニケーションロボット
https://bocco.ux-xu.com/faq/faq-general/
レートリミット
公式の APIドキュメントに、API のレートリミットに関する記載があります。
以下のとおり「1分あたり20回」となっているようなので、ご注意ください。







