1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BOCCO emo を開発者モードにして API で扱う(簡単な発話)【curl と Node.js】

Last updated at Posted at 2025-10-23

はじめに

この記事は、BOCCO emo に関する話です。

ヒーローズ・リーグ2025 というコンテストの関連で、以下のポストにある一式を期間限定でお借りして、使い始めました。これを API で扱ってみます。

セットアップ

BOCCO emo を使うために、セットアップを進めます。その際には、以下のスマホアプリを使います。

●アプリ|BOCCO emo 照れたり、そわそわしたり、ムッとしたり。どこか懐かしい未来のファミリーロボット(ボッコ エモ)
 https://www.bocco.me/application/

2025-10-24_00-48-02.jpg

アプリを使ったセットアップ

アプリを使ったセットアップ手順は、以下などを参照しつつ進めました。

●startup_yukai_1_20201204
 https://www.bocco.me/wp-content/uploads/2021/01/startup_yukai_1_20201204.pdf

2025-10-24_01-34-00.jpg

本体のボタン等の説明

また、本体の使い方やボタンに関する説明などは、以下を見ました。

●emo_manual_2_20210115
 https://www.bocco.me/wp-content/uploads/2021/01/emo_manual_2_20210115.pdf

2025-10-24_00-49-41.jpg

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

ログインをした直後に以下が表示されるので、「許可する」を選びます。

2025-10-23_23-36-55.jpg

以下が、ログイン後の管理画面トップです。

2025-10-23_23-37-19.jpg

アクセストークンとリフレッシュトークンが表示されています。これら 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

2025-10-24_00-57-45.jpg

部屋の 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 をしゃべらせることができました。

そのときの様子を動画にしてみました。

その他

調子が悪い時は

以下は、今回のお試しの中で使った内容のメモです。

調子が悪い時に、以下のリフレッシュを行うと良い、という時があるようです。

2025-10-23_23-23-21.jpg

FAQ

また、今回のお試し用の調査の中で、公式の FAQ を見かけたので、以下にメモしておきます。

●1. BOCCO全般について | BOCCO 家族をつなぐコミュニケーションロボット
 https://bocco.ux-xu.com/faq/faq-general/

レートリミット

公式の APIドキュメントに、API のレートリミットに関する記載があります。

以下のとおり「1分あたり20回」となっているようなので、ご注意ください。

2025-11-09_18-40-58.jpg

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?