開発者プラットフォーム


接続プラットフォーム

2つの強力なAPI ― デバイス管理と通信オーケストレーションのためのRESTfulサーバーAPIと、バッジを直接制御するための低レベルCBBPプロトコル。

OpenAPI 3.0JSON / RESTBluetooth + WiFiWebhookサポート
Connection Studio
Explorer
examples
send_command.http
response.json
list_devices.http
webhooks.http
src
docs
send_command.http
response.json
# Send a CBBP command via the server
POST /api/v1/devices/{uuid}/cbbp

{
  "command": "speak",
  "object": {
    "text": "Shift starts in 5 minutes",
    "volume": 85,
    "language": "en-US"
  }
}

# Response
{
  "result": 0,
  "detail": "ok"
}
main
HTTPUTF-8Ln 2, Col 1

REST API

標準HTTPS経由で、デバイスのライフサイクル全体(プロビジョニング、構成、ファームウェア、通信、分析)を管理します。

REST API を探索する →

CBBPプロトコル

Com Badge Basic Protocol — Bluetooth(アプリ)、WiFi(サーバープロキシ)、またはローカルディスパッチを介してデバイスを直接制御するためのJSONコマンドプロトコル。

CBBPを探索する →

ウェブフック

通信、ステータス変更、位置情報更新など、デバイスがリアルタイムで発生させるイベントを、HTTP POSTペイロードとしてエンドポイントに配信される形で購読できます。

Webhooksを探索する →

Early Access: The Connection API is currently available by special request to select partners. Contact us to apply for access.

Pro or Plus plan required: Badges must be on the Pro or Plus plan to be controlled via the API.

はじめる

認証

Connection APIはベアラートークン認証を使用します。すべてのリクエストには、Authorizationヘッダーに有効なJWTアクセストークンを含める必要があります。

トークンを取得する

認証エンドポイントに認証情報をPOSTしてください。有効期限の短いアクセストークンと、有効期限の長いリフレッシュトークンが発行されます。

トークンを使用する

すべてのリクエストにトークンを含める:

Authorization: Bearer <access_token>
POST/api/v1/auth/login
リクエスト
{
  "email": "admin@yourorg.com",
  "password": "••••••••"
}
応答200
{
  "access_token": "eyJhbG...",
  "refresh_token": "dGhpcw...",
  "expires_in": 3600,
  "token_type": "Bearer"
}

ベースURLとバージョン管理

すべてのAPIエンドポイントは/api/v1/の下にバージョン管理されています。ベースURLはデプロイメントによって異なります。

クラウド環境での展開の場合は、組織に割り当てられたリージョンエンドポイントを使用してください。オンプレミスサーバー環境での展開の場合は、サーバーのホスト名を使用してください。

環境ベースURL
クラウド(米国)https://beta.connection.app/api/v1
オンプレミスhttps://<your-server>/api/v1
コンテンツタイプ
すべてのリクエストおよびレスポンスの本文は application/json を使用します。本文を含むリクエストには Content-Type: application/json を含めてください。

エラーとステータスコード

このAPIは標準的なHTTPステータスコードを使用します。エラー応答には、機械可読コードと人間可読メッセージが含まれます。

状態意味
200成功
201作成済み
400不正なリクエスト - 無効なパラメータ
401認証エラー - トークンが不足しているか期限切れです
403禁止されています - 権限が不足しています
404見つかりません
500内部サーバーエラー
エラー応答
{
  "error": {
    "code": "device_not_found",
    "message": "No device with that UUID exists in your organization",
    "status": 404
  }
}
REST API

REST APIの概要

Connection Server REST APIは、デバイス群、通信インフラ、および分析機能への完全なプログラムアクセスを提供します。JSON形式のリクエスト/レスポンスボディを用いたRESTfulな規約に準拠しています。

API認証
ユーザー
デバイス
チャンネル
コミュニケーション
オーディオブリッジ
会話
コンテンツ
場所
プッシュ通知
ストレージ
大量処理
日時

認証

トークンベース認証。ログインするとトークンが返されます。このトークンは認証情報として送信する必要があります: トークン<token>以降のすべてのリクエストに対して。

POST/api/v1/loginユーザーを認証し、認証トークンを受け取ります。
POST/api/v1/login-deviceUUIDとMACアドレスでデバイスを認証する
POST/api/v1/logout現在のセッショントークンを無効化する

ユーザー

ユーザーアカウントを作成および管理します。GET /users/userエンドポイントは、現在認証されているユーザーを返します。

GET/api/v1/users/user現在ログインしているユーザープロファイルを取得します。
POST/api/v1/users/user新しいユーザーアカウントを作成する
PATCH/api/v1/users/user/{uuid}ユーザープロフィールを更新する(例:プロフィール画像)

デバイス

デバイスの一覧表示と検査、ユーザーとデバイスの関連付けの管理、デバイスごとの設定とステータスの読み書き、ファームウェアとストレージイメージの処理、ログとクラッシュレポートの受信を行います。

GET/api/v1/devices/deviceすべてのデバイスを一覧表示します
GET/api/v1/devices/device/{uuid}ファームウェアや設定を含む詳細なデバイス情報を取得します。
PUT/api/v1/devices/association/{uuid}ユーザーとデバイス間の関連付けを更新する
DELETE/api/v1/devices/association/{uuid}ユーザーとデバイスの関連付けおよび保存された設定を削除します。
GET/api/v1/devices/device/{device_uuid}/settingsデバイスに保存されている設定の一覧を表示します。
POST/api/v1/devices/device/{device_uuid}/settingsデバイス固有の設定を保存する
GET/api/v1/devices/device/{device_uuid}/statusデバイスの状態(接続状況、バッテリー残量、センサー、オーディオの状態)を取得します。
POST/api/v1/devices/device/{device_uuid}/statusデバイスからデバイスの状態を投稿してください。
GET/api/v1/devices/device/{device_uuid}/contextデバイスに保存されているコンテキスト値を一覧表示します。
POST/api/v1/devices/device/{device_uuid}/ingest-contextデバイスからGPSとWiFiのコンテキスト情報を受信する
GET/api/v1/devices/firmware指定されたハードウェア/ソフトウェアバージョンと互換性のあるファームウェアリリースの一覧を表示します。
GET/api/v1/devices/firmware/{uuid}/{image_type}/fetchファームウェアイメージをチャンク単位で取得する
GET/api/v1/devices/language対応しているデバイスの言語と音声の一覧
GET/api/v1/devices/storage_image地域に合わせたカスタマイズされたデバイスストレージイメージをダウンロードする
POST/api/v1/devices/logデバイスからログファイルを受信する
POST/api/v1/devices/crashデバイスからコアダンプを受信する
PATCH/api/v1/devices/crash/{uuid}事故記録を更新する

CBBPプロキシ

サーバー経由でデバイスにCBBPコマンドを送信します。サーバーはデバイスのWi-Fi接続を介してコマンドを中継し、デバイスからの応答を返します。送信するmake応答には、デバイスが即座に実行するCBBPMessageも含まれています。

POST/api/v1/devices/device/{device_uuid}/cbbpサーバー経由でデバイスにCBBPコマンドを送信する
GET/api/v1/devices/device/{device_uuid}/cbbp/{uuid}以前に送信したCBBPコマンドのステータスと応答を取得します。

リクエストボディはCBBPコマンドエンベロープです。保存されたCBBPCommandオブジェクトは、配信ステータス(UNSET → SENT → RECEIVED、またはTIMED_OUT)を追跡します。

デバイスがコマンドを受信して応答したかどうかを確認するために、GET /cbbp/ をポーリングします。
リクエスト — 送信メッセージ
{
  "outgoingMessage": {
    "command": "WiFiScan"
  }
}
応答 — CBBPコマンドステータス
{
  "uuid": "a3f2...",
  "status": "SENT",
  "device": "d7f3a1b2-...",
  "dateSent": "2025-09-15T14:22:01Z",
  "outgoingMessage": { /* echoed */ },
  "incomingMessage": null
}

チャンネル

チャネルは、通信の中核となる基本要素です。チャネルの種類には、ChannelPeople、ChannelGroup、ChannelContact、ChannelContactNumber、ChannelExternalNumber、ChannelService、ChannelRecorderなどがあります。

GET/api/v1/channels/channelチャンネル一覧(オプションでオブジェクトタイプによるフィルタリングも可能)
POST/api/v1/channels/channelチャネル(ChannelGroup、ChannelContact、またはChannelExternalNumber)を作成します。
PATCH/api/v1/channels/channel/{uuid}ChannelGroup または ChannelContact を更新する
DELETE/api/v1/channels/channel/{uuid}チャンネルを削除する
DELETE/api/v1/channels/{uuid}ChannelGroup を削除します
DELETE/api/v1/channels/by-type/{channelType}指定されたタイプのすべてのチャンネルを削除します(現在はChannelContact)。
GET/api/v1/channels/association現在のユーザーのチャネル関連付けを一覧表示します。
POST/api/v1/channels/associationチャンネルとの関連付けをリクエストする
PATCH/api/v1/channels/association/{uuid}関連設定を承認、拒否、または更新する
DELETE/api/v1/channels/association/{uuid}チャネルとの関連付けを解除する
GET/api/v1/channels/history現在のユーザーのページ分割されたチャネルアクセス履歴を取得します
POST/api/v1/channels/historyチャンネル履歴エントリを作成する
GET/api/v1/channels/searchクエリ文字列とオプションのタイプフィルターを使用してチャネルを検索します。

コミュニケーション

発信通話、VCP、録音、コンテンツストリーミングなど、アクティブな通信セッションを開始および管理します。発信応答には、デバイスが即座に処理を実行するCBBPMessageが含まれます。

POST/api/v1/communicate/outgoing-makeChannelPeople、ChannelGroup、ChannelContact、またはChannelContactNumberへの発信チャネルを開始します。
POST/api/v1/communicate/incoming-acceptance受信したチャンネル参加リクエストを承認または拒否する
POST/api/v1/communicate/closeデバイス上の現在アクティブな通信チャネルを閉じます
POST/api/v1/communicate/vcp-activateサーバーとデバイスで音声通信プロトコル(VCP)を開始する
POST/api/v1/communicate/vcp-deactivateVCPを無効化し、以前のチャンネルに戻ります。
POST/api/v1/communicate/recording-activateサーバーとデバイスで録画モードを有効にする
POST/api/v1/communicate/content-start音声コンテンツ用のストリーミングチャンネルを開く
POST/api/v1/communicate/request-vocalization指定されたテキストのTTS音声を生成し、必要に応じて翻訳します。

オーディオブリッジ

録音されたブリッジ会議の会話内容(完全な文字起こし、参加者リスト、AIによる要約を含む)にアクセスできます。複数の要約テンプレート(会議メモ、授業メモ、医療関連など)に対応し、要約音声の音声合成も可能です。

GET/api/v1/bridge/conversationsブリッジでの会話をすべて一覧表示します
GET/api/v1/bridge/conversations/{uuid}会話の記録、参加者、要約を含む詳細な会話を入手できます。
POST/api/v1/bridge/conversations/{conversation_uuid}/summary会話のAI要約を生成する
POST/api/v1/bridge/conversations/{conversation_uuid}/summary/{summary_uuid}/audio会話の要約用の音声を生成する

会話

ChatGPT、Gemini、またはネイティブエンジンを使用したAI搭載の会話セッション。複数のペルソナ(医師、家庭教師、整備士など)とページ分割されたメッセージ履歴をサポートします。

GET/api/v1/conversations/conversationAIジェネレーターのセッション一覧(ペルソナとツールでフィルタリング可能)
POST/api/v1/conversations/conversation新しいAI会話セッションを作成する
GET/api/v1/conversations/conversation/{uuid}会話セッションを取得し、必要に応じて要約/不在状況の更新情報を取得します。
DELETE/api/v1/conversations/conversation/{uuid}会話セッションを削除する
GET/api/v1/conversations/conversation/{uuid}/messages会話内のメッセージを一覧表示します
POST/api/v1/conversations/conversation/{uuid}/messagesユーザーメッセージを追加して、AIからの返信を受け取りましょう。

コンテンツ

デバイス上でストリーミングオーディオコンテンツを閲覧・再生できます。コンテンツはカテゴリツリーで整理されており、都市、地域、国で人気コンテンツを絞り込むことができます。

GET/api/v1/content/categoriesコンテンツカテゴリのツリーを取得する
GET/api/v1/content/contentカテゴリ内の利用可能なコンテンツを一覧表示する
GET/api/v1/content/popular特定の都市、地域、または国で人気のコンテンツを一覧表示する

場所

地理座標を構造化された都市、地域、国オブジェクトに解決します。デバイスがコンテキストを取り込む際に使用されます。

POST/api/v1/location/determine緯度/経度から都市、地域、国を特定する

プッシュ通知

FCMプッシュ通知を受信するには、モバイルアプリを登録してください。iOS、Android、およびWebに対応しています。

POST/api/v1/push-notifications/pushFCMプッシュ通知用のモバイルアプリを登録する(iOS、Android、Web)

ストレージ

モデルオブジェクトに保存されているファイルをダウンロードし、画像の背景除去を実行します(結果はbase64エンコードされます)。

GET/api/v1/storage/retrieve/{path}保存されているファイルをパスを指定してダウンロードする
POST/api/v1/storage/remove-background画像から背景を削除します(base64形式で返されます)

大量処理

複数のAPI操作を単一のHTTPリクエストで実行します。すべての操作を1つのアトミックトランザクションでラップするには、single_transaction=trueを渡します。いずれかの操作でエラーが発生すると、バッチ全体がロールバックされます。

POST/api/v1/bulk複数のAPI操作を単一のリクエストで実行します(オプションで単一のアトミックトランザクションとして実行することも可能です)。

日時

現在のサーバーの日時(GMT+0)を返します。認証は不要です。デバイスが内部時計を同期するために使用します。

GET/api/v1/current-datetimeGMT+0での現在の日時を返します。
CBBPプロトコル

通信バッジ基本プロトコル

CBBPは、コネクションバッジと直接やり取りするための軽量なJSONコマンドプロトコルです。これにより、デバイス上のあらゆるハードウェアおよびソフトウェア機能を完全に制御できます。

メッセージ形式

CBBPのすべてのやり取りは、デバイスに送信されるコマンドメッセージと、デバイスから返される結果メッセージで構成されます。

リクエストとレスポンスの両方におけるオブジェクトフィールドには、コマンド固有のデータが含まれており、必要ない場合は省略できます。

登録済みのパートナーは、プロトコルの全文書を入手できます。 Connectionの担当者にご連絡いただくか、 developer@connectionbadge.com 完全なCBBPコマンドリファレンス(完全なリクエスト/レスポンススキーマ、エラーコード、統合ガイドを含む)へのアクセスを要求する。
コマンドメッセージ
{
  "command": "command_name",
  "object": {
    // optional command parameters
  }
}
結果メッセージ
{
  "result": 0,          // 0 = success, -1 = error
  "detail": "ok",      // human-readable status
  "object": {          // optional response data
    // command-specific fields
  }
}

輸送

CBBPメッセージは、統合アーキテクチャに応じて、3つの異なるトランスポートを介してバッジに配信できます。

Bluetooth(アプリ)

モバイルアプリからBLE経由でCBBPコマンドを直接送信します。デバイスがペアリング済みで、通信範囲内にある必要があります。

モバイルSDK

サーバー経由のWiFiまたはBluetooth

REST API を介して CBBP をプロキシします — POST /devices//cbbp。サーバーは、バッジの接続方法に応じて、WiFi または Bluetooth 経由でデバイスに自動的にルーティングします。バックエンド統合で最もよく使用されます。

REST API

内部配車

デバイス内またはプロセス間CBBPディスパッチ。バッジファームウェアが内部サブシステム間でコマンドをルーティングするために使用します。

ファームウェアのみ

パワーコマンド

デバイスの電源状態(スリープ、ウェイクアップ、再起動、工場出荷時設定へのリセット)を制御します。

PowerRebootすぐにデバイスを再起動してください。
PowerDeepsleepディープスリープ(低電力)モードに入ります。
FactoryResetすべての設定を消去し、工場出荷時の設定にリセットします。

WiFiコマンド

無線ネットワークの設定、アクセスポイントのスキャン、接続状態の確認、保存済み認証情報の管理を行います。

WiFiScan利用可能なWi-Fiアクセスポイントをスキャンします。
WiFiAPTest特定のWi-Fiアクセスポイントへの接続をテストします。
WiFiAPJoin提供された認証情報を使用して、Wi-Fiアクセスポイントに接続してください。

Bluetoothコマンド

BLEの広告、ペアリング、およびバッジ間の通信を制御します。

BTScanBT従来のBluetoothデバイスをスキャンします。
BTScanBLEBLEデバイスをスキャンします。
DeviceBLEServiceAvailableBLEサービスが利用可能であることを示します。
DeviceBLEServiceUnavailableBLEサービスを利用不可としてマークします。
DeviceBLEActiveBLE無線をアクティブ状態に設定します。
DeviceBLEIdleBLE無線をアイドル状態に設定します。
DeviceBLEAdvChannelAddBLEアドバタイジングペイロードにチャネルを追加します。
DeviceBTScanBluetoothデバイスのスキャンを開始します。
DeviceBTA2DStartBluetooth A2DPオーディオストリーミングを開始します。
DeviceBTA2DEndBluetooth A2DPオーディオストリーミングを終了します。
DeviceBTNativeAssistStartBluetoothネイティブ音声アシスタントを起動します。
DeviceBTNativeAssistEndBluetoothネイティブ音声アシスタントを終了します。

設定コマンド

デバイス設定(表示名、タイムゾーン、言語、機能フラグなど)の読み書きを行います。

SettingsListGetすべての設定をキーと値のリストとして取得します。
SettingsListSet複数の設定値を一度に書き込みます。
SettingsGetキーを指定して、単一の設定値を取得します。
SettingsSet単一の設定値を設定します。
SettingsSend現在の設定をサーバーに送信します。
SettingsClear具体的な設定値を明確にしてください。
SettingsErase保存されている設定をすべて消去します。

ファームウェアコマンド

OTAファームウェアアップデートをトリガーし、アップデート状況を確認し、デバイスの現在のファームウェアバージョンを照会します。

FirmwareCheckファームウェアのアップデートが利用可能かどうか確認してください。
FirmwareUpdateOTAファームウェアアップデートを開始します。
FirmwareValidateダウンロードしたファームウェアイメージの整合性を検証する。

デバイスコマンド

デバイスのライフサイクル、認証、構成、ログ記録、ステータス、およびハードウェア制御。

NoOp操作なし/キープアライブ。
Test基本的な接続テスト。
DeviceDateTimeデバイスの日付と時刻を取得または設定します。
DeviceAuthenticateサーバーを使用してデバイスの認証を行います。
DeviceConfigureデバイスに設定ペイロードを適用します。
DevicePostConnectionTasks接続後の初期化タスクを実行します。
DeviceStorageLoadデバイス上のストレージからデータを読み込む。
DeviceLoadCustomAudioデバイスにカスタムオーディオファイルをロードします。
DeviceCoredumpSendクラッシュ時のコアダンプをサーバーにアップロードしてください。
DeviceAttachデバイスをサーバーセッションに接続します。
DeviceDetachデバイスをサーバーセッションから切り離します。
DeviceLogSendデバイスのログをサーバーにアップロードしてください。
DeviceConnectionTestサーバーへの接続をテストします。
DeviceStatusSendデバイスの状態をサーバーに送信する。
DeviceStatusGet現在のデバイスの状態を取得します。
DeviceInteractionデバイス操作イベントをトリガーします。
DeviceSetAPIHostAPIサーバーのホストを設定します。
DeviceTestMicsマイクのセルフテストを実行してください。
HardwareI2CCommandハードウェア周辺機器に生のI2Cコマンドを送信します。

通信コマンド

通話の開始、メッセージの送信、アクティブな通信セッションの管理、および録音の制御を行います。

CommunicateChannelJoinコミュニケーションチャネルに参加してください。
CommunicateChannelLeaveコミュニケーションチャネルを離れる。
CommunicateChannelChange別のチャンネルに切り替えてください。
CommunicateChannelClose通信経路を遮断する。
CommunicateReceiveIncoming着信通信をデバイスに通知する。
CommunicateRequestOutgoing発信通信をリクエストする。
CommunicateVCPActivate音声通信プロトコルセッションをアクティブ化します。
CommunicateVCPDeactivateVCPセッションを無効化します。
CommunicateRecordingActivate活発なコミュニケーションの記録を開始してください。
CommunicateIncomingAccept着信に応答する。
CommunicateIncomingReject着信を拒否する。
CommunicateHFPCallStartBluetooth HFP電話通話を開始します。
CommunicateHFPCallEndBluetooth HFP電話通話を終了します。
CommunicateContentStartデバイスへの音声コンテンツのストリーミングを開始します。
CommunicateContentStop音声コンテンツのストリーミングを停止してください。
SocketReceiveStatusWebSocketのステータス更新を受信します。

音声コマンド

スピーカーの音量、マイクのゲイン、オーディオプロファイル、テキスト読み上げ再生を制御します。

AudioPlayStorageデバイスに保存されている音声ファイルを再生します。
AudioPlayContentストリーミング音声コンテンツを再生します。
AudioSetVolumeスピーカーの出力音量を設定してください。

LEDコマンド

バッジ表示灯のLEDの色、明るさ、アニメーションパターンを設定します。

DeviceIlluminationSetLEDの色と点灯パターンを設定します。

内部コマンド

コンテキスト配信、チャネル履歴、音声生成、および音声デコードに使用される内部ディスパッチコマンド。

InternalSendContextコンテキストデータを内部コンテキストハンドラに送信します。
InternalSendChannelHistoryチャネル履歴を内部ハンドラーに送信します。
InternalRequestVocalization社内でテキスト読み上げ音声をリクエストする。
InternalHandleVocalizationRTP受信した音声RTPストリームを処理します。
InternalDecodeAudio受信した音声ストリームをデコードする。

モバイルコマンド

バッジとペアリングされたモバイルアプリを連携させるためのコマンド(プッシュ通知、アプリの状態同期、ディープリンクなど)。

MobileServiceStatusモバイルサービスのステータスをデバイスに報告します。(モバイル → デバイス)
MobileSocketOpenモバイルアプリにWebSocket接続を開くように指示します。(デバイス → モバイル)
MobileSocketCloseモバイルアプリにWebSocket接続を閉じるよう指示します。(デバイス → モバイル)
MobileSocketStatusWebSocketの状態をモバイルアプリに報告します。(デバイス → モバイル)
MobileReceiveStatus受信状況をモバイルアプリに報告します。(デバイス → モバイル)
MobileSocketUpdateモバイルアプリにWebSocketデータ更新を送信します。(デバイス → モバイル)
MobilePTTStartPTT送信が開始されたことをモバイルアプリに通知します。(デバイス → モバイル)
MobilePTTStopPTT送信が終了したことをモバイルアプリに通知します。(デバイス → モバイル)
MobileContextSetモバイルアプリでコンテキストデータを設定します。(デバイス → モバイル)
MobileEchoモバイル接続をテストするためのエコーコマンド。(デバイス → モバイル)

建設準備はできましたか?

Connection開発者コミュニティに参加して、サンドボックスデバイス、SDK、専用サポートをご利用ください。