シグナリング通知メタデータ拡張 API¶
注意
この API は 実験的機能 のため、正式版では仕様が変更される可能性があります。
ListSignalingNotifyMetadata¶
- x-sora-target:
 Sora_20201124.ListSignalingNotifyMetadata
指定したチャネルのすべての接続のメタデータをリストで返します。リストの中には connection_id と bundle_id と client_id と metadata をキーとしたオブジェクトがリストで入ってきます。順番保証はしません。
キー  | 
型  | 
|---|---|
channel_id  | 
string  | 
$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20201124.ListSignalingNotifyMetadata \
    channel_id=sora \
    -vvv
POST / HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 22
Content-Type: application/json
Host: 127.0.0.1:3000
User-Agent: HTTPie/2.2.0
x-sora-target: Sora_20201124.ListSignalingNotifyMetadata
{
    "channel_id": "sora"
}
HTTP/1.1 200 OK
access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, x-sora-target
access-control-allow-methods: POST, OPTIONS
access-control-allow-origin: http://127.0.0.1:5000
access-control-max-age: 1000
content-length: 111
content-type: application/json
date: Thu, 26 Nov 2020 03:45:25 GMT
server: Cowboy
[
    {
        "client_id": "V3Q452QQBD5TQ6ZQDMTEDKA07C",
        "bundle_id": "V3Q452QQBD5TQ6ZQDMTEDKA07C",
        "connection_id": "V3Q452QQBD5TQ6ZQDMTEDKA07C",
        "metadata": {
            "abc": 10
        }
    }
]
GetSignalingNotifyMetadata¶
- x-sora-target:
 Sora_20201124.GetSignalingNotifyMetadata
指定した接続のメタデータを取得します。
キー  | 
型  | 
|---|---|
channel_id  | 
string  | 
connection_id  | 
string  | 
$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20201124.GetSignalingNotifyMetadata \
    channel_id=sora \
    connection_id=0FQE5EA5YN3FS13P01QZ1JG8R0 \
    -vvv
POST / HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 69
Content-Type: application/json
Host: 127.0.0.1:3000
User-Agent: HTTPie/2.2.0
x-sora-target: Sora_20201124.GetSignalingNotifyMetadata
{
    "channel_id": "sora",
    "connection_id": "0FQE5EA5YN3FS13P01QZ1JG8R0"
}
HTTP/1.1 200 OK
access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, x-sora-target
access-control-allow-methods: POST, OPTIONS
access-control-allow-origin: http://127.0.0.1:5000
access-control-max-age: 1000
content-length: 13
content-type: application/json
date: Thu, 26 Nov 2020 03:48:44 GMT
server: Cowboy
{
    "abc": "efg"
}
PutSignalingNotifyMetadata¶
- x-sora-target:
 Sora_20201124.PutSignalingNotifyMetadata
指定した接続のメタデータを作成します。
キー  | 
型  | 
|---|---|
channel_id  | 
string  | 
connection_id  | 
string  | 
metadata  | 
object  | 
push (オプション)  | 
boolean  | 
指定した接続のメタデータを作成します。メタデータがすでにあった場合は更新します。 追加したあとのメタデータが値として返ってきます。
$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20201124.PutSignalingNotifyMetadata \
    channel_id=sora \
    connection_id=0FQE5EA5YN3FS13P01QZ1JG8R0 \
    metadata:='{"abc": "efg"}' \
    push:=true \
    -vvv
POST / HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 97
Content-Type: application/json
Host: 127.0.0.1:3000
User-Agent: HTTPie/2.2.0
x-sora-target: Sora_20201124.PutSignalingNotifyMetadata
{
    "channel_id": "sora",
    "connection_id": "0FQE5EA5YN3FS13P01QZ1JG8R0",
    "metadata": {
        "abc": "efg"
    },
    "push": true
}
HTTP/1.1 200 OK
access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, x-sora-target
access-control-allow-methods: POST, OPTIONS
access-control-allow-origin: http://127.0.0.1:5000
access-control-max-age: 1000
content-length: 13
content-type: application/json
date: Thu, 26 Nov 2020 03:47:52 GMT
server: Cowboy
{
    "abc": "efg"
}
push を有効にした場合は、そのチャネルのすべてのクライアントに以下のようなプッシュ通知が送られます。
{
    "type": "push",
    "data": {
        "action": "PutMetadata",
        "connection_id": "0FQE5EA5YN3FS13P01QZ1JG8R0",
        "metadata": {"abc": "efg"},
        "type": "signaling_notify_metadata_ext"
    }
}
action
"PutMetadata" 固定
connection_id
シグナリング通知メタデータの項目が変更された接続の ID
metadata
作成、または更新したメタデータ
DeleteSignalingNotifyMetadata¶
- x-sora-target:
 Sora_20201124.DeleteSignalingNotifyMetadata
指定した接続のメタデータを削除します。
キー  | 
型  | 
|---|---|
channel_id  | 
string  | 
connection_id  | 
string  | 
push (オプション)  | 
boolean  | 
指定した接続のメタデータを削除します。メタデータが空だったとしてもエラーにはなりません。 削除される まえ のメタデータが値として返ってきます。
$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20201124.DeleteSignalingNotifyMetadata \
    channel_id=sora \
    connection_id=0FQE5EA5YN3FS13P01QZ1JG8R0 \
    push:=true \
    -vvv
POST / HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 69
Content-Type: application/json
Host: 127.0.0.1:3000
User-Agent: HTTPie/2.2.0
x-sora-target: Sora_20201124.DeleteSignalingNotifyMetadata
{
    "channel_id": "sora",
    "connection_id": "0FQE5EA5YN3FS13P01QZ1JG8R0",
    "push": true
}
HTTP/1.1 200 OK
access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, x-sora-target
access-control-allow-methods: POST, OPTIONS
access-control-allow-origin: http://127.0.0.1:5000
access-control-max-age: 1000
content-length: 13
content-type: application/json
date: Thu, 26 Nov 2020 03:51:48 GMT
server: Cowboy
{
    "abc": "efg"
}
push を有効にした場合は、そのチャネルのすべてのクライアントに以下のようなプッシュ通知が送られます。
{
    "type": "push",
    "data": {
        "action": "DeleteMetadata",
        "connection_id": "0FQE5EA5YN3FS13P01QZ1JG8R0",
        "metadata": {"abc": "efg"},
        "type": "signaling_notify_metadata_ext"
    }
}
action
"DeleteMetadata" 固定
connection_id
シグナリング通知メタデータの項目が変更された接続の ID
metadata
削除したメタデータ
PutSignalingNotifyMetadataItem¶
- x-sora-target:
 Sora_20201124.PutSignalingNotifyMetadataItem
指定した接続のメタデータ項目を作成または更新します。
キー  | 
型  | 
|---|---|
channel_id  | 
string  | 
connection_id  | 
string  | 
key  | 
string  | 
value  | 
json  | 
push (オプション)  | 
boolean  | 
key/value で指定したメタデータ項目を追加します。その項目が既にあった場合は更新します。 追加したあとのメタデータが値として返ってきます。
$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20201124.PutSignalingNotifyMetadataItem \
    channel_id=sora \
    connection_id=0FQE5EA5YN3FS13P01QZ1JG8R0 \
    key=abc \
    value=efg \
    push:=true \
    -vvv
POST / HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 99
Content-Type: application/json
Host: 127.0.0.1:3000
User-Agent: HTTPie/2.2.0
x-sora-target: Sora_20201124.PutSignalingNotifyMetadataItem
{
    "channel_id": "sora",
    "connection_id": "0FQE5EA5YN3FS13P01QZ1JG8R0",
    "key": "abc",
    "value": "efg",
    "push": true
}
HTTP/1.1 200 OK
access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, x-sora-target
access-control-allow-methods: POST, OPTIONS
access-control-allow-origin: http://127.0.0.1:5000
access-control-max-age: 1000
content-length: 13
content-type: application/json
date: Thu, 26 Nov 2020 03:51:48 GMT
server: Cowboy
{
    "abc": "efg"
}
push を有効にした場合は、そのチャネルのすべてのクライアントに以下のようなプッシュ通知が送られます。
{
    "type": "push",
    "data": {
        "action": "PutMetadataItem",
        "connection_id": "0FQE5EA5YN3FS13P01QZ1JG8R0",
        "key": "abc",
        "value": "efg",
        "type": "signaling_notify_metadata_ext"
    }
}
action
"PutMetadataItem" 固定
connection_id
シグナリング通知メタデータの項目が変更された接続の ID
key
シグナリング通知メタデータの項目が変更されたキー
value
シグナリング通知メタデータの項目が変更されたバリュー
DeleteSignalingNotifyMetadataItem¶
- x-sora-target:
 Sora_20201124.DeleteSignalingNotifyMetadataItem
指定した接続のメタデータ項目を削除します。
キー  | 
型  | 
|---|---|
channel_id  | 
string  | 
connection_id  | 
string  | 
key  | 
string  | 
push (オプション)  | 
boolean  | 
key で指定したメタデータ項目を削除します。その項目がなかったとしてもエラーにはなりません。 削除された あと のメタデータが値として返ってきます。
もしその項目がなかった場合は現状のメタデータが値として返ってきます。
$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20201124.DeleteSignalingNotifyMetadataItem \
    channel_id=sora \
    connection_id=0FQE5EA5YN3FS13P01QZ1JG8R0 \
    key=abc \
    push:=true \
    -vvv
POST / HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 97
Content-Type: application/json
Host: 127.0.0.1:3000
User-Agent: HTTPie/2.2.0
x-sora-target: Sora_20201124.DeleteSignalingNotifyMetadataItem
{
    "channel_id": "sora",
    "connection_id": "0FQE5EA5YN3FS13P01QZ1JG8R0",
    "key": "abc",
    "push": true
}
HTTP/1.1 200 OK
access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, x-sora-target
access-control-allow-methods: POST, OPTIONS
access-control-allow-origin: http://127.0.0.1:5000
access-control-max-age: 1000
content-length: 2
content-type: application/json
date: Thu, 26 Nov 2020 03:54:50 GMT
server: Cowboy
{}
push を有効にした場合は、そのチャネルのすべてのクライアントに以下のようなプッシュ通知が送られます。
{
    "type": "push",
    "data": {
        "action": "DeleteMetadataItem",
        "connection_id": "0FQE5EA5YN3FS13P01QZ1JG8R0",
        "key": "abc",
        "type": "signaling_notify_metadata_ext"
    }
}
action
"DeleteMetadataItem" 固定
connection_id
シグナリング通知メタデータの項目が変更された接続の ID
key
シグナリング通知メタデータの項目が変更されたキー