弊社はスマートホームをビジネスとしてやっているのですが、高齢者とデバイスとのインターフェースとしてかわいらしいロボットが使えたらいいなぁと思い、APIが公開されているものがないかと漠然と探していたところ、ユカイ工学さんのBocco Emoがまさにその願望を叶えるものだったので購入してみました。(2021年3月に販売開始されていたんですね。)
Bocco emoを購入してみた!
アマゾンで購入しました。

在庫があったようで2日後に到着。

箱の中にはシーマンのステッカーが!
BOCCO emoの会話エンジンはシーマンとのコラボらしい。
シーマン、なつかしい…

本体とACアダプター。

電源をつないで起動。ここからスマートフォンにアプリを入れて初期設定を行う。
APIの初期設定
いろいろあるけど、API使いたくてうずうずしてるのでやってみる。
こちらがドキュメント
APIドキュメント | BOCCO emo Platform API
最初はチュートリアルをひととおりやってみよう。
管理画面へログイン。
APIにアクセスするにはaccess_tokenが必要で1時間ごとに変更になるので定期的に取得する必要があります。
curl -X POST "https://platform-api.bocco.me/oauth/token/refresh" \ -H "Content-Type: application/json" \ -d '{"refresh_token": "xxxxxxxx"}'
refresh_tokenは一定のようなので、postmanを使ってaccess_tokenを取得してみます。

Postmanの設定はこのとおり。

このようにaccess_tokenがレスポンスで返ってきました。
部屋の一覧の取得
curl "https://platform-api.bocco.me/v1/rooms" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
部屋の一覧をpostmanで取得します。

先程取得したaccess_tokenをAuthorizationのBearer TokenにいれてGETすると、

レスポンスの中に”エモちゃんの部屋の”UUIDが部屋のIDなので、これを使ってメッセージ取得APIを実行します。

メッセージの取得
curl "https://platform-api.bocco.me/v1/rooms/UUID" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
これもpostmanでやります。

これでGETすると

レスポンスにはなにもでてきません。

スマホアプリではこのようなやりとりをしているのですが、なぜかメッセージが取得できない。
2022/8/10追記
ユカイ工学の方からURLが間違っているとのご連絡をいただきました。
誤URL:https://platform-api.bocco.me/v1/rooms/UUID
正URL:https://platform-api.bocco.me/v1/rooms/UUID/messages
(URLの後ろに“/messages”が抜けております。)
こちらで試したところ無事に動きました。
↓その記事
BOCCOemoのAPIを使ってNode-REDからメッセージを取得してみた
ユカイ工学の中の方、ありがとうございます!
メッセージの送信
メッセージの送信もpostmanをつかってやってみます。

POSTで送りますが、URはUUIDの後に/messages/textを追加します。
https://platform-api.bocco.me/v1/rooms/UUID/messages/text

メッセージが送られると、Boccoエモちゃんが、”API経由での初めての投稿です”と読み上げます。

スマートフォンアプリでも投稿が確認できました。
まとめ
とりあえず、BOCCO emooのAPIのチュートリアルの最初の方を試してみました。
引き続き、チュートリアルをすすめて、いずれDALI/KNXへの接続もやってみたいとおもいます。
というか、BOCCO emo、これすごくいいですね。
スマートフォンで自由に連絡をとることができない、高齢の親や、小さな子どもとの連絡に、活用できそうです。
無限の可能性を感じます!