Skip to main content
Chat API を使うと、X 上でエンドツーエンド暗号化されたダイレクトメッセージを送受信できます。メッセージ本文はクライアント側で暗号化され、X は暗号文をルーティングするだけで平文コンテンツを読むことはできません。メッセージには署名も付与されるため、受信者は送信者を検証できます。

アプリに必要な要素

完全な実装は Getting Started に従ってください。概念のみを知りたい場合は、暗号化入門 を参照してください。

暗号化の仕組み(概要)

  1. identity キーペアと signing キーペアを作成し、秘密鍵を安全に保存します(安全な鍵バックアップまたは保護された blob)。
  2. 公開鍵を公開して、他のユーザーがあなたと会話鍵を交換し、署名を検証できるようにします。
  3. 各参加者向けに暗号化されたコピーを投稿して、会話鍵を共有します。
  4. 送信メッセージを暗号化して署名し、X には暗号文のみを送信します。
  5. Webhook、ストリーム、またはイベント履歴経由で暗号文を受信します。
  6. Chat XDK を使って検証と復号を行います。

便利なエンドポイント

サイドバーの API reference にまとめられており、以下を含みます:
  • 公開鍵 — 登録と取得
  • 会話とメッセージ — 会話の一覧/取得、鍵の追加/ローテーション、イベント、送信、タイピング、既読、グループメンバーシップ
  • メディア — 暗号化された添付ファイルのアップロードとダウンロード(ガイド

認証に関する注意

DM 関連スコープ(dm.readdm.write、必要に応じて users.read / tweet.read;アップロード用に media.write)を伴う OAuth 2.0 ユーザーコンテキストを使用してください。ユーザーの X Chat アクティビティにはそのユーザーの認可が必要です。安全な鍵バックアップの設定は、あなたの公開鍵レコード(juicebox_config フィールド)で返されます — Getting Started を参照してください。

次のステップ

  1. 暗号化入門 — E2EE の概念に関する任意の背景知識
  2. Getting Started — 鍵の実装、送信、受信
  3. Chat XDK — 暗号化 SDK リファレンス
  4. 必要に応じて リアルタイムイベントメディアトラブルシューティング