コンテンツにスキップ

チャット API

共通仕様

認証・エラー形式・レート制限・共通ヘッダーは API 概要・認証 を参照してください。

組織間のリアルタイムなやり取りを行うチャット API です。 ルーム単位でメッセージとファイルを共有します。

識別子について

ルームの個別操作にはルームの UUID(<room_uuid>)を、メッセージ・ファイルの個別操作には数値 ID(<message_id> / <file_id>)を使用します。


チャットルーム

ルーム一覧

GET /api/chat/rooms/

ルーム作成

POST /api/chat/rooms/

リクエストボディ:

{
  "integration_uuid": "integration-uuid",
  "title": "ログ取り込みが停止する",
  "initial_message": "昨晩からデータが届いていません"
}

integration_uuidtitle は必須です(initial_message は任意)。Integration の提供元組織から起票する場合は customer_organization_uuid を指定します。

ルーム取得

GET /api/chat/rooms/<room_id>/

ルーム更新

PUT /api/chat/rooms/<room_id>/

ルーム削除

DELETE /api/chat/rooms/<room_id>/

ルームの取得または作成

指定した組織とのルームが存在すればそれを返し、なければ新規作成します。

POST /api/chat/rooms/create_or_get/

リクエストボディ:

{
  "target_organization_id": "org-uuid-002"
}

特定の組織とのルーム取得

GET /api/chat/rooms/get_by_target_organization/?org_id=<org-uuid>

自組織のルーム一覧

GET /api/chat/rooms/list_by_organization/

全メッセージ既読

POST /api/chat/rooms/<room_id>/mark_all_as_read/

メッセージ

メッセージ一覧

GET /api/chat/messages/?room_id=<room_id>

メッセージ送信

POST /api/chat/messages/

リクエストボディ:

{
  "chat_room": "room-uuid",
  "content": "新しいアラートが発生しました。確認をお願いします。"
}

メッセージ取得

GET /api/chat/messages/<message_id>/

メッセージ更新

PUT /api/chat/messages/<message_id>/

メッセージ削除

DELETE /api/chat/messages/<message_id>/

既読マーク

POST /api/chat/messages/mark_as_read/

リクエストボディ:

{
  "message_ids": ["msg-001", "msg-002"]
}

メッセージ検索

GET /api/chat/messages/search/?q=<search_term>

未読数取得

GET /api/chat/messages/unread_count/

レスポンス例:

{
  "total_unread": 5,
  "rooms": [
    { "room_id": "room-001", "unread": 3 },
    { "room_id": "room-002", "unread": 2 }
  ]
}

新着メッセージのポーリング

GET /api/chat/messages/updates/?since=<timestamp>

ファイル共有

ファイル一覧

GET /api/chat/files/?room_id=<room_id>

ファイルアップロード

POST /api/chat/files/

Content-Type: multipart/form-data

フィールド 説明
chat_room string ルーム ID
file file アップロードするファイル

ファイルメタデータ取得

GET /api/chat/files/<file_id>/

レスポンス例:

{
  "id": "file-001",
  "original_filename": "malware_sample.pcap",
  "content_type": "application/vnd.tcpdump.pcap",
  "file_size": 1048576,
  "sender_organization": "org-uuid-001",
  "uploaded_at": "2025-01-15T10:30:00Z"
}

ファイルダウンロード

GET /api/chat/files/<file_id>/download/

ファイルをバイナリレスポンスで返します。

ファイル削除

DELETE /api/chat/files/<file_id>/