RPC 機能

警告

この機能は 実験的機能 のため、正式版では仕様が変更される可能性があります

概要

Sora ではデータチャネルシグナリング利用時に JSON-RPC 2.0 を利用して Sora の一部 API をクライアントから呼び出すことができます。

仕様

  • JSON-RPC 2.0 の仕様に準拠しています

  • method には API 利用時の x-sora-target ヘッダーに指定する値を指定します

  • params には API 利用時の JSON を指定します

    • channel_idconnection_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",
   ]
}
© Copyright 2025, Shiguredo Inc Created using Sphinx 8.2.3