> ## 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.

# Envía mensajes directos cifrados con la X Chat API

> Descubre qué ofrece la X Chat API: envía y recibe mensajes directos cifrados en X, con el Chat XDK encargándose de la parte difícil por ti.

La **X Chat API** te permite enviar y recibir mensajes directos **cifrados** en X. Los cuerpos de los mensajes se cifran en el cliente; X enruta el texto cifrado y no puede leer el contenido en texto plano. Los mensajes también se **firman** para que los destinatarios puedan verificar al remitente.

***

## Lo que necesitas en tu aplicación

| Pieza                            | Responsabilidad                                                                                                                                                          |
| :------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **[Chat XDK](/xchat/xchat-xdk)** | Generar claves, cifrar/descifrar, firmar/verificar y, opcionalmente, copia de seguridad segura de claves protegida con código de acceso (Python, JS, Rust, Go, C#, Java) |
| **Acceso a la X API**            | Claves públicas, claves de conversación, mensajes, eventos y multimedia: mediante el **[XDK](/xdks/python/overview)** (Python/TypeScript) o HTTPS                        |
| **Entrega**                      | [Webhooks o activity stream](/xchat/real-time-events) para eventos en vivo; events API para el historial                                                                 |

Sigue **[Primeros pasos](/xchat/getting-started)** para una implementación completa. Si solo quieres conceptos, consulta el **[Manual básico de criptografía](/xchat/cryptography-primer)**.

***

## Cómo funciona el cifrado (resumen)

1. Crea pares de claves de **identidad** y de **firma**; guarda las claves privadas de forma segura (copia de seguridad segura de claves o un blob protegido).
2. **Publica las claves públicas** para que otros puedan intercambiar claves de conversación contigo y verificar tus firmas.
3. Comparte una **clave de conversación** publicando copias cifradas para cada participante.
4. **Cifra y firma** los mensajes salientes; envía a X únicamente texto cifrado.
5. **Recibe** texto cifrado a través de webhooks, stream o historial de eventos.
6. **Verifica y descifra** con el Chat XDK.

***

## Endpoints útiles

Agrupados bajo **API reference** en la barra lateral, incluyen:

* Claves públicas: registrar y consultar
* Conversaciones y mensajes: listar/obtener conversaciones, agregar/rotar claves, eventos, enviar, escribiendo, leído, membresía de grupo
* Multimedia: subir y descargar adjuntos cifrados ([guía](/xchat/media))

***

## Notas de autenticación

Usa **OAuth 2.0 user context** con los scopes relacionados con DM (`dm.read`, `dm.write`, además de `users.read` / `tweet.read` según sea necesario; `media.write` para subidas). La actividad de X Chat de un usuario requiere la autorización de ese usuario. La configuración de la copia de seguridad segura de claves se devuelve en **tu** registro de clave pública (campo `juicebox_config`); consulta Primeros pasos.

***

## Próximos pasos

1. [Manual básico de criptografía](/xchat/cryptography-primer): antecedentes opcionales sobre conceptos de cifrado
2. [Primeros pasos](/xchat/getting-started): implementa claves, envío y recepción
3. [Chat XDK](/xchat/xchat-xdk): referencia del SDK de cifrado
4. [Cómo crear apps de UI con WASM](/xchat/building-ui-apps-with-wasm) y [Manejo de claves privadas](/xchat/handling-private-keys): mantén las claves en el dispositivo y trata los PIN como credenciales raíz
5. [Eventos en tiempo real](/xchat/real-time-events), [Multimedia](/xchat/media) o [Solución de problemas](/xchat/troubleshooting) cuando necesites esos temas
