emo_platform package

emo_platform.api module

class emo_platform.api.Client(endpoint_url: Optional[str] = None, tokens: Optional[emo_platform.models.Tokens] = None, token_file_path: Optional[str] = None, use_cached_credentials: bool = False)

Bases: object

各種apiを呼び出す同期版のclient(Personal版)

Parameters
  • endpoint_url (str, default https://platform-api.bocco.me) – BOCCO emo platform apiにアクセスするためのendpoint

  • tokens (Tokens, default None) –

    refresh token及びaccess tokenを指定します。

    指定しない場合は、環境変数に設定されているあるいはこのpkg内のファイル(emo-platform-api.json)に保存されているトークンが使用されます。

  • token_file_path (Optional[str], default None) –

    refresh token及びaccess tokenを保存するファイルのパス。 指定した場合には指定したパスに、指定しない場合はこのpkg内のディレクトリに、以下の2種類のファイルが生成されます。

    emo-platform-api.json

    最新のトークンを保存するファイル。

    emo-platform-api_previous.json

    前回、引数として指定されたトークンと環境変数として設定されていたトークンが記録されたファイル。

    アクセストークンあるいはリフレッシュトークンの指定が変更された場合(BOCCOアカウントの切り替えを行いたい場合など)に、前回から更新があったかを確認するのに使用されます。

    更新があった場合は、emo-platform-api.jsonに保存されているトークンが上書きされます。

  • use_cached_credentials (bool, default False) –

    Trueにした場合、上述した2つのファイルにrefresh token及びaccess tokenを保存しなくなります。

    この時、引数tokensにトークン情報を与えるようにしてください。(与えない場合は、例外が出されます。)

    この引数をTrueにするのは、サーバーサイドのwebアプリにこのライブラリを使用する際などを想定しています。

Raises

TokenError – refresh tokenあるいはaccess tokenが環境変数として設定されていない場合。 引数tokensにトークンを指定している時は出ません。

Note

各メソッドの実行時にaccess tokenの期限が切れていた場合

emo-platform-api.jsonに保存されているrefresh tokenを使用して自動的にaccess tokenが更新されます。 その際にAPI呼び出しが1回行われます。

Business版をお使いの方へ

このクラスは使用せずに、継承先である BizBasicClient あるいは BizAdvancedClient をお使いください。

get_access_token(refresh_token: str) emo_platform.response.EmoTokens

トークンの取得

refresh_tokenを用いて、refresh tokenとaccess tokenを取得します。

Parameters

refresh_token (str) – refresh tokenとaccess tokenを取得するのに用いるrefresh token。

Returns

emo_tokens

Return type

EmoTokens

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/oauth/token/refresh

API呼び出し回数

1回

get_account_info() emo_platform.response.EmoAccountInfo

アカウント情報の取得

Returns

account_info

Return type

EmoAccountInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/me

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

delete_account_info() emo_platform.response.EmoAccountInfo

アカウントの削除

紐づくWebhook等の設定も全て削除されます。

Returns

account_info

Return type

EmoAccountInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#delete-/v1/me

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_rooms_list() emo_platform.response.EmoRoomInfo

ユーザが参加している部屋の一覧の取得

Returns

rooms_list

Return type

EmoRoomInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_rooms_id() List[str]

ユーザーが参加している全ての部屋のidの取得

Returns

rooms_id – 取得した部屋のidのリスト

Return type

List[str]

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合 あるいは、ユーザーが参加している部屋が1つもなかった場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

create_room_client(room_id: str)

部屋固有の各種apiを呼び出すclientの作成

部屋のidは、get_rooms_id() を使用することで、取得できます。

Parameters

room_id (str) – 部屋のid

Returns

room_client – 部屋のclient

Return type

Room

Note

API呼び出し回数

0回

get_stamps_list() emo_platform.response.EmoStampsInfo

利用可能なスタンプ一覧の取得

Returns

stamps_info

Return type

EmoStampsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/stamps

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_motions_list() emo_platform.response.EmoMotionsInfo

利用可能なプリセットモーション一覧の取得

Returns

motions_info

Return type

EmoMotionsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/motions

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_webhook_setting() emo_platform.response.EmoWebhookInfo

現在設定されているWebhookの情報の取得

Returns

webhook_info

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

change_webhook_setting(webhook: emo_platform.models.WebHook) emo_platform.response.EmoWebhookInfo

Webhookの設定の変更

Parameters

webhook (WebHook) – 適用するWebhookの設定。

Returns

webhook_info – 変更後のWebhookの設定

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

register_webhook_event(events: List[str]) emo_platform.response.EmoWebhookInfo

Webhook通知するイベントの指定

eventの種類は、 こちらのページ から確認できます。

Parameters

events (List[str]) – 指定するWebhook event。

Returns

webhook_info – 設定したWebhookの情報

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/webhook/events

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

create_webhook_setting(webhook: emo_platform.models.WebHook) emo_platform.response.EmoWebhookInfo

Webhookの設定の作成

Parameters

webhook (WebHook) – 作成するWebhookの設定。

Returns

webhook_info – 作成したWebhookの設定。

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

delete_webhook_setting() emo_platform.response.EmoWebhookInfo

現在設定されているWebhookの情報の削除

Returns

webhook_info – 削除したWebhookの情報。

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#delete-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

event(event: str, room_id_list: List[str] = ['']) Callable

Webhookの指定のeventが通知されたときに呼び出す関数の登録

Example

呼び出したい関数にdecorateして登録します:

import emo_platform

client = emo_platform.Client()

@client.event("message.received")
def test_event_callback(body):
    print(body)
Parameters
  • event (str) –

    指定するWebhook event。

    eventの種類は、こちらのページ から確認できます。

  • room_id_list (List[str], default [""]) –

    指定したWebhook eventの通知を監視する部屋をidで指定できます。

    引数なしだと、全ての部屋を監視します。

Note

API呼び出し回数

0回

start_webhook_event() str

BOCCO emoのWebhookのイベント通知の開始

event() で指定したイベントの通知が開始されます。

使用する際は、以下の手順を踏んでください。

  1. ngrokなどを用いて、ローカルサーバーにForwardingするURLを発行

  2. create_webhook_setting() で、1で発行したURLをBOCCO emoに設定

  3. event() で通知したいeventとそれに対応するcallback関数を設定

  4. この関数を実行

  5. ローカルサーバーを起動し、get_cb_func() を利用して、webhook通知があった際に対応するcallback関数を実行

Returns

secret_key – BOCCO emoのWebhookリクエストのHTTP Headerに含まれるX-Platform-Api-Secretの値と一致する文字列です。

第三者からの、予期せぬリクエストを防ぐため、この文字列を利用した認証を実装してください。

Return type

str

Raises

EmoPlatformError – 関数内部で呼び出している register_webhook_event() が例外を出した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/webhook/events

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_cb_func(body: dict) Tuple[Callable, emo_platform.response.EmoWebhookBody]

受信したwebhookイベントに対応するcallback関数及びパースされたボディの取得

使用する際は、以下の手順を踏んでください。

  1. ngrokなどを用いて、ローカルサーバーにForwardingするURLを発行

  2. create_webhook_setting() で、1で発行したURLをBOCCO emoに設定

  3. event() で通知したいeventとそれに対応するcallback関数を設定

  4. start_webhook_event() でwebhook通知を開始

  5. ローカルサーバーを起動し、この関数を利用して、webhook通知があった際に対応するcallback関数を実行

Example

python標準ライブラリを使用してローカルサーバーを立てた例:

import emo_platform, json, http.server

client = emo_platform.Client()

client.create_webhook_setting(emo_platform.WebHook("WEBHOOK URL"))

@client.event("message.received")
def test_event_callback(body):
    print(body)

secret_key = client.start_webhook_event()

class Handler(http.server.BaseHTTPRequestHandler):
    def _send_status(self, status):
        self.send_response(status)
        self.send_header('Content-type', 'text/plain; charset=utf-8')
        self.end_headers()

    def do_POST(self):
        # check secret_key
        if not secret_key == self.headers["X-Platform-Api-Secret"]:
            self._send_status(401)

        content_len = int(self.headers['content-length'])
        request_body = json.loads(self.rfile.read(content_len).decode('utf-8'))

        try:
            cb_func, emo_webhook_body = client.get_cb_func(request_body)
        except emo_platform.EmoPlatformError:
            self._send_status(501)
            return

        cb_func(emo_webhook_body)

        self._send_status(200)

with http.server.HTTPServer(('', 8000), Handler) as httpd:
    httpd.serve_forever()
Parameters

body (dict) – 受信したwebhookリクエストのボディのJSONペイロード

Returns

cb_func, emo_webhook_body

Return type

Tuple[Callable, EmoWebhookBody]

Raises

EmoPlatformError – 受信したwebhookイベントに対応するcallback関数が登録されていない場合。

Note

API呼び出し回数

0回

class emo_platform.api.BizClient(endpoint_url: Optional[str] = None, tokens: Optional[emo_platform.models.Tokens] = None, token_file_path: Optional[str] = None, use_cached_credentials: bool = False)

Bases: emo_platform.api.Client

各種apiを呼び出す同期版のclient(Business版)

Note

使用上の注意

このクラスは使用せずに、継承先である BizBasicClient あるいは BizAdvancedClient をお使いください。

get_account_info() emo_platform.response.EmoBizAccountInfo

アカウント情報の取得

Returns

account_info

Return type

EmoBizAccountInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

Personal版とBusiness版での違い

返り値の型が異なるので注意してください。

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/me

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

delete_account_info() NoReturn

アカウント情報の取得

Business版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

Note

Personal版とBusiness版での違い

Business版では使用できません。

change_account_info(acount: emo_platform.models.AccountInfo) emo_platform.response.EmoBizAccountInfo

アカウント情報の編集

Parameters

account (AccountInfo) – 新たなアカウント情報。

Returns

account_info – 編集後のアカウント情報。

Return type

EmoBizAccountInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/me

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_rooms_list(api_key: str) emo_platform.response.EmoRoomInfo

ユーザが参加している部屋の一覧の取得

Parameters

api_key (str) –

法人向けAPIキー

法人アカウントでログインした時の ダッシュボード から確認することができます。

Returns

rooms_list

Return type

EmoRoomInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_rooms_id(api_key: str) List[str]

ユーザーが参加している全ての部屋のidの取得

Parameters

api_key (str) –

法人向けAPIキー

法人アカウントでログインした時の ダッシュボード から確認することができます。

Returns

rooms_id – 取得した部屋のidのリスト

Return type

List[str]

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合 あるいは、ユーザーが参加している部屋が1つもなかった場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_stamps_list(api_key: str) emo_platform.response.EmoStampsInfo

利用可能なスタンプ一覧の取得

Parameters

api_key (str) –

法人向けAPIキー

法人アカウントでログインした時の ダッシュボード から確認することができます。

Returns

stamps_info

Return type

EmoStampsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/stamps

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_broadcast_msgs_list() emo_platform.response.EmoBroadcastInfoList

配信メッセージの一覧の取得

Returns

broadcast_info_list – 配信メッセージの一覧。

Return type

EmoBroadcastInfoList

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/broadcast_messages

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_broadcast_msg_details(message_id: int) emo_platform.response.EmoBroadcastInfo

配信メッセージの詳細の取得

Parameters

message_id (int) – 詳細を取得したい配信メッセージのid

Returns

broadcast_info_list – 配信メッセージの詳細。

Return type

EmoBroadcastInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/broadcast_messages/-broadcast_message_id-

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

create_broadcast_msg(api_key: str, message: emo_platform.models.BroadcastMsg) emo_platform.response.EmoBroadcastMessage

配信メッセージの新規作成

Parameters
  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

  • message (BroadcastMsg) – 新規に作成する配信メッセージ。

Returns

broadcast_msg – 新規に作成した配信メッセージの内容。

Return type

EmoBroadcastMessage

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/broadcast_messages

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

class emo_platform.api.BizBasicClient(endpoint_url: Optional[str] = None, tokens: Optional[emo_platform.models.Tokens] = None, token_file_path: Optional[str] = None, use_cached_credentials: bool = False)

Bases: emo_platform.api.BizClient

各種apiを呼び出す同期版のclient(Business Basic版)

Parameters
  • endpoint_url (str, default https://platform-api.bocco.me) – BOCCO emo platform apiにアクセスするためのendpoint

  • tokens (Tokens, default None) –

    refresh token及びaccess tokenを指定します。

    指定しない場合は、環境変数に設定されているあるいはこのpkg内のファイル(emo-platform-api.json)に保存されているトークンが使用されます。

  • token_file_path (Optional[str], default None) –

    refresh token及びaccess tokenを保存するファイルのパス。

    指定しない場合は、このpkg内のディレクトリに保存されます。 指定したパスには、以下の2種類のファイルが生成されます。

    emo-platform-api.json

    最新のトークンを保存するファイル。

    emo-platform-api_previous.json

    前回、引数として指定されたトークンと環境変数として設定されていたトークンが記録されたファイル。

    アクセストークンあるいはリフレッシュトークンの指定が変更された場合(BOCCOアカウントの切り替えを行いたい場合など)に、前回から更新があったかを確認するのに使用されます。

    更新があった場合は、emo-platform-api.jsonに保存されているトークンが上書きされます。

Raises

TokenError – refresh tokenあるいはaccess tokenが環境変数として設定されていない場合。 引数tokensにトークンを指定している時は出ません。

Note

各メソッドの実行時にaccess tokenの期限が切れていた場合

emo-platform-api.jsonに保存されているrefresh tokenを使用して自動的にaccess tokenが更新されます。 その際にAPI呼び出しが1回行われます。

create_room_client(api_key: str, room_id: str)

部屋固有の各種apiを呼び出すclientの作成

部屋のidは、get_rooms_id() を使用することで、取得できます。

Parameters
  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

  • room_id (str) – 部屋のid

Returns

room_client – 部屋のclient

Return type

BizBasicRoom

Note

API呼び出し回数

0回

get_motions_list() NoReturn

利用可能なプリセットモーション一覧の取得

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

get_webhook_setting(api_key: str) NoReturn

現在設定されているWebhookの情報の取得

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

change_webhook_setting(api_key: str, webhook: emo_platform.models.WebHook) NoReturn

Webhookの設定の変更

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

register_webhook_event(api_key: str, events: List[str]) NoReturn

Webhook通知するイベントの指定

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

create_webhook_setting(api_key: str, webhook: emo_platform.models.WebHook) NoReturn

Webhookの設定の作成

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

delete_webhook_setting(api_key: str) NoReturn

現在設定されているWebhookの情報の削除

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

event(event: str, room_id_list: List[str] = ['']) NoReturn

Webhookの指定のeventが通知されたときに呼び出す関数の登録

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

start_webhook_event() NoReturn

BOCCO emoのWebhookのイベント通知の開始

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

get_cb_func(body: dict) NoReturn

受信したwebhookイベントに対応するcallback関数及びパースされたボディの取得

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

class emo_platform.api.BizAdvancedClient(endpoint_url: Optional[str] = None, tokens: Optional[emo_platform.models.Tokens] = None, token_file_path: Optional[str] = None, use_cached_credentials: bool = False)

Bases: emo_platform.api.BizClient

各種apiを呼び出す同期版のclient(Business Advanced版)

Parameters
  • endpoint_url (str, default https://platform-api.bocco.me) – BOCCO emo platform apiにアクセスするためのendpoint

  • tokens (Tokens, default None) –

    refresh token及びaccess tokenを指定します。

    指定しない場合は、環境変数に設定されているあるいはこのpkg内のファイル(emo-platform-api.json)に保存されているトークンが使用されます。

  • token_file_path (Optional[str], default None) –

    refresh token及びaccess tokenを保存するファイルのパス。

    指定しない場合は、このpkg内のディレクトリに保存されます。 指定したパスには、以下の2種類のファイルが生成されます。

    emo-platform-api.json

    最新のトークンを保存するファイル。

    emo-platform-api_previous.json

    前回、引数として指定されたトークンと環境変数として設定されていたトークンが記録されたファイル。

    アクセストークンあるいはリフレッシュトークンの指定が変更された場合(BOCCOアカウントの切り替えを行いたい場合など)に、前回から更新があったかを確認するのに使用されます。

    更新があった場合は、emo-platform-api.jsonに保存されているトークンが上書きされます。

Raises

TokenError – refresh tokenあるいはaccess tokenが環境変数として設定されていない場合。 引数tokensにトークンを指定している時は出ません。

Note

各メソッドの実行時にaccess tokenの期限が切れていた場合

emo-platform-api.jsonに保存されているrefresh tokenを使用して自動的にaccess tokenが更新されます。 その際にAPI呼び出しが1回行われます。

create_room_client(api_key: str, room_id: str)

部屋固有の各種apiを呼び出すclientの作成

部屋のidは、get_rooms_id() を使用することで、取得できます。

Parameters
  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

  • room_id (str) – 部屋のid

Returns

room_client – 部屋のclient

Return type

BizAdvancedRoom

Note

API呼び出し回数

0回

get_webhook_setting(api_key: str) emo_platform.response.EmoWebhookInfo

現在設定されているWebhookの情報の取得

Parameters

api_key (str) –

法人向けAPIキー

法人アカウントでログインした時の ダッシュボード から確認することができます。

Returns

webhook_info

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

change_webhook_setting(api_key: str, webhook: emo_platform.models.WebHook) emo_platform.response.EmoWebhookInfo

Webhookの設定の変更

Parameters
  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

  • webhook (WebHook) – 適用するWebhookの設定。

Returns

webhook_info – 変更後のWebhookの設定

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

register_webhook_event(api_key: str, events: List[str]) emo_platform.response.EmoWebhookInfo

Webhook通知するイベントの指定

eventの種類は、 こちらのページ から確認できます。

Parameters
  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

  • events (List[str]) – 指定するWebhook event。

Returns

webhook_info – 設定したWebhookの情報

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/webhook/events

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

create_webhook_setting(api_key: str, webhook: emo_platform.models.WebHook) emo_platform.response.EmoWebhookInfo

Webhookの設定の作成

Parameters
  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

  • webhook (WebHook) – 作成するWebhookの設定。

Returns

webhook_info – 作成したWebhookの設定。

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

delete_webhook_setting(api_key: str) emo_platform.response.EmoWebhookInfo

現在設定されているWebhookの情報の削除

Parameters

api_key (str) –

法人向けAPIキー

法人アカウントでログインした時の ダッシュボード から確認することができます。

Returns

webhook_info – 削除したWebhookの情報。

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#delete-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

start_webhook_event(api_key: str) str

BOCCO emoのWebhookのイベント通知の開始

event() で指定したイベントの通知が開始されます。

使用する際は、以下の手順を踏んでください。

  1. ngrokなどを用いて、ローカルサーバーにForwardingするURLを発行

  2. create_webhook_setting() で、1で発行したURLをBOCCO emoに設定

  3. event() で通知したいeventとそれに対応するcallback関数を設定

  4. この関数を実行

  5. ローカルサーバーを起動し、 get_cb_func() を利用して、webhook通知があった際に対応するcallback関数を実行

Parameters

api_key (str) –

法人向けAPIキー

法人アカウントでログインした時の ダッシュボード から確認することができます。

Returns

secret_key – BOCCO emoのWebhookリクエストのHTTP Headerに含まれるX-Platform-Api-Secretの値と一致する文字列です。

第三者からの、予期せぬリクエストを防ぐため、この文字列を利用した認証を実装してください。

Return type

str

Raises

EmoPlatformError – 関数内部で呼び出している register_webhook_event() が例外を出した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/webhook/events

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

class emo_platform.api.Room(base_client: emo_platform.api.Client, room_id: str)

Bases: object

部屋固有の各種apiを呼び出す同期版のclient

Parameters
  • base_client (Client) – このclientを作成しているclient。

  • room_id (str) – 部屋のuuid。

get_msgs(ts: Optional[int] = None) emo_platform.response.EmoMsgsInfo

部屋に投稿されたメッセージの取得

Parameters

ts (int or None) –

指定した場合は、その時刻以前のメッセージを取得できます。

指定方法:2021/07/01 12:30:45以前なら、20210701123045000

Returns

response – 投稿されたメッセージの情報。

Return type

EmoMsgsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/messages

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_sensors_list() emo_platform.response.EmoSensorsInfo

BOCCO emoとペアリングされているセンサの一覧の取得

センサの種類は こちらのページ で確認できます。

Returns

sensors_info – 取得した設定値。

Return type

EmoSensorsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/sensors

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_sensor_values(sensor_id: str) emo_platform.response.EmoRoomSensorInfo

部屋センサの送信値を取得

Parameters

sensor_id (str) –

部屋センサのuuid。

各部屋センサのuuidは、get_sensors_list() で確認できます。

Returns

response – 部屋センサの送信値の情報。

Return type

EmoRoomSensorInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (部屋センサ以外のBOCCOセンサ / 紐づいていない部屋センサ、のidを指定した場合も含みます)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/sensors/-sensor_uuid-/values

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

send_audio_msg(audio_data_path: str) emo_platform.response.EmoMessageInfo

音声ファイルの部屋への投稿

Attention

送信できるファイルの制限について

フォーマット: MP3, M4A

ファイルサイズ: 1MB

Parameters

audio_data_path (str) – 投稿する音声ファイルの絶対パス。

Returns

response – 音声ファイル投稿時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/audio

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

send_image(image_data_path: str) emo_platform.response.EmoMessageInfo

画像ファイルの部屋への投稿

Attention

送信できるファイルの制限について

フォーマット: JPG, PNG

ファイルサイズ: 1MB

Parameters

image_data_path (str) – 投稿する画像ファイルの絶対パス。

Returns

response – 画像投稿時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/image

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

send_msg(msg: str) emo_platform.response.EmoMessageInfo

テキストメッセージの部屋への投稿

Parameters

msg (str) – 投稿するメッセージ。

Returns

response – メッセージ投稿時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/text

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

send_stamp(stamp_id: str, msg: Optional[str] = None) emo_platform.response.EmoMessageInfo

スタンプの部屋への投稿

Parameters
  • stamp_id (str) –

    スタンプのuuid。

    各スタンプのuuidは、Client.get_stamps_list() で確認できます。

  • msg (Optional[str], default None) –

    スタンプ投稿時に、BOCCO emoが行うモーション再生と共に発話されるメッセージ。

    引数なしの場合は、発話なしでモーションが再生されます。

Returns

response – スタンプモーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/stamp

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

send_original_motion(motion_data: Union[str, dict]) emo_platform.response.EmoMessageInfo

独自定義した、オリジナルのモーションをBOCCO emoに送信

詳しくは、 こちらのページ を参照してください。

Parameters

motion_data (str or dict) –

モーションファイルを置いている絶対パス。

あるいは、モーションを記述した辞書オブジェクト。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (モーションのデータ形式が誤っている場合も含みます)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

change_led_color(color: emo_platform.models.Color) emo_platform.response.EmoMessageInfo

ほっぺたの色の変更

3秒間、ほっぺたの色を指定した色に変更します。

Parameters

color (Color) – 送信するほっぺたの色。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions/led_color

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

move_to(head: emo_platform.models.Head) emo_platform.response.EmoMessageInfo

首の角度の変更

首の角度を変更するモーションをBOCCO emoに送信します。

Parameters

head (Head) – 送信する首の角度。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions/move_to

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

send_motion(motion_id: str) emo_platform.response.EmoMessageInfo

プリセットモーションをBOCCO emoに送信

Parameters

motion_id (str) –

プリセットモーションのuuid

各プリセットモーションのuuidは、Client.get_motions_list() で確認できます。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions/preset

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_emo_settings() emo_platform.response.EmoSettingsInfo

現在のBOCCO emoの設定値を取得

Returns

settings – 取得した設定値。

Return type

EmoSettingsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/emo/settings

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

class emo_platform.api.BizRoom(base_client: emo_platform.api.Client, room_id: str, api_key: str)

Bases: emo_platform.api.Room

部屋固有の各種apiを呼び出す同期版のclient(Business版)

Parameters
  • base_client (BizClient) – このclientを作成しているclient。

  • room_id (str) – 部屋のuuid。

  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

get_msgs(ts: Optional[int] = None) emo_platform.response.EmoMsgsInfo

部屋に投稿されたメッセージの取得

Parameters

ts (int or None) –

指定した場合は、その時刻以前のメッセージを取得できます。

指定方法:2021/07/01 12:30:45以前なら、20210701123045000

Returns

response – 投稿されたメッセージの情報。

Return type

EmoMsgsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/messages

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_channel_msgs(ts: Optional[int] = None) emo_platform.response.EmoMsgsInfo

チャンネルから部屋に投稿されたメッセージの取得

Parameters

ts (int or None) –

指定した場合は、その時刻以前のメッセージを取得できます。

指定方法:2021/07/01 12:30:45以前なら、20210701123045000

Returns

response – 投稿されたメッセージの情報。

Return type

EmoMsgsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_sensors_list() emo_platform.response.EmoSensorsInfo

BOCCO emoとペアリングされているセンサの一覧の取得

センサの種類は こちらのページ で確認できます。

Returns

sensors_info – 取得した設定値。

Return type

EmoSensorsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/sensors

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

send_audio_msg(audio_data_path: str) emo_platform.response.EmoMessageInfo

音声ファイルの部屋への投稿

Attention

送信できるファイルの制限について

フォーマット: MP3, M4A

ファイルサイズ: 1MB

Parameters

audio_data_path (str) – 投稿する音声ファイルの絶対パス。

Returns

response – 音声ファイル投稿時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/audio

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

send_image(image_data_path: str) emo_platform.response.EmoMessageInfo

画像ファイルの部屋への投稿

Attention

送信できるファイルの制限について

フォーマット: JPG, PNG

ファイルサイズ: 1MB

Parameters

image_data_path (str) – 投稿する画像ファイルの絶対パス。

Returns

response – 画像投稿時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/image

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

send_msg(msg: str) emo_platform.response.EmoMessageInfo

テキストメッセージの部屋への投稿

Parameters

msg (str) – 投稿するメッセージ。

Returns

response – メッセージ投稿時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/text

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

send_stamp(stamp_id: str, msg: Optional[str] = None) emo_platform.response.EmoMessageInfo

スタンプの部屋への投稿

Parameters
  • stamp_id (str) –

    スタンプのuuid。

    各スタンプのuuidは、Client.get_stamps_list() で確認できます。

  • msg (Optional[str], default None) –

    スタンプ投稿時に、BOCCO emoが行うモーション再生と共に発話されるメッセージ。

    引数なしの場合は、発話なしでモーションが再生されます。

Returns

response – スタンプモーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/stamp

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_emo_settings() emo_platform.response.EmoSettingsInfo

現在のBOCCO emoの設定値を取得

Returns

settings – 取得した設定値。

Return type

EmoSettingsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/emo/settings

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

class emo_platform.api.BizBasicRoom(base_client: emo_platform.api.Client, room_id: str, api_key: str)

Bases: emo_platform.api.BizRoom

部屋固有の各種apiを呼び出す同期版のclient(Business Basic版)

Parameters
  • base_client (BizBasicClient) – このclientを作成しているclient。

  • room_id (str) – 部屋のuuid。

  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

get_sensor_values(sensor_id: str) NoReturn

部屋センサの送信値を取得

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

send_original_motion(motion_data: Union[str, dict]) NoReturn

独自定義した、オリジナルのモーションをBOCCO emoに送信

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

change_led_color(color: emo_platform.models.Color) NoReturn

ほっぺたの色の変更

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

move_to(head: emo_platform.models.Head) NoReturn

首の角度の変更

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

send_motion(motion_id: str) NoReturn

プリセットモーションをBOCCO emoに送信

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

class emo_platform.api.BizAdvancedRoom(base_client: emo_platform.api.Client, room_id: str, api_key: str)

Bases: emo_platform.api.BizRoom

部屋固有の各種apiを呼び出す同期版のclient(Business Advanced版)

Parameters
  • base_client (BizAdvancedClient) – このclientを作成しているclient。

  • room_id (str) – 部屋のuuid。

  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

get_sensor_values(sensor_id: str) emo_platform.response.EmoRoomSensorInfo

部屋センサの送信値を取得

Parameters

sensor_id (str) –

部屋センサのuuid。

各部屋センサのuuidは、get_sensors_list() で確認できます。

Returns

response – 部屋センサの送信値の情報。

Return type

EmoRoomSensorInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (部屋センサ以外のBOCCOセンサ / 紐づいていない部屋センサ、のidを指定した場合も含みます)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/sensors/-sensor_uuid-/values

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

send_original_motion(motion_data: Union[str, dict]) emo_platform.response.EmoMessageInfo

独自定義した、オリジナルのモーションをBOCCO emoに送信

詳しくは、 こちらのページ を参照してください。

Parameters

motion_data (str or dict) –

モーションファイルを置いている絶対パス。

あるいは、モーションを記述した辞書オブジェクト。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (モーションのデータ形式が誤っている場合も含みます)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

change_led_color(color: emo_platform.models.Color) emo_platform.response.EmoMessageInfo

ほっぺたの色の変更

3秒間、ほっぺたの色を指定した色に変更します。

Parameters

color (Color) – 送信するほっぺたの色。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions/led_color

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

move_to(head: emo_platform.models.Head) emo_platform.response.EmoMessageInfo

首の角度の変更

首の角度を変更するモーションをBOCCO emoに送信します。

Parameters

head (Head) – 送信する首の角度。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions/move_to

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

send_motion(motion_id: str) emo_platform.response.EmoMessageInfo

プリセットモーションをBOCCO emoに送信

Parameters

motion_id (str) –

プリセットモーションのuuid

各プリセットモーションのuuidは、Client.get_motions_list() で確認できます。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions/preset

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

emo_platform.api_async module

class emo_platform.api_async.AsyncClient(endpoint_url: Optional[str] = None, tokens: Optional[emo_platform.models.Tokens] = None, token_file_path: Optional[str] = None, use_cached_credentials: bool = False)

Bases: object

各種apiを呼び出す非同期版のclient(Personal版)

Parameters
  • endpoint_url (str, default https://platform-api.bocco.me) – BOCCO emo platform apiにアクセスするためのendpoint

  • tokens (Tokens, default None) –

    refresh token及びaccess tokenを指定します。

    指定しない場合は、環境変数に設定されているあるいはこのpkg内のファイル(emo-platform-api.json)に保存されているトークンが使用されます。

  • token_file_path (Optional[str], default None) –

    refresh token及びaccess tokenを保存するファイルのパス。 指定した場合には指定したパスに、指定しない場合はこのpkg内のディレクトリに、以下の2種類のファイルが生成されます。

    emo-platform-api.json

    最新のトークンを保存するファイル。

    emo-platform-api_previous.json

    前回、引数として指定されたトークンと環境変数として設定されていたトークンが記録されたファイル。

    アクセストークンあるいはリフレッシュトークンの指定が変更された場合(BOCCOアカウントの切り替えを行いたい場合など)に、前回から更新があったかを確認するのに使用されます。

    更新があった場合は、emo-platform-api.jsonに保存されているトークンが上書きされます。

  • use_cached_credentials (bool, default False) –

    Trueにした場合、上述した2つのファイルにrefresh token及びaccess tokenを保存しなくなります。

    この時、引数tokensにトークン情報を与えるようにしてください。(与えない場合は、例外が出されます。)

    この引数をTrueにするのは、サーバーサイドのwebアプリにこのライブラリを使用する際などを想定しています。

Raises

TokenError – refresh tokenあるいはaccess tokenが環境変数として設定されていない場合。 引数tokensにトークンを指定している時は出ません。

Note

各メソッドの実行時にaccess tokenの期限が切れていた場合

emo-platform-api.jsonに保存されているrefresh tokenを使用して自動的にaccess tokenが更新されます。 その際にAPI呼び出しが1回行われます。

Business版をお使いの方へ

このクラスは使用せずに、継承先である BizBasicAsyncClient あるいは BizAdvancedAsyncClient をお使いください。

async get_access_token(refresh_token: str) emo_platform.response.EmoTokens

トークンの取得

refresh_tokenを用いて、refresh tokenとaccess tokenを取得します。

Parameters

refresh_token (str) – refresh tokenとaccess tokenを取得するのに用いるrefresh token。

Returns

emo_tokens

Return type

EmoTokens

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/oauth/token/refresh

API呼び出し回数

1回

async get_account_info() emo_platform.response.EmoAccountInfo

アカウント情報の取得

Returns

account_info

Return type

EmoAccountInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/me

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async delete_account_info() emo_platform.response.EmoAccountInfo

アカウントの削除

紐づくWebhook等の設定も全て削除されます。

Returns

account_info

Return type

EmoAccountInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#delete-/v1/me

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_rooms_list() emo_platform.response.EmoRoomInfo

ユーザが参加している部屋の一覧の取得

Returns

rooms_list

Return type

EmoRoomInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_rooms_id() List[str]

ユーザーが参加している全ての部屋のidの取得

Returns

rooms_id – 取得した部屋のidのリスト

Return type

List[str]

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合 あるいは、ユーザーが参加している部屋が1つもなかった場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

create_room_client(room_id: str)

部屋固有の各種apiを呼び出すclientの作成

部屋のidは、get_rooms_id() を使用することで、取得できます。

Parameters

room_id (str) – 部屋のid

Returns

room_client – 部屋のclient

Return type

AsyncRoom

Note

API呼び出し回数

0回

async get_stamps_list() emo_platform.response.EmoStampsInfo

利用可能なスタンプ一覧の取得

Returns

stamps_info

Return type

EmoStampsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/stamps

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_motions_list() emo_platform.response.EmoMotionsInfo

利用可能なプリセットモーション一覧の取得

Returns

motions_info

Return type

EmoMotionsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/motions

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_webhook_setting() emo_platform.response.EmoWebhookInfo

現在設定されているWebhookの情報の取得

Returns

webhook_info

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async change_webhook_setting(webhook: emo_platform.models.WebHook) emo_platform.response.EmoWebhookInfo

Webhookの設定の変更

Parameters

webhook (WebHook) – 適用するWebhookの設定。

Returns

webhook_info – 変更後のWebhookの設定

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async register_webhook_event(events: List[str]) emo_platform.response.EmoWebhookInfo

Webhook通知するイベントの指定

eventの種類は、 こちらのページ から確認できます。

Parameters

events (List[str]) – 指定するWebhook event。

Returns

webhook_info – 設定したWebhookの情報

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/webhook/events

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async create_webhook_setting(webhook: emo_platform.models.WebHook) emo_platform.response.EmoWebhookInfo

Webhookの設定の作成

Parameters

webhook (WebHook) – 作成するWebhookの設定。

Returns

webhook_info – 作成したWebhookの設定。

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async delete_webhook_setting() emo_platform.response.EmoWebhookInfo

現在設定されているWebhookの情報の削除

Returns

webhook_info – 削除したWebhookの情報。

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#delete-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

event(event: str, room_id_list: List[str] = ['']) Callable

Webhookの指定のeventが通知されたときに呼び出す関数の登録

Example

呼び出したい関数にdecorateして登録します:

import emo_platform

client = emo_platform.AsyncClient()

@client.event("message.received")
async def test_event_callback(body):
    print(body)
Parameters
  • event (str) –

    指定するWebhook event。

    eventの種類は、こちらのページ から確認できます。

  • room_id_list (List[str], default [""]) –

    指定したWebhook eventの通知を監視する部屋をidで指定できます。

    引数なしだと、全ての部屋を監視します。

Note

API呼び出し回数

0回

async start_webhook_event() str

BOCCO emoのWebhookのイベント通知の開始

event() で指定したイベントの通知が開始されます。

使用する際は、以下の手順を踏んでください。

  1. ngrokなどを用いて、ローカルサーバーにForwardingするURLを発行

  2. create_webhook_setting() で、1で発行したURLをBOCCO emoに設定

  3. event() で通知したいeventとそれに対応するcallback関数を設定

  4. この関数を実行

  5. ローカルサーバーを起動し、get_cb_func() を利用して、webhook通知があった際に対応するcallback関数を実行

Returns

secret_key – BOCCO emoのWebhookリクエストのHTTP Headerに含まれるX-Platform-Api-Secretの値と一致する文字列です。

第三者からの、予期せぬリクエストを防ぐため、この文字列を利用した認証を実装してください。

Return type

str

Raises

EmoPlatformError – 関数内部で呼んでいる register_webhook_event() が例外を出した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/webhook/events

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

get_cb_func(body: dict) Tuple[Callable, emo_platform.response.EmoWebhookBody]

受信したwebhookイベントに対応するcallback関数及びパースされたボディの取得

使用する際は、以下の手順を踏んでください。

  1. ngrokなどを用いて、ローカルサーバーにForwardingするURLを発行

  2. create_webhook_setting() で、1で発行したURLをBOCCO emoに設定

  3. event() で通知したいeventとそれに対応するcallback関数を設定

  4. start_webhook_event() でwebhook通知を開始

  5. ローカルサーバーを起動し、この関数を利用して、webhook通知があった際に対応するcallback関数を実行

Example

aiohttpライブラリを使用してローカルサーバーを立てた例:

import asyncio
from aiohttp import web
from emo_platform import AsyncClient, WebHook, EmoPlatformError

client = AsyncClient()

async def print_queue(queue):
    while True:
        item = await queue.get()
        print("body:", item)
        print("data:", item.data)

async def main():
    # Please replace "YOUR WEBHOOK URL" with the URL forwarded to http://localhost:8000
    await client.create_webhook_setting(WebHook("YOUR WEBHOOK URL"))

    queue = asyncio.Queue()

    @client.event("message.received")
    async def message_callback(body):
        await asyncio.sleep(1)  # Do not use time.sleep in async def
        await queue.put(body)

    secret_key = await client.start_webhook_event()

    routes = web.RouteTableDef()

    @routes.post('/')
    async def emo_webhook(request):
        # check secret key
        if request.headers["X-Platform-Api-Secret"] == secret_key:
            body = await request.json()
            emo_webhook_body = parse_webhook_body(body)
            try:
                cb_func, emo_webhook_body = client.get_cb_func(body)
            except EmoPlatformError:
                return web.Response(status=501)
            asyncio.create_task(cb_func(emo_webhook_body))
            return web.Response()
        else:
            return web.Response(status=401)

    app = web.Application()
    app.add_routes(routes)
    runner = web.AppRunner(app)
    await runner.setup()
    site = web.TCPSite(runner, 'localhost', 8000)
    await site.start()

    await print_queue(queue)

asyncio.run(main())
Parameters

body (dict) – 受信したwebhookリクエストのボディのJSONペイロード

Returns

cb_func, emo_webhook_body

Return type

Tuple[Callable, EmoWebhookBody]

Raises

EmoPlatformError – 受信したwebhookイベントに対応するcallback関数が登録されていない場合。

Note

API呼び出し回数

0回

class emo_platform.api_async.BizAsyncClient(endpoint_url: Optional[str] = None, tokens: Optional[emo_platform.models.Tokens] = None, token_file_path: Optional[str] = None, use_cached_credentials: bool = False)

Bases: emo_platform.api_async.AsyncClient

各種apiを呼び出す非同期版のclient(Business版)

Note

使用上の注意

このクラスは使用せずに、継承先である BizBasicAsyncClient あるいは BizAdvancedAsyncClient をお使いください。

async get_account_info() emo_platform.response.EmoBizAccountInfo

アカウント情報の取得

Returns

account_info

Return type

EmoBizAccountInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

Personal版とBusiness版での違い

返り値の型が異なるので注意してください。

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/me

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async delete_account_info() NoReturn

アカウント情報の取得

Business版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

Note

Personal版とBusiness版での違い

Business版では使用できません。

async change_account_info(acount: emo_platform.models.AccountInfo) emo_platform.response.EmoBizAccountInfo

アカウント情報の編集

Parameters

account (AccountInfo) – 新たなアカウント情報。

Returns

account_info – 編集後のアカウント情報。

Return type

EmoBizAccountInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/me

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_rooms_list(api_key: str) emo_platform.response.EmoRoomInfo

ユーザが参加している部屋の一覧の取得

Parameters

api_key (str) –

法人向けAPIキー

法人アカウントでログインした時の ダッシュボード から確認することができます。

Returns

rooms_list

Return type

EmoRoomInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_rooms_id(api_key: str) List[str]

ユーザーが参加している全ての部屋のidの取得

Parameters

api_key (str) –

法人向けAPIキー

法人アカウントでログインした時の ダッシュボード から確認することができます。

Returns

rooms_id – 取得した部屋のidのリスト

Return type

List[str]

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合 あるいは、ユーザーが参加している部屋が1つもなかった場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_stamps_list(api_key: str) emo_platform.response.EmoStampsInfo

利用可能なスタンプ一覧の取得

Parameters

api_key (str) –

法人向けAPIキー

法人アカウントでログインした時の ダッシュボード から確認することができます。

Returns

stamps_info

Return type

EmoStampsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/stamps

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_broadcast_msgs_list() emo_platform.response.EmoBroadcastInfoList

配信メッセージの一覧の取得

Returns

broadcast_info_list – 配信メッセージの一覧。

Return type

EmoBroadcastInfoList

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/broadcast_messages

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_broadcast_msg_details(message_id: int) emo_platform.response.EmoBroadcastInfo

配信メッセージの詳細の取得

Parameters

message_id (int) – 詳細を取得したい配信メッセージのid

Returns

broadcast_info_list – 配信メッセージの詳細。

Return type

EmoBroadcastInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/broadcast_messages/-broadcast_message_id-

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async create_broadcast_msg(api_key: str, message: emo_platform.models.BroadcastMsg) emo_platform.response.EmoBroadcastMessage

配信メッセージの新規作成

Parameters
  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

  • message (BroadcastMsg) – 新規に作成する配信メッセージ。

Returns

broadcast_msg – 新規に作成した配信メッセージの内容。

Return type

EmoBroadcastMessage

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/broadcast_messages

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

class emo_platform.api_async.BizBasicAsyncClient(endpoint_url: Optional[str] = None, tokens: Optional[emo_platform.models.Tokens] = None, token_file_path: Optional[str] = None, use_cached_credentials: bool = False)

Bases: emo_platform.api_async.BizAsyncClient

各種apiを呼び出す非同期版のclient(Business Basic版)

Parameters
  • endpoint_url (str, default https://platform-api.bocco.me) – BOCCO emo platform apiにアクセスするためのendpoint

  • tokens (Tokens, default None) –

    refresh token及びaccess tokenを指定します。

    指定しない場合は、環境変数に設定されているあるいはこのpkg内のファイル(emo-platform-api.json)に保存されているトークンが使用されます。

  • token_file_path (Optional[str], default None) –

    refresh token及びaccess tokenを保存するファイルのパス。

    指定しない場合は、このpkg内のディレクトリに保存されます。 指定したパスには、以下の2種類のファイルが生成されます。

    emo-platform-api.json

    最新のトークンを保存するファイル。

    emo-platform-api_previous.json

    前回、引数として指定されたトークンと環境変数として設定されていたトークンが記録されたファイル。

    アクセストークンあるいはリフレッシュトークンの指定が変更された場合(BOCCOアカウントの切り替えを行いたい場合など)に、前回から更新があったかを確認するのに使用されます。

    更新があった場合は、emo-platform-api.jsonに保存されているトークンが上書きされます。

Raises

TokenError – refresh tokenあるいはaccess tokenが環境変数として設定されていない場合。 引数tokensにトークンを指定している時は出ません。

Note

各メソッドの実行時にaccess tokenの期限が切れていた場合

emo-platform-api.jsonに保存されているrefresh tokenを使用して自動的にaccess tokenが更新されます。 その際にAPI呼び出しが1回行われます。

create_room_client(api_key: str, room_id: str)

部屋固有の各種apiを呼び出すclientの作成

部屋のidは、get_rooms_id() を使用することで、取得できます。

Parameters
  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

  • room_id (str) – 部屋のid

Returns

room_client – 部屋のclient

Return type

BizBasicAsyncRoom

Note

API呼び出し回数

0回

async get_motions_list() NoReturn

利用可能なプリセットモーション一覧の取得

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

async get_webhook_setting(api_key: str) NoReturn

現在設定されているWebhookの情報の取得

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

async change_webhook_setting(api_key: str, webhook: emo_platform.models.WebHook) NoReturn

Webhookの設定の変更

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

async register_webhook_event(api_key: str, events: List[str]) NoReturn

Webhook通知するイベントの指定

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

async create_webhook_setting(api_key: str, webhook: emo_platform.models.WebHook) NoReturn

Webhookの設定の作成

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

async delete_webhook_setting(api_key: str) NoReturn

現在設定されているWebhookの情報の削除

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

event(event: str, room_id_list: List[str] = ['']) NoReturn

Webhookの指定のeventが通知されたときに呼び出す関数の登録

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

async start_webhook_event() NoReturn

BOCCO emoのWebhookのイベント通知の開始

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

get_cb_func(body: dict) NoReturn

受信したwebhookイベントに対応するcallback関数及びパースされたボディの取得

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

class emo_platform.api_async.BizAdvancedAsyncClient(endpoint_url: Optional[str] = None, tokens: Optional[emo_platform.models.Tokens] = None, token_file_path: Optional[str] = None, use_cached_credentials: bool = False)

Bases: emo_platform.api_async.BizAsyncClient

各種apiを呼び出す非同期版のclient(Business Advanced版)

Parameters
  • endpoint_url (str, default https://platform-api.bocco.me) – BOCCO emo platform apiにアクセスするためのendpoint

  • tokens (Tokens, default None) –

    refresh token及びaccess tokenを指定します。

    指定しない場合は、環境変数に設定されているあるいはこのpkg内のファイル(emo-platform-api.json)に保存されているトークンが使用されます。

  • token_file_path (Optional[str], default None) –

    refresh token及びaccess tokenを保存するファイルのパス。

    指定しない場合は、このpkg内のディレクトリに保存されます。 指定したパスには、以下の2種類のファイルが生成されます。

    emo-platform-api.json

    最新のトークンを保存するファイル。

    emo-platform-api_previous.json

    前回、引数として指定されたトークンと環境変数として設定されていたトークンが記録されたファイル。

    アクセストークンあるいはリフレッシュトークンの指定が変更された場合(BOCCOアカウントの切り替えを行いたい場合など)に、前回から更新があったかを確認するのに使用されます。

    更新があった場合は、emo-platform-api.jsonに保存されているトークンが上書きされます。

Raises

TokenError – refresh tokenあるいはaccess tokenが環境変数として設定されていない場合。 引数tokensにトークンを指定している時は出ません。

Note

各メソッドの実行時にaccess tokenの期限が切れていた場合

emo-platform-api.jsonに保存されているrefresh tokenを使用して自動的にaccess tokenが更新されます。 その際にAPI呼び出しが1回行われます。

create_room_client(api_key: str, room_id: str)

部屋固有の各種apiを呼び出すclientの作成

部屋のidは、get_rooms_id() を使用することで、取得できます。

Parameters
  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

  • room_id (str) – 部屋のid

Returns

room_client – 部屋のclient

Return type

BizAdvancedAsyncRoom

Note

API呼び出し回数

0回

async get_webhook_setting(api_key: str) emo_platform.response.EmoWebhookInfo

現在設定されているWebhookの情報の取得

Parameters

api_key (str) –

法人向けAPIキー

法人アカウントでログインした時の ダッシュボード から確認することができます。

Returns

webhook_info

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async change_webhook_setting(api_key: str, webhook: emo_platform.models.WebHook) emo_platform.response.EmoWebhookInfo

Webhookの設定の変更

Parameters
  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

  • webhook (WebHook) – 適用するWebhookの設定。

Returns

webhook_info – 変更後のWebhookの設定

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async register_webhook_event(api_key: str, events: List[str]) emo_platform.response.EmoWebhookInfo

Webhook通知するイベントの指定

eventの種類は、 こちらのページ から確認できます。

Parameters
  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

  • events (List[str]) – 指定するWebhook event。

Returns

webhook_info – 設定したWebhookの情報

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/webhook/events

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async create_webhook_setting(api_key: str, webhook: emo_platform.models.WebHook) emo_platform.response.EmoWebhookInfo

Webhookの設定の作成

Parameters
  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

  • webhook (WebHook) – 作成するWebhookの設定。

Returns

webhook_info – 作成したWebhookの設定。

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async delete_webhook_setting(api_key: str) emo_platform.response.EmoWebhookInfo

現在設定されているWebhookの情報の削除

Parameters

api_key (str) –

法人向けAPIキー

法人アカウントでログインした時の ダッシュボード から確認することができます。

Returns

webhook_info – 削除したWebhookの情報。

Return type

EmoWebhookInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合 (BOCCO emoにWebhookの設定がされていない場合を含む)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#delete-/v1/webhook

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async start_webhook_event(api_key: str) str

BOCCO emoのWebhookのイベント通知の開始

event() で指定したイベントの通知が開始されます。

使用する際は、以下の手順を踏んでください。

  1. ngrokなどを用いて、ローカルサーバーにForwardingするURLを発行

  2. create_webhook_setting() で、1で発行したURLをBOCCO emoに設定

  3. event() で通知したいeventとそれに対応するcallback関数を設定

  4. この関数を実行

  5. ローカルサーバーを起動し、get_cb_func() を利用して、webhook通知があった際に対応するcallback関数を実行

Parameters

api_key (str) –

法人向けAPIキー

法人アカウントでログインした時の ダッシュボード から確認することができます。

Returns

secret_key – BOCCO emoのWebhookリクエストのHTTP Headerに含まれるX-Platform-Api-Secretの値と一致する文字列です。

第三者からの、予期せぬリクエストを防ぐため、この文字列を利用した認証を実装してください。

Return type

str

Raises

EmoPlatformError – 関数内部で呼び出している register_webhook_event() が例外を出した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#put-/v1/webhook/events

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

class emo_platform.api_async.AsyncRoom(base_client: emo_platform.api_async.AsyncClient, room_id: str)

Bases: object

部屋固有の各種apiを呼び出す非同期版のclient

Parameters
  • base_client (AsyncClient) – このclientを作成しているclient。

  • room_id (str) – 部屋のuuid。

async get_msgs(ts: Optional[int] = None) emo_platform.response.EmoMsgsInfo

部屋に投稿されたメッセージの取得

Parameters

ts (int or None) –

指定した場合は、その時刻以前のメッセージを取得できます。

指定方法:2021/07/01 12:30:45以前なら、20210701123045000

Returns

response – 投稿されたメッセージの情報。

Return type

EmoMsgsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/messages

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_sensors_list() emo_platform.response.EmoSensorsInfo

BOCCO emoとペアリングされているセンサの一覧の取得

センサの種類は こちらのページ で確認できます。

Returns

sensors_info – 取得した設定値。

Return type

EmoSensorsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/sensors

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_sensor_values(sensor_id: str) emo_platform.response.EmoRoomSensorInfo

部屋センサの送信値を取得

Parameters

sensor_id (str) –

部屋センサのuuid。

各部屋センサのuuidは、get_sensors_list() で確認できます。

Returns

response – 部屋センサの送信値の情報。

Return type

EmoRoomSensorInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (部屋センサ以外のBOCCOセンサ / 紐づいていない部屋センサ、のidを指定した場合も含みます)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/sensors/-sensor_uuid-/values

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async send_audio_msg(audio_data_path: str) emo_platform.response.EmoMessageInfo

音声ファイルの部屋への投稿

Attention

送信できるファイルの制限について

フォーマット: MP3, M4A

ファイルサイズ: 1MB

Parameters

audio_data_path (str) – 投稿する音声ファイルの絶対パス。

Returns

response – 音声ファイル投稿時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/audio

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async send_image(image_data_path: str) emo_platform.response.EmoMessageInfo

画像ファイルの部屋への投稿

Attention

送信できるファイルの制限について

フォーマット: JPG, PNG

ファイルサイズ: 1MB

Parameters

image_data_path (str) – 投稿する画像ファイルの絶対パス。

Returns

response – 画像投稿時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/image

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async send_msg(msg: str) emo_platform.response.EmoMessageInfo

テキストメッセージの部屋への投稿

Parameters

msg (str) – 投稿するメッセージ。

Returns

response – メッセージ投稿時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/text

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async send_stamp(stamp_id: str, msg: Optional[str] = None) emo_platform.response.EmoMessageInfo

スタンプの部屋への投稿

Parameters
  • stamp_id (str) –

    スタンプのuuid。

    各スタンプのuuidは、Client.get_stamps_list() で確認できます。

  • msg (Optional[str], default None) –

    スタンプ投稿時に、BOCCO emoが行うモーション再生と共に発話されるメッセージ。

    引数なしの場合は、発話なしでモーションが再生されます。

Returns

response – スタンプモーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/stamp

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async send_original_motion(motion_data: Union[str, dict]) emo_platform.response.EmoMessageInfo

独自定義した、オリジナルのモーションをBOCCO emoに送信

詳しくは、 こちらのページ を参照してください。

Parameters

file_path (str or dict) –

モーションファイルを置いている絶対パス。

あるいは、モーションを記述した辞書オブジェクト。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (モーションのデータ形式が誤っている場合も含みます)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async change_led_color(color: emo_platform.models.Color) emo_platform.response.EmoMessageInfo

ほっぺたの色の変更

3秒間、ほっぺたの色を指定した色に変更します。

Parameters

color (Color) – 送信するほっぺたの色。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions/led_color

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async move_to(head: emo_platform.models.Head) emo_platform.response.EmoMessageInfo

首の角度の変更

首の角度を変更するモーションをBOCCO emoに送信します。

Parameters

head (Head) – 送信する首の角度。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions/move_to

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async send_motion(motion_id: str) emo_platform.response.EmoMessageInfo

プリセットモーションをBOCCO emoに送信

Parameters

motion_id (str) –

プリセットモーションのuuid

各プリセットモーションのuuidは、Client.get_motions_list() で確認できます。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions/preset

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_emo_settings() emo_platform.response.EmoSettingsInfo

現在のBOCCO emoの設定値を取得

Returns

settings – 取得した設定値。

Return type

EmoSettingsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/emo/settings

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

class emo_platform.api_async.BizAsyncRoom(base_client: emo_platform.api_async.BizAsyncClient, room_id: str, api_key: str)

Bases: emo_platform.api_async.AsyncRoom

部屋固有の各種apiを呼び出す非同期版のclient(Business版)

Parameters
  • base_client (BizAsyncClient) – このclientを作成しているclient。

  • room_id (str) – 部屋のuuid。

  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

async get_msgs(ts: Optional[int] = None) emo_platform.response.EmoMsgsInfo

部屋に投稿されたメッセージの取得

Parameters

ts (int or None) –

指定した場合は、その時刻以前のメッセージを取得できます。

指定方法:2021/07/01 12:30:45以前なら、20210701123045000

Returns

response – 投稿されたメッセージの情報。

Return type

EmoMsgsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/messages

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_channel_msgs(ts: Optional[int] = None) emo_platform.response.EmoMsgsInfo

チャンネルから部屋に投稿されたメッセージの取得

Parameters

ts (int or None) –

指定した場合は、その時刻以前のメッセージを取得できます。

指定方法:2021/07/01 12:30:45以前なら、20210701123045000

Returns

response – 投稿されたメッセージの情報。

Return type

EmoMsgsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_sensors_list() emo_platform.response.EmoSensorsInfo

BOCCO emoとペアリングされているセンサの一覧の取得

センサの種類は こちらのページ で確認できます。

Returns

sensors_info – 取得した設定値。

Return type

EmoSensorsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/sensors

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async send_audio_msg(audio_data_path: str) emo_platform.response.EmoMessageInfo

音声ファイルの部屋への投稿

Attention

送信できるファイルの制限について

フォーマット: MP3, M4A

ファイルサイズ: 1MB

Parameters

audio_data_path (str) – 投稿する音声ファイルの絶対パス。

Returns

response – 音声ファイル投稿時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/audio

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async send_image(image_data_path: str) emo_platform.response.EmoMessageInfo

画像ファイルの部屋への投稿

Attention

送信できるファイルの制限について

フォーマット: JPG, PNG

ファイルサイズ: 1MB

Parameters

image_data_path (str) – 投稿する画像ファイルの絶対パス。

Returns

response – 画像投稿時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/image

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async send_msg(msg: str) emo_platform.response.EmoMessageInfo

テキストメッセージの部屋への投稿

Parameters

msg (str) – 投稿するメッセージ。

Returns

response – メッセージ投稿時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/text

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async send_stamp(stamp_id: str, msg: Optional[str] = None) emo_platform.response.EmoMessageInfo

スタンプの部屋への投稿

Parameters
  • stamp_id (str) –

    スタンプのuuid。

    各スタンプのuuidは、Client.get_stamps_list() で確認できます。

  • msg (Optional[str], default None) –

    スタンプ投稿時に、BOCCO emoが行うモーション再生と共に発話されるメッセージ。

    引数なしの場合は、発話なしでモーションが再生されます。

Returns

response – スタンプモーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/messages/stamp

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async get_emo_settings() emo_platform.response.EmoSettingsInfo

現在のBOCCO emoの設定値を取得

Returns

settings – 取得した設定値。

Return type

EmoSettingsInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/emo/settings

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

class emo_platform.api_async.BizBasicAsyncRoom(base_client: emo_platform.api_async.BizAsyncClient, room_id: str, api_key: str)

Bases: emo_platform.api_async.BizAsyncRoom

部屋固有の各種apiを呼び出す非同期版のclient(Business Basic版)

Parameters
  • base_client (BizBasicAsyncClient) – このclientを作成しているclient。

  • room_id (str) – 部屋のuuid。

  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

async get_sensor_values(sensor_id: str) NoReturn

部屋センサの送信値を取得

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

async send_original_motion(motion_data: Union[str, dict]) NoReturn

独自定義した、オリジナルのモーションをBOCCO emoに送信

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

async change_led_color(color: emo_platform.models.Color) NoReturn

ほっぺたの色の変更

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

async move_to(head: emo_platform.models.Head) NoReturn

首の角度の変更

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

async send_motion(motion_id: str) NoReturn

プリセットモーションをBOCCO emoに送信

Business Basic版では使用できないメソッドです。

Raises

UnavailableError – この関数を呼び出した場合。

class emo_platform.api_async.BizAdvancedAsyncRoom(base_client: emo_platform.api_async.BizAsyncClient, room_id: str, api_key: str)

Bases: emo_platform.api_async.BizAsyncRoom

部屋固有の各種apiを呼び出す非同期版のclient(Business Advanced版)

Parameters
  • base_client (BizAdvancedAsyncClient) – このclientを作成しているclient。

  • room_id (str) – 部屋のuuid。

  • api_key (str) –

    法人向けAPIキー

    法人アカウントでログインした時の ダッシュボード から確認することができます。

async get_sensor_values(sensor_id: str) emo_platform.response.EmoRoomSensorInfo

部屋センサの送信値を取得

Parameters

sensor_id (str) –

部屋センサのuuid。

各部屋センサのuuidは、get_sensors_list() で確認できます。

Returns

response – 部屋センサの送信値の情報。

Return type

EmoRoomSensorInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (部屋センサ以外のBOCCOセンサ / 紐づいていない部屋センサ、のidを指定した場合も含みます)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#get-/v1/rooms/-room_uuid-/sensors/-sensor_uuid-/values

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async send_original_motion(motion_data: Union[str, dict]) emo_platform.response.EmoMessageInfo

独自定義した、オリジナルのモーションをBOCCO emoに送信

詳しくは、 こちらのページ を参照してください。

Parameters

file_path (str or dict) –

モーションファイルを置いている絶対パス。

あるいは、モーションを記述した辞書オブジェクト。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。 (モーションのデータ形式が誤っている場合も含みます)

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async change_led_color(color: emo_platform.models.Color) emo_platform.response.EmoMessageInfo

ほっぺたの色の変更

3秒間、ほっぺたの色を指定した色に変更します。

Parameters

color (Color) – 送信するほっぺたの色。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions/led_color

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async move_to(head: emo_platform.models.Head) emo_platform.response.EmoMessageInfo

首の角度の変更

首の角度を変更するモーションをBOCCO emoに送信します。

Parameters

head (Head) – 送信する首の角度。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions/move_to

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

async send_motion(motion_id: str) emo_platform.response.EmoMessageInfo

プリセットモーションをBOCCO emoに送信

Parameters

motion_id (str) –

プリセットモーションのuuid

各プリセットモーションのuuidは、Client.get_motions_list() で確認できます。

Returns

response – モーション送信時の情報。

Return type

EmoMessageInfo

Raises

EmoPlatformError – 関数内部で行っているAPI呼び出しが失敗した場合。

Note

呼び出しているAPI

https://platform-api.bocco.me/dashboard/api-docs#post-/v1/rooms/-room_uuid-/motions/preset

API呼び出し回数

1回 + 1回(access tokenが切れていた場合)

emo_platform.exceptions module

class emo_platform.exceptions.EmoRequestInfo(method: str, url: str, headers: dict)

Bases: object

http requestしたデータ

method: str
url: str
headers: dict
exception emo_platform.exceptions.EmoPlatformError(message, status=None, request=None)

Bases: Exception

BOCCO emo Platform API利用時のエラー

exception emo_platform.exceptions.EmoHttpError(message, status=None, request=None)

Bases: emo_platform.exceptions.EmoPlatformError

http request時のエラー

exception emo_platform.exceptions.RateLimitError(message, status=None, request=None)

Bases: emo_platform.exceptions.EmoHttpError

1分あたりのAPI利用回数を上回った場合に出るエラー

exception emo_platform.exceptions.UnauthorizedError(message, status=None, request=None)

Bases: emo_platform.exceptions.EmoHttpError

API利用に際しての認証エラー

exception emo_platform.exceptions.NotFoundError(message, status=None, request=None)

Bases: emo_platform.exceptions.EmoHttpError

指定したAPIのURLが存在しない場合に出るエラー

exception emo_platform.exceptions.BadRequestError(message, status=None, request=None)

Bases: emo_platform.exceptions.EmoHttpError

送るデータの形式が誤っている場合に出るエラー

exception emo_platform.exceptions.UnknownError(message, status=None, request=None)

Bases: emo_platform.exceptions.EmoHttpError

未定義のエラー

exception emo_platform.exceptions.NoRoomError(message, status=None, request=None)

Bases: emo_platform.exceptions.EmoPlatformError

BOCCOアカウントに紐づいた部屋がない場合に出るエラー

exception emo_platform.exceptions.TokenError(message, status=None, request=None)

Bases: emo_platform.exceptions.EmoPlatformError

トークンが正しく設定されてない場合に出るエラー

exception emo_platform.exceptions.UnavailableError(message, status=None, request=None)

Bases: emo_platform.exceptions.EmoPlatformError

現在のプランでは使用できない場合に出るエラー

exception emo_platform.exceptions.WebhookCallbackError(message, status=None, request=None)

Bases: emo_platform.exceptions.EmoPlatformError

webhookイベントに紐づいたcallback関数の呼び出しに失敗した時に出るエラー

exception emo_platform.exceptions.WebhookRequestError(message, status=None, request=None)

Bases: emo_platform.exceptions.EmoPlatformError

受信したwebhookリクエスト自体に関するエラー

emo_platform.models module

class emo_platform.models.Tokens(access_token: str = '', refresh_token: str = '')

Bases: object

API利用に必要なトークンの情報。

Note

トークンは ダッシュボード にログイン後に確認できます。

access_token: str = ''

アクセストークン

refresh_token: str = ''

リフレッシュトークン

class emo_platform.models.Color(red: int = 0, green: int = 0, blue: int = 0)

Bases: object

BOCCO emoのほっぺの色。

Note

範囲外の値を入れた際は、最小値と最大値のうち近い方の値になります。

red: int = 0

赤の輝度(0~255)

green: int = 0

緑の輝度(0~255)

blue: int = 0

青の輝度(0~255)

class emo_platform.models.Head(angle: float = 0, vertical_angle: float = 0)

Bases: object

BOCCO emoの首の角度。

Note

範囲外の値を入れた際は、最小値と最大値のうち近い方の値になります。

angle: float = 0

左右方向の首の角度(-45~45)

vertical_angle: float = 0

上下方向の首の角度(-20~20)

class emo_platform.models.WebHook(url: str, description: str = '')

Bases: object

BOCCO emoに設定するWebhook。

url: str

Webhookの通知先のurl

description: str = ''

Webhookの設定に関する説明書き

class emo_platform.models.AccountInfo(name: str, name_furigana: str, organization_name: str, organization_unit_name: str, phone_number: str)

Bases: object

BOCCOアカウント情報。

name: str

アカウント名(1~20文字)

name_furigana: str

アカウント名のふりがな(平仮名表記)(1~20文字)

organization_name: str

組織名(1~100文字)

organization_unit_name: str

部署名(1~100文字)

phone_number: str

電話番号(10~11文字のハイフンなし)

class emo_platform.models.BroadcastMsg(title: str, text: str, executed_at: int = 0, immediate: bool = False)

Bases: object

配信メッセージの情報。

title: str

配信メッセージのタイトル

text: str

配信するメッセージ

executed_at: int = 0

配信予定時刻(UNIX Timestamp形式)

immediate: bool = False

即時配信にするかどうか

Note

immediateをTrueにした場合、executed_atに書いた時刻は反映されず、即時配信となります。

emo_platform.response module

class emo_platform.response.PrintModel

Bases: pydantic.main.BaseModel

class emo_platform.response.EmoAccountInfo(*, name: str, email: str, profile_image: str, uuid: str, plan: str)

Bases: emo_platform.response.PrintModel

BOCCOアカウント情報(Personal版)。

name: str

アカウント名

email: str

アカウントのメールアドレス

profile_image: str

アカウントのプロフィール画像のURL

uuid: str

アカウントのid

plan: str

アカウントのプラン

class emo_platform.response.EmoBizAccountInfo(*, account_id: int, name: str, name_furigana: str, email: str, organization_name: str, organization_unit_name: str, phone_number: str, plan: str)

Bases: emo_platform.response.PrintModel

BOCCOアカウント情報(Business版)。

account_id: int

アカウントのid

name: str

アカウント名

name_furigana: str

アカウント名のふりがな

email: str

アカウント名のメールアドレス

organization_name: str

組織名

organization_unit_name: str

部署名

phone_number: str

電話番号

plan: str

アカウントのプラン

class emo_platform.response.EmoTokens(*, access_token: str, refresh_token: str)

Bases: emo_platform.response.PrintModel

API利用に必要なトークンの情報。

access_token: str

アクセストークン

refresh_token: str

リフレッシュトークン

class emo_platform.response.Listing(*, offset: Union[int, float], limit: Union[int, float], total: Union[int, float])

Bases: emo_platform.response.PrintModel

offset: Union[int, float]
limit: Union[int, float]
total: Union[int, float]
class emo_platform.response.EmoRoomMember(*, uuid: str, user_type: str, nickname: str, profile_image: str)

Bases: emo_platform.response.PrintModel

部屋に参加しているメンバーの情報

uuid: str

メンバーのid

user_type: str

メンバーの種別

nickname: str

メンバーのニックネーム

profile_image: str

メンバーのプロフィール画像のURL

class emo_platform.response.RoomInfo(*, uuid: str, name: str, room_type: str, room_members: List[emo_platform.response.EmoRoomMember])

Bases: emo_platform.response.PrintModel

部屋の情報

uuid: str

部屋のid

name: str

部屋の名前

room_type: str

部屋の種類

room_members: List[emo_platform.response.EmoRoomMember]

部屋に参加しているメンバーの一覧

class emo_platform.response.EmoRoomInfo(*, listing: emo_platform.response.Listing, rooms: List[emo_platform.response.RoomInfo])

Bases: emo_platform.response.PrintModel

ユーザーが参加している部屋の一覧情報

listing: emo_platform.response.Listing
rooms: List[emo_platform.response.RoomInfo]

ユーザーが参加している部屋の一覧

class emo_platform.response.EmoMessage(*, ja: str)

Bases: emo_platform.response.PrintModel

部屋に投稿されたテキストメッセージの内容

ja: str
class emo_platform.response.EmoMessageInfo(*, sequence: int, unique_id: str, user: emo_platform.response.EmoRoomMember, message: emo_platform.response.EmoMessage, media: str, audio_url: str, image_url: str, lang: str)

Bases: emo_platform.response.PrintModel

部屋に投稿されたメッセージの情報

sequence: int

メッセージの順序関係を示すシーケンス値

数字の意味は、こちらのページ をご覧ください。

unique_id: str

メッセージのid

user: emo_platform.response.EmoRoomMember

メッセージを投稿したメンバーの情報

message: emo_platform.response.EmoMessage

テキストメッセージの内容

media: str

メッセージのタイプ

Note

text

テキストメッセージ

audio

音声メッセージ

image

画像メッセージ

stamp

スタンプメッセージ

audio_url: str

送信された音声ファイルのURL

image_url: str

送信された画像ファイルのURL

lang: str

メッセージの言語

class emo_platform.response.EmoMsgsInfo(*, messages: List[emo_platform.response.EmoMessageInfo])

Bases: emo_platform.response.PrintModel

部屋に投稿されたメッセージの一覧情報

messages: List[emo_platform.response.EmoMessageInfo]

部屋に投稿されたメッセージの一覧

class emo_platform.response.EmoStamp(*, uuid: str, name: str, summary: str, image: str)

Bases: emo_platform.response.PrintModel

スタンプの情報

uuid: str

スタンプのid

name: str

スタンプの名前

summary: str

スタンプの内容説明

image: str

スタンプ画像のURL

class emo_platform.response.EmoStampsInfo(*, listing: emo_platform.response.Listing, stamps: List[emo_platform.response.EmoStamp])

Bases: emo_platform.response.PrintModel

利用可能なスタンプの一覧情報

listing: emo_platform.response.Listing
stamps: List[emo_platform.response.EmoStamp]

スタンプの一覧

class emo_platform.response.EmoMotion(*, uuid: str, name: str, preview: str)

Bases: emo_platform.response.PrintModel

モーションの情報

uuid: str

モーションのid

name: str

モーションの名前

preview: str

モーションの音声ファイルのURL

class emo_platform.response.EmoMotionsInfo(*, listing: emo_platform.response.Listing, motions: List[emo_platform.response.EmoMotion])

Bases: emo_platform.response.PrintModel

利用可能なモーションの一覧情報

listing: emo_platform.response.Listing
motions: List[emo_platform.response.EmoMotion]

モーションの一覧

class emo_platform.response.EmoWebhookInfo(*, description: str, events: List[str], status: str, secret: str, url: str)

Bases: emo_platform.response.PrintModel

現在設定されているWebhookの情報

description: str

Webhookの設定に関する説明書き

events: List[str]

Webhookを受け取る対象のイベントの一覧

status: str

Webhookの設定状態

secret: str

WebhookリクエストのHTTP Headerに含まれるX-Platform-API-Secretと同一の文字列。

この文字列とX-Platform-API-Secretの値が同一か確かめることで、第三者からの予期せぬリクエストを防ぐことができます。

url: str

Webhookの送信先のURL

class emo_platform.response.EmoSensor(*, uuid: str, sensor_type: str, nickname: str, signal_strength: int, battery: int)

Bases: emo_platform.response.PrintModel

BOCCO emoとペアリングされているセンサ情報

uuid: str

センサのid

sensor_type: str

センサの種類

nickname: str

センサのニックネーム

signal_strength: int

センサの信号の強さ

battery: int

センサの残りバッテリー

class emo_platform.response.EmoSensorsInfo(*, sensors: List[emo_platform.response.EmoSensor])

Bases: emo_platform.response.PrintModel

BOCCO emoとペアリングされているセンサ情報の一覧

sensors: List[emo_platform.response.EmoSensor]

ベアリングされているセンサの一覧

class emo_platform.response.EmoRoomSensorEvent(*, temperature: Union[int, float], humidity: Union[int, float], illuminance: Union[int, float])

Bases: emo_platform.response.PrintModel

部屋センサの送信値

temperature: Union[int, float]

温度

humidity: Union[int, float]

湿度

illuminance: Union[int, float]

照度

class emo_platform.response.EmoRoomSensorInfo(*, sensor_type: str, uuid: str, nickname: str, events: List[emo_platform.response.EmoRoomSensorEvent])

Bases: emo_platform.response.PrintModel

部屋センサの送信値の一覧

sensor_type: str

センサの種類

uuid: str

センサのid

nickname: str

センサのニックネーム

events: List[emo_platform.response.EmoRoomSensorEvent]

センサの送信値の一覧

class emo_platform.response.EmoSettingsInfo(*, nickname: str, wakeword: str, volume: int, voice_pitch: int, voice_speed: int, lang: str, serial_number: str, timezone: str, zip_code: str)

Bases: emo_platform.response.PrintModel

現在のBOCCO emoの設定値

nickname: str

ニックネーム

wakeword: str

ウェイクアップワード

volume: int

音量

voice_pitch: int

声の高さ

voice_speed: int

話すスピード

lang: str

言語設定

serial_number: str

シリアルナンバー

timezone: str

タイムゾーン

zip_code: str

郵便番号

class emo_platform.response.EmoBroadcastMessage(*, id: int, channel_uuid: str, title: str, text: str, executed_at: int, finished: bool, success: bool, failed: bool)

Bases: emo_platform.response.PrintModel

配信メッセージの情報

id: int

配信メッセージのid

channel_uuid: str

チャンネルのid

title: str

配信メッセージのタイトル

text: str

配信メッセージの内容

executed_at: int

配信時間

finished: bool

配信済みか

success: bool

配信に成功したか

failed: bool

配信に失敗したか

class emo_platform.response.EmoBroadcastInfoList(*, listing: emo_platform.response.Listing, messages: List[emo_platform.response.EmoBroadcastMessage])

Bases: emo_platform.response.PrintModel

配信メッセージの一覧情報

listing: emo_platform.response.Listing
messages: List[emo_platform.response.EmoBroadcastMessage]

配信メッセージの一覧

class emo_platform.response.EmoBroadcastMessageDetail(*, room_uuid: str, room_name: str, success: bool, status_code: int, description: str, executed_at: int)

Bases: emo_platform.response.PrintModel

配信メッセージの詳細

room_uuid: str

配信された部屋のid

room_name: str

配信された部屋の名前

success: bool

配信メッセージの詳細

status_code: int

配信リクエストのステータスコード

description: str

配信リクエストの結果

executed_at: int

配信時間

class emo_platform.response.EmoBroadcastInfo(*, message: emo_platform.response.EmoBroadcastMessage, details: List[emo_platform.response.EmoBroadcastMessageDetail])

Bases: emo_platform.response.PrintModel

配信メッセージの詳細情報

message: emo_platform.response.EmoBroadcastMessage

配信メッセージの情報

details: List[emo_platform.response.EmoBroadcastMessageDetail]

配信メッセージの詳細

class emo_platform.response.EmoKind(*, kind: str)

Bases: emo_platform.response.PrintModel

様々な種別に関する情報

kind: str
class emo_platform.response.EmoWebhookTriggerWord(*, trigger_word: emo_platform.response.EmoKind)

Bases: emo_platform.response.PrintModel

Webhookで受信したトリガーワードイベントに関する情報

trigger_word: emo_platform.response.EmoKind

トリガーワードの種別の情報

default_bocco

「ねえボッコ」の呼びかけに反応した場合

default_emo

「エモちゃん」の呼びかけに反応した場合

user_nickname

ニックネームでの呼びかけに反応した場合

class emo_platform.response.EmoPerformedBy(*, performed_by: str)

Bases: emo_platform.response.PrintModel

録音が実行されたきっかけに関する情報

performed_by: str

録音が実行されたきっかけのアクションを示す値

record_button

本体の録音ボタンが押された場合の値

vui_command

音声コマンドでの録音命令が実施された場合の値

class emo_platform.response.EmoWebhookRecording(*, recording: emo_platform.response.EmoPerformedBy)

Bases: emo_platform.response.PrintModel

Webhookで受信した録音イベントに関する情報

recording: emo_platform.response.EmoPerformedBy

録音が実行されたきっかけに関する情報

class emo_platform.response.EmoMinutes(*, minutes: str)

Bases: emo_platform.response.PrintModel

Webhookで受信した音声イベントコマンドのタイマーでセットした時間(分)に関する情報

minutes: str
class emo_platform.response.EmoTime(*, time: str)

Bases: emo_platform.response.PrintModel

Webhookで受信した音声イベントコマンドのアラームのセット時刻に関する情報

time: str
class emo_platform.response.EmoArea(*, area: str)

Bases: emo_platform.response.PrintModel

Webhookで受信した音声イベントコマンドの天気の場所に関する情報

area: str
class emo_platform.response.EmoVolume(*, volume: str)

Bases: emo_platform.response.PrintModel

Webhookで受信した音声イベントコマンドの音量の値に関する情報

volume: str
class emo_platform.response.EmoVuiCommand(*, kind: str, parameters: Union[emo_platform.response.EmoMinutes, emo_platform.response.EmoTime, emo_platform.response.EmoArea, emo_platform.response.EmoVolume])

Bases: emo_platform.response.PrintModel

音声コマンドに関する情報

kind: str

音声コマンドの種別を示す値

parameters: Union[emo_platform.response.EmoMinutes, emo_platform.response.EmoTime, emo_platform.response.EmoArea, emo_platform.response.EmoVolume]

「エモちゃん、10時にアラーム設定して」のように、パラメータ付きで実行されたVUIの詳細を示す値

「エモちゃん、しゃべって」のように、パラメータを持たない音声コマンドが実行された場合はparametersの値は付与されません。

class emo_platform.response.EmoWebhookVuiCommand(*, vui_command: Union[emo_platform.response.EmoVuiCommand, emo_platform.response.EmoKind])

Bases: emo_platform.response.PrintModel

Webhookで受信した音声コマンドイベントに関する情報

vui_command: Union[emo_platform.response.EmoVuiCommand, emo_platform.response.EmoKind]

音声コマンドとトリガワードの種類に関する情報

class emo_platform.response.EmoWebhookMotion(*, motion: emo_platform.response.EmoKind)

Bases: emo_platform.response.PrintModel

Webhookで受信したモーション実行完了イベントに関する情報

motion: emo_platform.response.EmoKind

実行されたモーションの種別を示す値

class emo_platform.response.EmoTalk(*, talk: str)

Bases: emo_platform.response.PrintModel

BOCCO emoが発話した内容に関する情報

talk: str

発話した内容を示すテキスト

class emo_platform.response.EmoWebhookEmoTalk(*, emo_talk: emo_platform.response.EmoTalk)

Bases: emo_platform.response.PrintModel

Webhookで受信した発話完了イベントに関する情報

emo_talk: emo_platform.response.EmoTalk

BOCCO emoが発話した内容に関する情報

class emo_platform.response.EmoWebhookAccel(*, accel: emo_platform.response.EmoKind)

Bases: emo_platform.response.PrintModel

Webhookで受信した内蔵加速度センサイベントに関する情報

accel: emo_platform.response.EmoKind

レーダセンサが検知したイベントを示す値

normal

直立静止している状態に移行した場合の値

upside_down

逆さまの状態に移行した場合の値

lying_down

横倒しの状態に移行した場合の値

shaken

揺さぶられた状態に移行した場合の値

beaten

つつかれた状態に移行した場合の値

dropped

落とされた状態に移行した場合の値

lift

持ち上げられた状態に移行した場合の値

class emo_platform.response.EmoWebhookIlluminance(*, illuminance: emo_platform.response.EmoKind)

Bases: emo_platform.response.PrintModel

Webhookで受信した内蔵照度センサイベントに関する情報

illuminance: emo_platform.response.EmoKind

照度センサが検知したイベントを示す値

brighter

明るくなった時の値

darker

暗くなった時の値

class emo_platform.response.EmoRadar(*, begin: bool, end: bool, near_begin: bool, near_end: bool)

Bases: emo_platform.response.PrintModel

レーダセンサが検知したイベントの情報

begin: bool

BOCCO emoの近くに人がいる時に、true が設定されます。

end: bool

BOCCO emoの近くから人が立ち去った時に、true が設定されます。

near_begin: bool

BOCCO emoのすぐ近くに人がいる時に、true が設定されます。

near_end: bool

BOCCO emoのすぐ近くから人が立ち去った時に、true が設定されます。

class emo_platform.response.EmoWebhookRadar(*, radar: emo_platform.response.EmoRadar)

Bases: emo_platform.response.PrintModel

Webhookで受信した内蔵レーダーセンサイベントに関する情報

radar: emo_platform.response.EmoRadar

レーダセンサが検知したイベントの情報

class emo_platform.response.EmoWebhookMessage(*, message: emo_platform.response.EmoMessageInfo)

Bases: emo_platform.response.PrintModel

Webhookで受信した新規メッセージ受信イベントに関する情報

message: emo_platform.response.EmoMessageInfo

BOCCO emoが受信したメッセージを示す値

class emo_platform.response.EmoWebhookSensorMessage(*, sequence: int, unique_id: str, user: emo_platform.response.EmoRoomMember, message_type: str, sensor_action: str, lang: str)

Bases: emo_platform.response.PrintModel

センサの通知内容

sequence: int

通知された時間を示す値

数字の意味は、こちらのページ をご覧ください。

unique_id: str

センサ通知のid

user: emo_platform.response.EmoRoomMember

センサのメンバー情報

message_type: str

メッセージの種類

sensor固定です。

sensor_action: str

センサ通知の種別

lang: str

言語設定

class emo_platform.response.EmoWebhookMovementSensor(*, movement_sensor: emo_platform.response.EmoWebhookSensorMessage)

Bases: emo_platform.response.PrintModel

Webhookで受信した振動センサ反応イベントに関する情報

movement_sensor: emo_platform.response.EmoWebhookSensorMessage

振動センサの通知内容

class emo_platform.response.EmoWebhookLockSensor(*, lock_sensor: emo_platform.response.EmoWebhookSensorMessage)

Bases: emo_platform.response.PrintModel

Webhookで受信した鍵センサ反応イベントに関する情報

lock_sensor: emo_platform.response.EmoWebhookSensorMessage

鍵センサの通知内容

class emo_platform.response.EmoWebhookHumanSensor(*, human_sensor: emo_platform.response.EmoWebhookSensorMessage)

Bases: emo_platform.response.PrintModel

Webhookで受信した人感センサ反応イベントに関する情報

human_sensor: emo_platform.response.EmoWebhookSensorMessage

人感センサの通知内容

class emo_platform.response.EmoWebhookRoomSensor(*, room_sensor: emo_platform.response.EmoWebhookSensorMessage)

Bases: emo_platform.response.PrintModel

Webhookで受信した部屋センサ反応イベントに関する情報

room_sensor: emo_platform.response.EmoWebhookSensorMessage

部屋センサの通知内容

class emo_platform.response.EmoWebhookBody(*, request_id: str, uuid: str, serial_number: str, nickname: str, timestamp: int, event: str, data: Union[emo_platform.response.EmoWebhookTriggerWord, emo_platform.response.EmoWebhookRecording, emo_platform.response.EmoWebhookVuiCommand, emo_platform.response.EmoWebhookMotion, emo_platform.response.EmoWebhookEmoTalk, emo_platform.response.EmoWebhookAccel, emo_platform.response.EmoWebhookIlluminance, emo_platform.response.EmoWebhookRadar, emo_platform.response.EmoWebhookMessage, emo_platform.response.EmoWebhookMovementSensor, emo_platform.response.EmoWebhookLockSensor, emo_platform.response.EmoWebhookHumanSensor, emo_platform.response.EmoWebhookRoomSensor, dict], receiver: str)

Bases: emo_platform.response.PrintModel

受信したWebhookの内容

request_id: str

リクエストの同一性を示す、一意の文字列

uuid: str

BOCCO emoを識別する一意なID

serial_number: str

BOCCO emoの製造番号

nickname: str

BOCCO emoに設定されているニックネーム

timestamp: int

イベントが発生した時刻を示すUNIX Timestamp

event: str

発生したイベントの種別を示す文字列

Note

eventの種類は、こちらのページ から確認できます。

data: Union[emo_platform.response.EmoWebhookTriggerWord, emo_platform.response.EmoWebhookRecording, emo_platform.response.EmoWebhookVuiCommand, emo_platform.response.EmoWebhookMotion, emo_platform.response.EmoWebhookEmoTalk, emo_platform.response.EmoWebhookAccel, emo_platform.response.EmoWebhookIlluminance, emo_platform.response.EmoWebhookRadar, emo_platform.response.EmoWebhookMessage, emo_platform.response.EmoWebhookMovementSensor, emo_platform.response.EmoWebhookLockSensor, emo_platform.response.EmoWebhookHumanSensor, emo_platform.response.EmoWebhookRoomSensor, dict]

発生したイベントの詳細を示すオブジェクト

イベントの種類に応じてデータ構造が変わります。

Attention

eventの種類がfunction_button.pressedの時、dataは空の辞書 {} となります。

receiver: str

Webhook受信者を示すid

Personal版の場合

get_account_info() から確認できるBOCCOアカウントのuuid

Business版の場合

法人アカウントでログインした時の ダッシュボード から確認できる法人向けAPIキーと同じ文字列

emo_platform.response.parse_webhook_body(body: dict) emo_platform.response.EmoWebhookBody

受信したwebhookリクエストのボディのJSONペイロードのパース

Parameters

body (dict) – 受信したwebhookリクエストのボディのJSONペイロード

Returns

emo_webhook_body – パースされたボディ

Return type

EmoWebhookBody

Module contents