RICOH Live Streaming REST API: Messaging Application Server API (v1)

Download OpenAPI specification:Download

RICOH Live Streaming REST API は Live Streaming サービスの REST API です。
本ページは そのうちのMessaging の アプリサーバー用 REST API の仕様について記載します。

Messaging REST API について

Messaging REST API は、現在 β 版として提供しております。
そのため、商用サービスでの利用をご検討される際には、必ず事前にお問い合わせください。
本 β 版の利用料金は無料です。正式版は有償での提供を検討しておりますので、あらかじめご了承ください。
正式版を公開せずに β 版の公開を終了する、もしくは、正式版では β 版から機能や仕様が変更される可能性がありますので、あらかじめご了承ください。

共通仕様

  • HTTP レスポンスについて
    • API の認証/認可に失敗した場合、ステータスコード 401 のレスポンスが返却されます
    • Path と Method がマッチしていない場合、ステータスコード 405 のレスポンスが返却されます
    • サーバ内部での未知のエラーが発生した場合、ステータスコード 500 のレスポンスが返却されます
  • イベントに対する通知について
    • user が channel に追加された時、invited_channel が送信されます
    • user が channel から削除された時、banned_channel が送信されます
    • 参加している channel が更新された時、channel_updated が送信されます
    • channel 削除、更新などにより、今までチャンネル経由でのつながりがなかった user との繋がりがなくなった場合には、そのユーザについての update_presence が送信されます(banned_channel で分かる場合を除く)。

Channels API

channel 一覧の取得

  • channel の一覧を返します
  • limit と page_token をURL クエリーに指定することができます
Authorizations:
ClientBasic
query Parameters
limit
number
  • 一度に取得する Channel の件数です
  • 1 以上 100 以下の値を指定可能です
  • 範囲外の文字や数値が指定された場合や limit 要素が省略された場合は、 100 を指定したものとして扱われます
page_token
string
  • クエリ結果のレスポンスボディに含まれる next_token 要素を指定することで、次のページを取得します
  • 省略した場合は最初のページを取得します

Responses

Response samples

Content type
application/json
{
  • "next_token": "string",
  • "channels": [
    ]
}

channel の作成

  • channel を新規に作成します
Authorizations:
ClientBasic
Request Body schema: application/json
name
required
string <= 255 characters

チャンネルの表示名

user_ids
required
Array of strings[ items <= 255 characters /^[a-zA-Z0-9.%+^_"`{|}~<>\-]{1,255}$/ ]

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "user_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "channel_id": "string",
  • "user_ids": [
    ]
}

channel 情報の取得

  • パラメータで指定した channel_id に該当するchannelの情報を返します
Authorizations:
ClientBasic
path Parameters
channel_id
required
string
  • Channel ID

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "channel_id": "string",
  • "user_ids": [
    ]
}

channel の更新

  • channel_id で指定した channel の情報を指定値で更新します
Authorizations:
ClientBasic
path Parameters
channel_id
required
string
  • Channel ID
Request Body schema: application/json
name
required
string <= 255 characters

チャンネルの表示名

user_ids
required
Array of strings[ items <= 255 characters /^[a-zA-Z0-9.%+^_"`{|}~<>\-]{1,255}$/ ]

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "user_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "channel_id": "string",
  • "user_ids": [
    ]
}

channel の削除

  • channel_id で指定した channel を削除します
Authorizations:
ClientBasic
path Parameters
channel_id
required
string
  • Channel ID

Responses

Response samples

Content type
application/json
{
  • "error_id": "not_found",
  • "message": "string"
}

Users API

channel への User の登録

  • 指定した channel_id に対応する Channel のメンバーに、user_id で指定されるユーザーを追加します
Authorizations:
ClientBasic
path Parameters
channel_id
required
string
  • Channel ID
user_id
required
string <= 255 characters /^[a-zA-Z0-9.%+^_"`{|}~<>\-]{1,255}$/
  • User ID

Responses

Response samples

Content type
application/json
{
  • "user_id": "string"
}

user を channel から削除

  • パラメータで指定した user_id で表されるユーザーを、channel_id で表される Channel から削除します
Authorizations:
ClientBasic
path Parameters
channel_id
required
string
  • Channel ID
user_id
required
string <= 255 characters /^[a-zA-Z0-9.%+^_"`{|}~<>\-]{1,255}$/
  • User ID

Responses

Response samples

Content type
application/json
{
  • "error_id": "not_found",
  • "message": "string"
}

Messages API

message の投稿

  • パラメータで指定した channel_id に一致する channel 内に message を投稿します
  • 投稿に成功すると、message_createdメッセージが、該当チャンネルに所属し接続中の全てのユーザーに送信されます
  • user_id で指定したユーザーが作成したという扱いになります
Authorizations:
ClientBasic
path Parameters
channel_id
required
string
  • Channel ID
user_id
required
string <= 255 characters /^[a-zA-Z0-9.%+^_"`{|}~<>\-]{1,255}$/
  • User ID
Request Body schema: application/json
type
required
string

実テキストか画像 URL か Markdown かなどの分類文字列

required
object or string
  • 投稿するmessage。文字列もしくは任意の JSON object を指定可能。
  • object の場合、サイズの上限は文字列にエンコードして 300 万文字まで

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "body": { }
}

Response samples

Content type
application/json
{
  • "seq": 1,
  • "author_id": "string",
  • "body": { },
  • "type": "string",
  • "revision": 1,
  • "created_at": 0,
  • "updated_at": 0
}

指定した message の取得

指定された channel_id に該当する channel から message を取得します

Authorizations:
ClientBasic
path Parameters
channel_id
required
string
  • Channel ID
query Parameters
from
number
  • message の検索時に、検索対象とする seq の終点を指定します。つまり、from で指定した seq から遡って count 件の message が検索対象となります - 省略された場合、1 が指定されたものとして動作します
count
number
  • message の検索時に、最大何件までの結果を返すかを指定します - 省略された場合、500 が指定されたものとして扱われます

Responses

Response samples

Content type
application/json
[
  • {
    }
]

指定した message の更新

  • seq で指定された message を更新します
  • 更新に成功すると、message_updatedメッセージが、該当チャンネルに所属し接続中の全てのユーザーに送信されます
  • websocket の update_message リクエストとは異なり、どの user_id のユーザーが作成した message であっても更新可能です
Authorizations:
ClientBasic
path Parameters
channel_id
required
string
  • Channel ID
seq
required
number
  • Message の生成時に割り振られた seq 番号
Request Body schema: application/json
type
required
string

実テキストか画像 URL か Markdown かなどの分類文字列

required
object or string
  • 投稿する message。文字列もしくは任意の JSON object を指定可能。
  • object の場合、サイズの上限は文字列にエンコードして 300 万文字まで

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "body": { }
}

Response samples

Content type
application/json
{
  • "seq": 1,
  • "author_id": "string",
  • "body": { },
  • "type": "string",
  • "revision": 1,
  • "created_at": 0,
  • "updated_at": 0
}

指定した message の削除

  • seq で指定された message を削除します
  • 削除に成功すると、message_deletedメッセージが、該当チャンネルに所属し接続中の全てのユーザーに送信されます
  • websocket の delete_message リクエストとは異なり、どの user_id のユーザーが作成した message であっても削除可能です
Authorizations:
ClientBasic
path Parameters
channel_id
required
string
  • Channel ID
seq
required
number
  • Message の生成時に割り振られた seq 番号

Responses

Response samples

Content type
application/json
{
  • "error_id": "not_found",
  • "message": "string"
}

Channel

name
string <= 255 characters

チャンネルの表示名

channel_id
string

チャンネル作成時に決まる不変 ID

user_ids
Array of strings[ items <= 255 characters /^[a-zA-Z0-9.%+^_"`{|}~<>\-]{1,255}$/ ]
{
  • "name": "string",
  • "channel_id": "string",
  • "user_ids": [
    ]
}

User

user_id
string <= 255 characters

User の ID

{
  • "user_id": "string"
}

Message

seq
integer >= 1

channel 内で振られた連番

author_id
string

messageを書き込んだユーザのuser_id

object or string

書き込まれた中身

type
string

実テキストか画像 URL か Markdown かなどの分類文字列

revision
integer >= 1

何回改訂されたか。初期値は 1

created_at
integer

投稿時間(unixtime)。サーバで seq が振られた時間でありクライアントが送信した時間ではありません

updated_at
integer

最終更新時間(unixtime)。サーバで更新が確定した時間が記録されます

{
  • "seq": 1,
  • "author_id": "string",
  • "body": { },
  • "type": "string",
  • "revision": 1,
  • "created_at": 0,
  • "updated_at": 0
}