VideoChat - TakayukiHoshi1984/DeviceConnect-Spec GitHub Wiki

概要

スマートデバイスが持つビデオチャットを操作する機能を提供するプロファイル。

目次

API 概要
GET /gotapi/videoChat/address 接続先のアドレス一覧を取得する。
POST /gotapi/videoChat/call VideoChatの接続を行う。
DELETE /gotapi/videoChat/call 接続中の VideoChat の切断を行う。
GET /gotapi/videoChat/onCall 通話開始イベントを取得する。
PUT /gotapi/videoChat/onCall 通話開始イベントの受信を開始する。
DELETE /gotapi/videoChat/onCall 通話開始イベントの受信を停止する。
GET /gotapi/videoChat/onHangup VideoChatの切断イベントを取得する。
PUT /gotapi/videoChat/onHangup VideoChatの切断イベントの受信を開始する。
DELETE /gotapi/videoChat/onHangup VideoChatの切断イベントの受信を停止する。
GET /gotapi/videoChat/onIncoming 他デバイスからの着信イベントを取得する。
PUT /gotapi/videoChat/onIncoming 他デバイスからの着信イベントの通知を開始する。
DELETE /gotapi/videoChat/onIncoming 他デバイスからの着信イベントの通知を停止する。
GET /gotapi/videoChat/profile プロフィール情報を取得する。
PUT /gotapi/videoChat/profile プロフィールを更新する。

種別

one-shot

概要

接続先のアドレス一覧を取得する。

WebRTCサービスによって情報の内容が違ってくる。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。
addressId string No アドレスID。指定しない場合は、接続できるすべてのアドレスを返却する。
指定した場合は、接続先アドレスに対応する情報のみ取得できる。
config string No コンフィグ。必要に応じてAPIキーなどを格納する任意の文字列。

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。
アドレス一覧 addresses array(object) Yes
デバイス名 name string Yes 接続先のデバイス名。
アドレスID addressId string Yes 接続先のアドレスID。
状態 status string Yes デバイスの状態
  • idle: 待機状態
  • calling: 発信状態
  • talking: 通話中

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0,
  "addresses" : [ {
    "name" : "Sample 1",
    "addressId" : "xxxxxx",
    "status" : "idle"
  }, {
    "name" : "Sample 2",
    "addressId" : "xxxxx",
    "status" : "calling"
  }, {
    "name" : "Sample 3",
    "addressId" : "xxxxx",
    "status" : "talking"
  } ]
}

種別

one-shot

概要

VideoChatの接続を行う。

WebRTCサービスによって挙動が違ってくる。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID
addressId string Yes 接続先のアドレス。
video string No 映像リソースURI。
  • true: デバイス標準のカメラから取得できる映像を利用する。
  • false: 映像リソースを利用しない。
  • URI: 指定されたURIの映像リソースを利用する。

省略された場合は、trueと同じ扱い。
audio string No 音声リソースURI。
  • true: デバイス標準のマイクから取得できる映像を利用する。
  • false: 音声リソースを利用しない。
  • URL: 指定されたURIの音声リソースを利用する。

省略された場合は、trueと同じ扱い。
config string No コンフィグ。必要に応じてAPIキーなどを格納する任意の文字列。
必要に応じてAPIキーなどを格納する任意の文字列。
outputs string No 出力設定。
  • host: HOST表示
  • app: アプリケーション表示

ホストデバイスの画面上に表示する場合はhostを指定する。
省略された場合はhost指定として動作する。
アプリケーション等でURIを参照して表示する場合は、appを指定する。
audioSampleRate integer No サンプリング周波数。
  • 48000
  • 44100
  • 32000
  • 22050

サンプリング周波数を設定する。省略された場合は48000。
audioBitDepth string No 量子化ビット数。
  • PCM_8BIT
  • PCM_16BIT
  • PCM_FLOAT

量子化ビット数を設定する。省略された場合はPCM_FLOAT。
audioChannel string No チャンネル数。
  • Monaural
  • Stereo

チャンネル数を設定する。省略され場合は、Monaural。

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0
}

種別

one-shot

概要

接続中の VideoChat の切断を行う。

WebRTCサービスによって挙動が違ってくる。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。
addressId string Yes 接続先のアドレス。
config string No コンフィグ。必要に応じてAPIキーなどを格納する任意の文字列。

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0
}

種別

one-shot

概要

通話開始イベントを取得する。

プラグイン側でキャッシュしている最新のイベントメッセージを1つ取得する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。
config string No コンフィグ。必要に応じてAPIキーなどを格納する任意の文字列。

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。
発信元情報 oncall object Yes
デバイス名 name string Yes 発信元のデバイス名。
アドレスID addressId string Yes 発信元のアドレスID。
相手局リソース情報 remote object No 相手局リソース情報
映像関連情報 video object No 映像関連情報
映像リソースURI uri string No 映像のリソースURI。省略された場合は映像無し。
但し、videoとaudioの両方が省略されることは無い
MIMEタイプ mimeType string No 映像リソースのMIMEタイプ。
フレームレート frameRate float No 映像リソースのフレームレート。
width integer No 通知時点での幅(可変)
高さ height integer No 通知時点での高さ(可変)
音声関連情報 audio object No 音声関連情報
音声リソースURI uri string No 音声のリソースURI。省略された場合は音声無し。
但し、videoとaudioの両方が省略されることは無い。
MIMEタイプ mimeType string No 音声リソースのMIMEタイプ。
サンプルレート sampleRate integer No 音声リソースのサンプルレート。
チャンネル数 channels integer No 音声リソースのチャンネル数。
サンプルサイズ sampleSize integer No 音声リソースのサンプルサイズ。
ブロックサイズ blockSize integer No 音声リソースのブロックサイズ。
自局リソース情報 local object No 自局リソース情報
映像関連情報 video object No 映像関連情報
映像リソースURI uri string No 映像のリソースURI。省略された場合は映像無し。
但し、videoとaudioの両方が省略されることは無い
MIMEタイプ mimeType string No 映像リソースのMIMEタイプ。
フレームレート frameRate float No 映像リソースのフレームレート。
width integer No 通知時点での幅(可変)
高さ height integer No 通知時点での高さ(可変)
音声関連情報 audio object No 音声関連情報
音声リソースURI uri string No 音声のリソースURI。省略された場合は音声無し。
但し、videoとaudioの両方が省略されることは無い。
MIMEタイプ mimeType string No 音声リソースのMIMEタイプ。
サンプルレート sampleRate integer No 音声リソースのサンプルレート。
チャンネル数 channels integer No 音声リソースのチャンネル数。
サンプルサイズ sampleSize integer No 音声リソースのサンプルサイズ。
ブロックサイズ blockSize integer No 音声リソースのブロックサイズ。

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0,
  "oncall" : [ {
    "name" : "xxxx",
    "addressId" : "xxxx"
  } ]
}

種別

event

概要

通話開始イベントの受信を開始する。

スマートデバイスでサポートしていないパラメータがある場合には、 そのパラメータを省略する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。
config string No コンフィグ。必要に応じてAPIキーなどを格納する任意の文字列。
interval long No イベント受信間隔。単位:mSec

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0
}

イベント

論理名 物理名 データ型 必須 説明
サービスID serviceId string Yes イベントを送信したサービスのID
プロファイル名 profile string Yes プロファイル名。
インターフェース名 interface string Yes インターフェース名。
アトリビュート名 attribute string Yes アトリビュート名。
発信元情報 oncall object Yes
デバイス名 name string Yes 発信元のデバイス名。
アドレスID addressId string Yes 発信元のアドレスID。
相手局リソース情報 remote object No 相手局リソース情報
映像関連情報 video object No 映像関連情報
映像リソースURI uri string No 映像のリソースURI。省略された場合は映像無し。
但し、videoとaudioの両方が省略されることは無い
MIMEタイプ mimeType string No 映像リソースのMIMEタイプ。
フレームレート frameRate float No 映像リソースのフレームレート。
width integer No 通知時点での幅(可変)
高さ height integer No 通知時点での高さ(可変)
音声関連情報 audio object No 音声関連情報
音声リソースURI uri string No 音声のリソースURI。省略された場合は音声無し。
但し、videoとaudioの両方が省略されることは無い。
MIMEタイプ mimeType string No 音声リソースのMIMEタイプ。
サンプルレート sampleRate integer No 音声リソースのサンプルレート。
チャンネル数 channels integer No 音声リソースのチャンネル数。
サンプルサイズ sampleSize integer No 音声リソースのサンプルサイズ。
ブロックサイズ blockSize integer No 音声リソースのブロックサイズ。
自局リソース情報 local object No 自局リソース情報
映像関連情報 video object No 映像関連情報
映像リソースURI uri string No 映像のリソースURI。省略された場合は映像無し。
但し、videoとaudioの両方が省略されることは無い
MIMEタイプ mimeType string No 映像リソースのMIMEタイプ。
フレームレート frameRate float No 映像リソースのフレームレート。
width integer No 通知時点での幅(可変)
高さ height integer No 通知時点での高さ(可変)
音声関連情報 audio object No 音声関連情報
音声リソースURI uri string No 音声のリソースURI。省略された場合は音声無し。
但し、videoとaudioの両方が省略されることは無い。
MIMEタイプ mimeType string No 音声リソースのMIMEタイプ。
サンプルレート sampleRate integer No 音声リソースのサンプルレート。
チャンネル数 channels integer No 音声リソースのチャンネル数。
サンプルサイズ sampleSize integer No 音声リソースのサンプルサイズ。
ブロックサイズ blockSize integer No 音声リソースのブロックサイズ。

イベントサンプル

{
  "servieId" : "xxxxx",
  "profile" : "videochat",
  "attribute" : "oncall",
  "oncall" : [ {
    "name" : "xxxx",
    "addressId" : "xxxx"
  } ]
}

種別

event

概要

通話開始イベントの受信を停止する。

スマートデバイスでサポートしていないパラメータがある場合には、 そのパラメータを省略する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0
}

種別

one-shot

概要

VideoChatの切断イベントを取得する。

プラグイン側でキャッシュしている最新のイベントメッセージを1つ取得する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID
config string No コンフィグ。必要に応じてAPIキーなどを格納する任意の文字列。

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。
接続先情報 hangup object Yes 接続先のデバイスの情報を格納したオブジェクト。
アドレス addressId string Yes 接続先のアドレスID。

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0,
  "hangup" : {
    "addressId" : "xxxx"
  }
}

種別

event

概要

VideoChatの切断イベントの受信を開始する。

スマートデバイスでサポートしていないパラメータがある場合には、 そのパラメータを省略する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。
config string No コンフィグ。必要に応じてAPIキーなどを格納する任意の文字列。
interval long No イベント受信間隔。単位:mSec

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0
}

イベント

論理名 物理名 データ型 必須 説明
サービスID serviceId string Yes イベントを送信したサービスのID
プロファイル名 profile string Yes プロファイル名。
インターフェース名 interface string Yes インターフェース名。
アトリビュート名 attribute string Yes アトリビュート名。
接続先情報 hangup object Yes 接続先のデバイスの情報を格納したオブジェクト。
アドレス addressId string Yes 接続先のアドレスID。

イベントサンプル

{
  "servieId" : "xxxxx",
  "profile" : "videochat",
  "attribute" : "hangup",
  "hangup" : {
    "addressId" : "xxxx"
  }
}

種別

event

概要

VideoChatの切断イベントの受信を停止する。

スマートデバイスでサポートしていないパラメータがある場合には、 そのパラメータを省略する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0
}

種別

one-shot

概要

他デバイスからの着信イベントを取得する。

プラグイン側でキャッシュしている最新のイベントメッセージを1つ取得する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。
config string No コンフィグ。必要に応じてAPIキーなどを格納する任意の文字列。

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。
発信元情報 incoming object Yes 発信元デバイスの情報を格納したオブジェクト。
デバイス名 name string Yes 発信元のデバイス名。
アドレスID addressId string Yes 発信元のアドレスID。

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0,
  "incoming" : {
    "name" : "xxxx",
    "addressId" : "xxxx"
  }
}

種別

event

概要

他デバイスからの着信イベントの通知を開始する。

スマートデバイスでサポートしていないパラメータがある場合には、 そのパラメータを省略する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。
config string No イベント受信間隔。単位:mSec

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0
}

イベント

論理名 物理名 データ型 必須 説明
サービスID serviceId string Yes イベントを送信したサービスのID
プロファイル名 profile string Yes プロファイル名。
インターフェース名 interface string Yes インターフェース名。
アトリビュート名 attribute string Yes アトリビュート名。
発信元情報 incoming object Yes 発信元デバイスの情報を格納したオブジェクト。
デバイス名 name string Yes 発信元のデバイス名。
アドレスID addressId string Yes 発信元のアドレスID。

イベントサンプル

{
  "servieId" : "xxxxx",
  "profile" : "videochat",
  "attribute" : "incoming",
  "incoming" : {
    "name" : "xxxx",
    "addressId" : "xxxx"
  }
}

種別

event

概要

他デバイスからの着信イベントの通知を停止する。

スマートデバイスでサポートしていないパラメータがある場合には、 そのパラメータを省略する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0
}

種別

one-shot

概要

プロフィール情報を取得する。

WebRTCサービスによって情報の内容が違ってくる。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。
config string No コンフィグ。必要に応じてAPIキーなどを格納する任意の文字列。

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。
名前 name string Yes デバイス自身の名前。
アドレスID addressId string Yes デバイス自身のアドレスID。

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0,
  "name" : "WebRTC Service",
  "addressId" : "xxxxx"
}

種別

one-shot

概要

プロフィールを更新する。

WebRTCサービスによって情報の内容が違ってくる。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。
name string Yes デバイスに付ける新規の名前
config string No コンフィグ。必要に応じてAPIキーなどを格納する任意の文字列

レスポンス

論理名 物理名 データ型 必須 説明
処理結果 result integer Yes 0:正常応答
0以外:異常応答
システム名 product string Yes DeviceConnectシステムの名前。
システムバージョン version string Yes DeviceConnectシステムのバージョン名。
署名 hmac string No レスポンスに対する署名。
アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "product" : "Example System",
  "version" : "1.0",
  "result" : 0
}
⚠️ **GitHub.com Fallback** ⚠️