RPC 機能¶
警告
この機能は 実験的機能 のため、正式版では仕様が変更される可能性があります
概要¶
Sora ではデータチャネルシグナリング利用時に JSON-RPC 2.0 を利用して Sora の一部 API をクライアントから呼び出すことができます。
仕様¶
JSON-RPC 2.0 の仕様に準拠しています
method
には API 利用時のx-sora-target
ヘッダーに指定する値を指定しますparams
には API 利用時の JSON を指定しますchannel_id
とconnection_id
は省略することができます
id
を付けないことでレスポンスを返さないNotification
として利用できますtimeout
はミリ秒単位で指定します
シーケンス図¶
sequenceDiagram participant C1 as Client1 participant C2 as Client2 participant S as Sora note over C1,S: C1, C2 共にWebRTC 確立済み C1 ->> S: JSON-RPC 2.0 Request<br>PutSignalingNotifyMetadataItem<br>push: true<br>over DataChannel note over S: シグナリング通知メタデータ拡張に項目を追加 S ->> C1: JSON-RPC 2.0 Success Reponse<br>over DataChannel note over S: シグナリング通知メタデータ拡張によるプッシュ通知が発生 S ->> C1: type: push<br>over DataChannel S ->> C2: type: push<br>over DataChannel
パーミッション¶
この機能を利用する場合は認証時の払い出しで API のパーミッションを付与する必要があります。
{
"allowed": True,
"rpc_permissions": [
"Sora_20201124.PutSignalingNotifyMetadata",
"Sora_20201124.PutSignalingNotifyMetadataItem",
]
}