> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.6mm.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.6mm.com/_mcp/server.

# Crear Token de Incrustación

<h2 id="sdk-call">
  SDK llamada
</h2>

Crea tokens de embed desde tu backend después de validar la sesión de usuario del socio. El navegador debería llamar a tu endpoint, y tu endpoint debería llamar a 6MM a través del Agent SDK.

```java
CreateEmbedTokenResponse resp = client.createEmbedToken(
        CreateEmbedTokenRequest.of("agent-user-001", "tw_abc123")
                .withSymbol("ETHUSDT"));

System.out.println(resp.embedToken);
System.out.println(resp.expireAt);
```

> **Credencial única**
>
> embedToken es de corta duración y de uso único. No lo pongas en una cadena de consulta URL .

<h2 id="backend-endpoint-example">
  Ejemplo de endpoint backend
</h2>

```java
@PostMapping("/api/trading/embed-token")
public EmbedTokenView createEmbedToken(@RequestBody EmbedTokenRequest request,
                                       PartnerSession session) {
    String agentUserId = session.getAgentUserId();
    CreateEmbedTokenResponse resp = agentClient.createEmbedToken(
            CreateEmbedTokenRequest.of(agentUserId, request.getChannelId())
                    .withSymbol(request.getSymbol()));

    return new EmbedTokenView(resp.embedToken, resp.expireAt, request.getChannelId());
}
```

Devuelva solo los campos necesarios para el proveedor de Trading Widget token. No devuelvas apiSecret, campos de firma en bruto ni configuración interna del servicio.

<h2 id="failure-handling">
  Manejo de fallas
</h2>

| Condición                                         | Manejo recomendado                                                                        |
| ------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| La sesión de usuario falta o expiró               | Devuelve el 401 desde el endpoint del socio y pide al usuario que inicie sesión de nuevo. |
| El usuario agente no está vinculado               | Asigna primero al usuario, luego vuelve a intentar crear el token.                        |
| 6MM devuelve un error temporal                    | Devuelve un error reintentable al frontend y registra requestId para soporte.             |
| channelId no coincide con la instancia del widget | Rechaza la solicitud y recrea la sesión del widget.                                       |

<h2 id="related-documentation">
  Documentación relacionada
</h2>

* [Trading Widget Autenticación](/es-419/sdk/trading-widget/authentication): conecta `tokenProvider` al punto final del socio.
* [Java Inicio Rápido](/es-419/sdk/agent-sdk/java/quick-start): instala e inicializa `AgentClient`.
* [Secretos y Firmas](/es-419/sdk/security/secrets-signing): protege al Agente API secreto.
* [Webhooks e Idempotencia](/es-419/sdk/security/webhooks-idempotency): asegura el lado de callback de la integración.