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

# Buat Token Sematan

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

Buat token embed dari backend Anda setelah memvalidasi sesi pengguna mitra. Browser harus memanggil endpoint Anda, dan endpoint Anda harus memanggil 6MM melalui 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);
```

> **Kredensial sekali pakai**
>
> embedToken bersifat singkat dan hanya digunakan sekali saja. Jangan menempatkannya dalam string kueri URL .

<h2 id="backend-endpoint-example">
  Contoh 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());
}
```

Kembalikan hanya bidang yang dibutuhkan oleh penyedia token Trading Widget . Jangan kembalikan apiSecret, field penandatanganan mentah, atau konfigurasi layanan internal.

<h2 id="failure-handling">
  Penanganan kegagalan
</h2>

| Kondisi                                      | Penanganan yang direkomendasikan                                                         |
| -------------------------------------------- | ---------------------------------------------------------------------------------------- |
| Sesi pengguna hilang atau kedaluwarsa        | Kembalikan 401 dari endpoint mitra dan minta pengguna untuk masuk lagi.                  |
| Pengguna agen tidak terikat                  | Ikat pengguna terlebih dahulu, lalu coba ulang pembuatan token.                          |
| 6MM mengembalikan kesalahan sementara        | Kembalikan error yang dapat dicoba ulang ke frontend dan catat requestId untuk dukungan. |
| channelId tidak cocok dengan instance widget | Tolak permintaan dan buat ulang sesi widget.                                             |

<h2 id="related-documentation">
  Dokumentasi terkait
</h2>

* [Trading Widget Autentikasi](/id/sdk/trading-widget/authentication): hubungkan `tokenProvider` ke endpoint mitra.
* [Java Quick Start](/id/sdk/agent-sdk/java/quick-start): instal dan inisialisasi `AgentClient`.
* [Secrets & Signing](/id/sdk/security/secrets-signing): lindungi Agen API rahasia.
* [Webhooks & Idempotensi](/id/sdk/security/webhooks-idempotency): amankan sisi callback dari integrasi.