転送フィルター API

注意

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

転送フィルター API はチャネル単位やコネクション単位で音声や映像の転送をフィルターする機能です。

ListForwardingFilters

x-sora-target:

Sora_20230628.ListForwardingFilters

指定したチャネルについて、チャネル単位とコネクション単位両方の転送フィルターを表示します。 また、blocked オプションの指定により音声と映像のブロック状況を表示します。

キー

channel_id

string

blocked (オプション)

boolean

  • blocked を指定しない場合は false が指定されます

  • version が指定されていフィルターに対しては version 項目が追加されます

  • metadata が指定されているフィルターに対しては metadata 項目が追加されます

$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20230628.ListForwardingFilters \
    channel_id=sora \
    blocked:=true \
    -vvv

POST / HTTP/1.1
Accept: application/json
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 39
Content-Type: application/json
Host: 127.0.0.1:3000
User-Agent: HTTPie/2.6.0
x-sora-target: Sora_20230628.ListForwardingFilters

{
   "channel_id": "sora",
   "blocked": true
}


HTTP/1.1 200 OK
content-length: 712
content-type: application/json
date: Fri, 16 Jun 2023 02:36:06 GMT
server: Cowboy

{
   "channel_forwarding_filter": {
      "action": "block",
      "rules": [
         [
            {
               "field": "kind",
               "operator": "is_in",
               "values": [
                  "video",
                  "audio"
               ]
            }
         ]
      ]
   },
   "connection_forwarding_filters": [
      {
         "action": "allow",
         "connection_id": "6V9VANDZZH71HCQGVKBWKJ8GS0",
         "rules": [
            [
               {
                  "field": "kind",
                  "operator": "is_in",
                  "values": [
                     "video"
                  ]
               }
            ]
         ]
      },
      {
         "action": "allow",
         "connection_id": "XEDQM589M520Z50KM7C6C5PRB0",
         "rules": [
            [
               {
                  "field": "kind",
                  "operator": "is_in",
                  "values": [
                     "audio"
                  ]
               }
            ]
         ]
      }
   ],
   "blocked": [
      {
         "destination_connection_id": "6V9VANDZZH71HCQGVKBWKJ8GS0",
         "kind": "audio",
         "source_connection_id_list": [
            "ASJDFJ1PF94JN6DV59JQZ1HNDR"
         ]
      },
      {
         "destination_connection_id": "XEDQM589M520Z50KM7C6C5PRB0",
         "kind": "video",
         "source_connection_id_list": [
            "ASJDFJ1PF94JN6DV59JQZ1HNDR",
            "6V9VANDZZH71HCQGVKBWKJ8GS0"
         ]
      }
   ]
}

レスポンス

レスポンスの内容は以下の通りです。転送フィルターについての詳細は 転送フィルタールールの仕様 をご確認ください。

  • channel_forwarding_filter

    • 指定したチャネルに設定されているチャネル単位の転送フィルターを表示します

  • connection_forwarding_filters

    • 指定したチャネルに設定されているコネクション単位の転送フィルターを配列で表示します

  • blocked

    • destination_connection_id

      • ブロックされている送信先のコネクション ID

    • kind

      • ブロックされているメディア (audio または video)

    • source_connection_id_list

      • ブロックされている送信元のコネクション ID の配列

CreateChannelForwardingFilter

x-sora-target:

Sora_20230628.CreateChannelForwardingFilter

指定したチャネルに対して転送フィルターを作成します。 チャネル単位での転送フィルター作成は 送信元からの音声や映像を送信先に転送するかどうか です。 送信先はチャネルに参加しているすべてのコネクションです。

指定した送信先だけにブロックをさせたい場合は CreateConnectionForwardingFilter を使用してください。

転送フィルターの指定方法についての詳細は 転送フィルタールールの仕様 をご確認ください。

キー

channel_id

string

action (オプション)

string (block | allow)

rules

array of object

version (オプション)

string

metadata (オプション)

json object

  • action の指定がない場合は block が指定されます

  • rules は転送フィルターの対象を配列で指定します。 rules で指定する array of object の object の内容は以下の通りです

キー

field

string (connection_id | client_id | kind)

operator

string (is_in | is_not_in)

value

array of string

$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20230628.CreateChannelForwardingFilter \
    channel_id=sora \
    action=block \
    rules:='[
      [
        {"field": "connection_id", "operator": "is_in", "values": ["XEDQM589M520Z50KM7C6C5PRB0"]},
        {"field": "client_id", "operator": "is_not_in", "values": ["screen-share"]},
        {"field": "kind", "operator": "is_in", "values": ["video"]}
      ]
    ]' \
    -vvv

POST / HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 283
Content-Type: application/json
Host: 127.0.0.1:3000
User-Agent: HTTPie/3.2.1
x-sora-target: Sora_20230628.CreateChannelForwardingFilter

{
  "action": "block",
  "channel_id": "sora",
  "rules": [
    [
      {
        "field": "connection_id",
        "operator": "is_in",
        "values": [
          "XEDQM589M520Z50KM7C6C5PRB0"
        ]
      },
      {
        "field": "client_id",
        "operator": "is_not_in",
        "values": [
          "screen-share"
        ]
      },
      {
        "field": "kind",
        "operator": "is_in",
        "values": [
          "video"
        ]
      }
    ]
  ]
}


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: *
access-control-max-age: 1000
content-length: 261
content-type: application/json
date: Thu, 22 Jun 2023 07:28:35 GMT
server: Cowboy

{
  "action": "block",
  "channel_id": "sora",
  "rules": [
    [
      {
        "field": "connection_id",
        "operator": "is_in",
        "values": [
          "XEDQM589M520Z50KM7C6C5PRB0"
        ]
      },
      {
        "field": "client_id",
        "operator": "is_not_in",
        "values": [
          "screen-share"
        ]
      },
      {
        "field": "kind",
        "operator": "is_in",
        "values": [
          "video"
        ]
      }
    ]
  ]
}

UpdateChannelForwardingFilter

x-sora-target:

Sora_20230628.UpdateChannelForwardingFilter

指定したチャネルの転送フィルターの設定を、 rulesaction の内容で置き換えます。

注意

この API を実行するには事前に指定したチャネル単位の転送フィルターが作成されている必要があります

キー

channel_id

string

action (オプション)

string (block | allow)

rules

array of object

expected_version (オプション)

string

desired_version (オプション)

string

metadata (オプション)

json object

  • action の指定がない場合は block が指定されます

  • rules は転送フィルターの対象を配列で指定します。 rules で指定する array of object の object の内容は以下の通りです

キー

field

string (connection_id | client_id | kind)

operator

string (is_in | is_not_in)

value

array of string

$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20230628.UpdateChannelForwardingFilter \
    channel_id=sora \
    action=block \
    rules:='[
      [
        {"field": "connection_id", "operator": "is_in", "values": ["XEDQM589M520Z50KM7C6C5PRB0"]},
        {"field": "client_id", "operator": "is_not_in", "values": ["screen-share"]},
        {"field": "kind", "operator": "is_in", "values": ["video"]}
      ]
    ]' \
    -vvv

POST / HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 283
Content-Type: application/json
Host: 127.0.0.1:3000
User-Agent: HTTPie/3.2.2
x-sora-target: Sora_20230628.UpdateChannelForwardingFilter

{
   "action": "block",
   "channel_id": "sora",
   "rules": [
      [
         {
            "field": "connection_id",
            "operator": "is_in",
            "values": [
               "XEDQM589M520Z50KM7C6C5PRB0"
            ]
         },
         {
            "field": "client_id",
            "operator": "is_not_in",
            "values": [
               "screen-share"
            ]
         },
         {
            "field": "kind",
            "operator": "is_in",
            "values": [
               "video"
            ]
         }
      ]
   ]
}


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: *
access-control-max-age: 1000
content-length: 261
content-type: application/json
date: Thu, 22 Jun 2023 07:40:11 GMT
server: Cowboy

{
   "action": "block",
   "channel_id": "sora",
   "rules": [
      [
         {
            "field": "connection_id",
            "operator": "is_in",
            "values": [
               "XEDQM589M520Z50KM7C6C5PRB0"
            ]
         },
         {
            "field": "client_id",
            "operator": "is_not_in",
            "values": [
               "screen-share"
            ]
         },
         {
            "field": "kind",
            "operator": "is_in",
            "values": [
               "video"
            ]
         }
      ]
   ]
}

DeleteChannelForwardingFilter

x-sora-target:

Sora_20230628.DeleteChannelForwardingFilter

指定したチャネルの転送フィルターの設定を削除します。

注意

この API を実行するには事前に指定したチャネル単位の転送フィルターが作成されている必要があります

キー

channel_id

string

$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20230628.DeleteChannelForwardingFilter \
    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/3.2.2
x-sora-target: Sora_20230628.DeleteChannelForwardingFilter

{
   "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: *
access-control-max-age: 1000
content-length: 21
content-type: application/json
date: Thu, 22 Jun 2023 07:48:10 GMT
server: Cowboy

{
   "channel_id": "sora"
}

CreateConnectionForwardingFilter

x-sora-target:

Sora_20230628.CreateConnectionForwardingFilter

指定したチャネルの特定コネクションに対して転送フィルターを作成します。

コネクション単位での転送フィルター作成は 指定したコネクションに送信元からの音声や映像を送信先に転送するかどうか です。 指定した送信先だけブロックをしたい場合に利用します。

転送フィルターの指定方法についての詳細は 転送フィルタールールの仕様 をご確認ください。

キー

channel_id

string

connection_id

string

action (オプション)

string (block | allow)

rules

array of object

version (オプション)

string

metadata (オプション)

json object

  • action の指定がない場合は block が指定されます

  • rules は転送フィルターの対象を配列で指定します。 rules で指定する array of object の object の内容は以下の通りです

キー

field

string (connection_id | client_id | kind)

operator

string (is_in | is_not_in)

value

array of string

$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20230628.CreateConnectionForwardingFilter \
    channel_id=sora \
    connection_id=EQ13WT731S1EK452YRJVFGYAY8 \
    action=block \
    rules:='[
      [
        {"field": "connection_id", "operator": "is_in", "values": ["XEDQM589M520Z50KM7C6C5PRB0"]},
        {"field": "client_id", "operator": "is_not_in", "values": ["screen-share"]},
        {"field": "kind", "operator": "is_in", "values": ["video"]}
      ]
    ]' \
    -vvv

POST / HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 330
Content-Type: application/json
Host: 127.0.0.1:3000
User-Agent: HTTPie/3.2.2
x-sora-target: Sora_20230628.CreateConnectionForwardingFilter

{
  "action": "block",
  "channel_id": "sora",
  "connection_id": "EQ13WT731S1EK452YRJVFGYAY8",
  "rules": [
    [
      {
        "field": "connection_id",
        "operator": "is_in",
        "values": [
          "XEDQM589M520Z50KM7C6C5PRB0"
        ]
      },
      {
        "field": "client_id",
        "operator": "is_not_in",
        "values": [
          "screen-share"
        ]
      },
      {
        "field": "kind",
        "operator": "is_in",
        "values": [
          "video"
        ]
      }
    ]
  ]
}


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: *
access-control-max-age: 1000
content-length: 306
content-type: application/json
date: Thu, 22 Jun 2023 07:50:04 GMT
server: Cowboy

{
  "action": "block",
  "channel_id": "sora",
  "connection_id": "EQ13WT731S1EK452YRJVFGYAY8",
  "rules": [
    [
      {
        "field": "connection_id",
        "operator": "is_in",
        "values": [
          "XEDQM589M520Z50KM7C6C5PRB0"
        ]
      },
      {
        "field": "client_id",
        "operator": "is_not_in",
        "values": [
          "screen-share"
        ]
      },
      {
        "field": "kind",
        "operator": "is_in",
        "values": [
          "video"
        ]
      }
    ]
  ]
}

UpdateConnectionForwardingFilter

x-sora-target:

Sora_20230628.UpdateConnectionForwardingFilter

指定したチャネルの特定コネクションに対する転送フィルターの設定を、 rulesaction の内容で置き換えます。

注意

この API を実行するには事前に指定したコネクション単位の転送フィルターが作成されている必要があります

キー

channel_id

string

connection_id

string

action (オプション)

string (block | allow)

rules

array of object

expected_version (オプション)

string

desired_version (オプション)

string

metadata (オプション)

json object

  • action の指定がない場合は block が指定されます

  • rules は転送フィルターの対象を配列で指定します。 rules で指定する array of object の object の内容は以下の通りです

キー

field

string (connection_id | client_id | kind)

operator

string (is_in | is_not_in)

value

array of string

$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20230628.UpdateConnectionForwardingFilter \
    channel_id=sora \
    connection_id=T9J5FM3NTH6JH4JKFGTSHB1BA0 \
    action=block \
    rules:='[
      [
        {"field": "connection_id", "operator": "is_in", "values": ["XEDQM589M520Z50KM7C6C5PRB0"]},
        {"field": "client_id", "operator": "is_not_in", "values": ["screen-share"]},
        {"field": "kind", "operator": "is_in", "values": ["video"]}
      ]
    ]' \
   -vvv

POST / HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 330
Content-Type: application/json
Host: 127.0.0.1:3000
User-Agent: HTTPie/3.2.2
x-sora-target: Sora_20230628.UpdateConnectionForwardingFilter

{
  "action": "block",
  "channel_id": "sora",
  "connection_id": "EQ13WT731S1EK452YRJVFGYAY8",
  "rules": [
    [
      {
        "field": "connection_id",
        "operator": "is_in",
        "values": [
          "XEDQM589M520Z50KM7C6C5PRB0"
        ]
      },
      {
        "field": "client_id",
        "operator": "is_not_in",
        "values": [
          "screen-share"
        ]
      },
      {
        "field": "kind",
        "operator": "is_in",
        "values": [
          "video"
        ]
      }
    ]
  ]
}


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: *
access-control-max-age: 1000
content-length: 306
content-type: application/json
date: Thu, 22 Jun 2023 07:54:29 GMT
server: Cowboy

{
  "action": "block",
  "channel_id": "sora",
  "connection_id": "EQ13WT731S1EK452YRJVFGYAY8",
  "rules": [
    [
      {
        "field": "connection_id",
        "operator": "is_in",
        "values": [
          "XEDQM589M520Z50KM7C6C5PRB0"
        ]
      },
      {
        "field": "client_id",
        "operator": "is_not_in",
        "values": [
          "screen-share"
        ]
      },
      {
        "field": "kind",
        "operator": "is_in",
        "values": [
          "video"
        ]
      }
    ]
  ]
}

DeleteConnectionForwardingFilter

x-sora-target:

Sora_20230628.DeleteConnectionForwardingFilter

指定したチャネルの特定コネクションの転送フィルターを削除します。

注意

この API を実行するには事前に指定したコネクション単位の転送フィルターが作成されている必要があります

キー

channel_id

string

connection_id

string

$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20230628.DeleteConnectionForwardingFilter \
    channel_id=sora \
    connection_id=T9J5FM3NTH6JH4JKFGTSHB1BA0 \
    -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/3.2.2
x-sora-target: Sora_20230628.DeleteConnectionForwardingFilter

{
  "channel_id": "sora",
  "connection_id": "EQ13WT731S1EK452YRJVFGYAY8"
}


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: *
access-control-max-age: 1000
content-length: 66
content-type: application/json
date: Thu, 22 Jun 2023 07:57:39 GMT
server: Cowboy

{
  "channel_id": "sora",
  "connection_id": "EQ13WT731S1EK452YRJVFGYAY8"
}
© Copyright 2024, Shiguredo Inc Created using Sphinx 7.2.6