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を新規に作成します
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
}