API リファレンス
チャット
- GET
/chat-roomsチャットルーム一覧認証中ユーザーが参加しているチャットルームの一覧を返します。未読件数と直近のメッセージを含みます。 - GET
/chat-rooms/:idチャットルーム詳細チャットルームの詳細とメンバー一覧を返します。ルームのメンバーのみアクセスできます。 - POST
/chat-roomsチャットルームを作成チャットルームを作成します。自分を含めて 2 人なら DIRECT、3 人以上なら GROUP になります。DIRECT で既存のルームがある場合はそれを返します。initialMessage は任意で、指定すると最初のメッセージも作成されます。**新規作成時は「作成しました」のシステムメッセージが必ず 1 行入ります**(initialMessage の有無にかかわらず。既存の DIRECT ルームを返す場合は入りません)。 - PUT
/chat-rooms/:idチャットルーム名を変更グループチャットの名前を変更します。参加中のメンバーだけが変更できます。1 対 1 のチャットは参加者名から表示名を組み立てるため、イベント・コミュニティのチャットはそちらの名称を使うため、いずれも変更できません。空文字を送ると名前なしに戻ります。 - GET
/chat-rooms/:id/membersチャットルームのメンバー一覧チャットルームのメンバーをページネーション付きで返します。参加中(JOINED)と招待中(INVITED)のメンバーが対象です。取得できるのは自分がメンバーのルームのみです。 - POST
/chat-rooms/:id/membersチャットルームにメンバーを招待チャットルームにメンバーを招待します。招待されたユーザーは INVITED 状態になり、参加または辞退を選べます。招待できるのは JOINED 状態のメンバーのみです。 - DELETE
/chat-rooms/:id/members/:memberIdチャットルームからメンバーを削除チャットルームからメンバーを削除します。削除できるのは JOINED 状態のメンバーのみで、自分自身は削除できません(離脱を使ってください)。イベント・コミュニティのチャットでは使えません。 - GET
/chat-rooms/:id/mention-candidatesメンション候補の取得@ メンションできる相手を返します。メッセージ送信時の mentions は、ここに出てくる相手だけが有効です(サーバー側で同じ判定をします)。コミュニティチャットでは承認済みのコミュニティメンバーが対象で、メンバー一覧 API(ChatRoomMember の行)とは集合が異なります。イベントチャットではメンションを使わないため常に空配列を返します。ページネーションはありません。limit で打ち切られるので、絞り込みは q で行ってください。 - PUT
/chat-rooms/:id/joinチャットルームに参加招待されたチャットルームに参加します(INVITED → JOINED)。 - PUT
/chat-rooms/:id/declineチャットルームの招待を辞退チャットルームへの招待を辞退します。招待レコードが削除されるため、以降そのルームは一覧に表示されません(再度招待されれば参加できます)。 - PUT
/chat-rooms/:id/leaveチャットルームから退出チャットルームから退出します(JOINED → LEFT)。メンバーレコードは LEFT 状態で残ります。 - GET
/chat-rooms/:roomId/messagesメッセージ一覧チャットルームのメッセージをカーソルページネーションで返します。ルームのメンバーのみアクセスできます。 - POST
/chat-rooms/:roomId/messagesメッセージを送信チャットルームにメッセージを送信します。JSON で content を送るとテキストメッセージ、multipart/form-data で file を送ると画像メッセージになります。ルームのメンバーのみ送信できます。 - DELETE
/chat-rooms/:roomId/messages/:messageIdメッセージを削除自分が送ったメッセージを削除します(論理削除)。削除後は一覧・未読件数・画像一覧から除外されます。既に削除済みでも成功します。 - GET
/chat-rooms/:roomId/messages/:messageId/reactionsリアクションした人の一覧メッセージに付いたリアクションを、押したユーザーの情報つきで返します。メッセージ一覧のレスポンスには userIds しか含まれないため、誰が押したかを表示するときはこちらを使います。 - POST
/chat-rooms/:roomId/messages/:messageId/reactionsリアクションを付けるメッセージに絵文字リアクションを付けます。1 ユーザーが複数種類の絵文字を付けられます。同じ絵文字を 2 回送っても増えません(冪等)。使える絵文字は決まった一覧のみです。 - DELETE
/chat-rooms/:roomId/messages/:messageId/reactionsリアクションを外す自分が付けたリアクションを外します。付けていなくても成功します(冪等)。絵文字はクエリパラメータで指定します。 - GET
/chat-rooms/:roomId/imagesルーム内の画像一覧チャットルームにアップロードされた画像を新しい順に返します。削除済みのメッセージの画像は含まれません。 - PUT
/chat-rooms/:roomId/notificationsルームの通知 ON/OFFこのチャットルームの通知(プッシュ・アプリ内通知・メール)を切り替えます。未読件数には影響しません(鳴らさないだけでバッジは増えます)。現在値はルーム詳細の自分のメンバー情報の notificationsEnabled から取得できます。 - GET
/chat-rooms/:roomId/filesファイル一覧チャットルームのファイルライブラリを返します。フォルダとファイルを 1 本の items にまとめ、種別を分けず名前順に並べます。パンくず(breadcrumbs)も同梱します。folderId を省略するとルート直下です。ページネーションは無く、そのフォルダの中身を全件返します。 - POST
/chat-rooms/:roomId/filesアップロードしたファイルを登録S3 に PUT したファイルをライブラリに登録します。実サイズをサーバーが検証し、10MB を超えていれば拒否します。同じフォルダに同名のファイルがある場合は「report (2).pdf」のように採番されます。postToChat を true にすると、チャットにもメッセージとして流れます。 - PUT
/chat-rooms/:roomId/files/:fileIdファイルの名前変更・移動ファイル名の変更と、別フォルダへの移動を行います。移動先に同名のファイルがある場合は採番されます。 - DELETE
/chat-rooms/:roomId/files/:fileIdファイルを削除自分がアップロードしたファイルを削除します(論理削除)。既に削除済みでも成功します。 - POST
/chat-rooms/:roomId/files/upload-urlアップロード用の署名付き URL を発行ファイルは API を経由せず S3 へ直接アップロードします。この API が返す uploadUrl に対して、requiredHeaders をそのまま付けて PUT してください。Authorization ヘッダは付けないこと(署名が壊れます)。アップロード後に POST /chat-rooms/:roomId/files で登録します。上限は 10MB です。 - GET
/chat-rooms/:roomId/files/:fileId/urlダウンロード用の署名付き URL を発行ファイルは非公開のため、都度この API で期限付きの URL を取得します。disposition=inline は PDF など許可された形式のときだけ尊重され、それ以外は必ず attachment になります。URL はファイル名の指定を含むので、そのままリンクとして開けばダウンロードできます。 - GET
/chat-rooms/:roomId/foldersフォルダ一覧(フラット)ルームのフォルダをページネーションなしでフラットに返します。移動先の選択 UI などでツリーを組み立てるのに使います。 - POST
/chat-rooms/:roomId/foldersフォルダを作成フォルダを作成します。フォルダは多階層にできますが、深さは 10 段までです。同じ階層に同名のフォルダは作れません(ファイルと違い採番しません)。 - PUT
/chat-rooms/:roomId/folders/:folderIdフォルダの名前変更・移動フォルダ名の変更と、別フォルダへの移動を行います。自分自身や自分の子孫の下へは移動できません。移動によって深さが 10 段を超える場合も拒否されます。 - DELETE
/chat-rooms/:roomId/folders/:folderIdフォルダを削除フォルダを中のファイルとサブフォルダごと削除します(論理削除)。削除できるのは作成者だけで、中に他の人がアップロードしたファイルがある場合は拒否されます。レスポンスの件数を確認ダイアログに使えます。 - PUT
/chat-rooms/:roomId/readメッセージを既読にするチャットルームのメッセージを既読にし、未読件数を 0 にします。