> ## Documentation Index
> Fetch the complete documentation index at: https://x-preview-mintlify-5e62557c.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# X Chat API で暗号化されたダイレクトメッセージを送る

> X Chat API でできることを紹介します。暗号化されたダイレクトメッセージを送受信でき、難しい部分は Chat XDK が処理します。

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

***

## アプリに必要な要素

| 要素                               | 役割                                                                                       |
| :------------------------------- | :--------------------------------------------------------------------------------------- |
| **[Chat XDK](/xchat/xchat-xdk)** | 鍵生成、暗号化・復号、署名・検証、オプションのパスコード保護されたセキュアキーバックアップ(Python、JS、Rust、Go、C#、Java)                 |
| **X API アクセス**                   | 公開鍵、会話鍵、メッセージ、イベント、メディア: **[XDK](/xdks/python/overview)**(Python/TypeScript)または HTTPS 経由 |
| **配信**                           | ライブイベント用の [Webhook またはアクティビティストリーム](/xchat/real-time-events);履歴用のイベント API                |

完全な実装は **[はじめに](/xchat/getting-started)** に従ってください。概念のみを知りたい場合は、**[暗号化入門](/xchat/cryptography-primer)** を参照してください。

***

## 暗号化の仕組み(概要)

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

***

## 便利なエンドポイント

サイドバーの **API reference** にまとめられており、以下を含みます:

* 公開鍵: 登録と取得
* 会話とメッセージ: 会話の一覧/取得、鍵の追加/ローテーション、イベント、送信、タイピング、既読、グループメンバーシップ
* メディア: 暗号化された添付ファイルのアップロードとダウンロード([ガイド](/xchat/media))

***

## 認証に関する注意

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

***

## 次のステップ

1. [暗号化入門](/xchat/cryptography-primer): 暗号化の概念に関する任意の背景知識
2. [はじめに](/xchat/getting-started): 鍵の実装、送信、受信
3. [Chat XDK](/xchat/xchat-xdk): 暗号化 SDK リファレンス
4. [WASM で UI アプリを構築する](/xchat/building-ui-apps-with-wasm) と [秘密鍵の取り扱い](/xchat/handling-private-keys): 鍵を端末上に留め、PIN をルート認証情報として扱う
5. 必要に応じて [リアルタイムイベント](/xchat/real-time-events)、[メディア](/xchat/media)、[トラブルシューティング](/xchat/troubleshooting)
