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

# Agent SDK Secrets & HMAC Penandatanganan

Agent SDK permintaan diautentikasi dengan mitra API rahasia. Simpan rahasia itu di dalam layanan backend terpercaya dan biarkan SDK menghasilkan kolom penandatanganan kapan pun memungkinkan.

> **Dua protokol penandatanganan**

Penandatanganan > Agent SDK menggunakan kolom permintaan yang diurutkan, timestamp berbasis detik, dan nonce. Permintaan API Pengembang Langsung menggunakan proses terpisah yang dijelaskan dalam [Penandatanganan Permintaan](/id/developer-api/request-signing). Jangan gunakan satu format muatan untuk yang lain.

<h2 id="signing-rule">
  Aturan penandatanganan
</h2>

Untuk permintaan Agent SDK :

1. Mengecualikan bidang `sign` .
2. Hilangkan kolom dengan nilai kosong.
3. Urutkan nama bidang yang tersisa secara ASCII .
4. Gabungkan kolom-kolom sebagai `k=v&k2=v2`.
5. Hitung tanda heksadesimal HMAC-SHA256 dengan `apiSecret`.

SDK harus membangun nilai ini dari data yang sama yang dikirimnya. Mengubah bidang yang ditandatangani setelah pembuatan tanda tangan menyebabkan verifikasi gagal.

<h2 id="sdk-managed-fields">
  SDK-bidang yang dikelola
</h2>

| Lapangan  | Sumber                | Deskripsi                                                    |
| --------- | --------------------- | ------------------------------------------------------------ |
| agentCode | konfigurasi SDK       | Kode agen mitra.                                             |
| cap waktu | Waktu server saat ini | Timestamp Unix dalam hitungan detik.                         |
| nonce     | Nilai acak aman       | String acak proteksi pemutaran ulang.                        |
| tanda     | HMAC-SHA256           | Minta tanda tangan.                                          |
| mata uang | Mata uang default     | Digunakan saat mentransfer/akun API menghilangkan mata uang. |

<h2 id="secret-storage">
  Penyimpanan rahasia
</h2>

* Muat `apiSecret` dari manajer rahasia backend atau konfigurasi runtime terlindungi.
* Jangan pernah menempatkan rahasia tersebut di paket frontend, aplikasi mobile, klien desktop, tangkapan layar, atau tiket dukungan.
* Pisahkan kredensial untuk pengembangan, penataan, dan produksi.
* Membatasi akses ke layanan dan operator yang membutuhkannya.
* Menyuntingkan tanda tangan permintaan, nilai otorisasi, dan rahasia dari log.
* Cabut dan ganti kredensial saat diduga terpapar (paparan).

<h2 id="clock-and-replay-protection">
  Perlindungan jam dan pemutaran ulang
</h2>

SDK ini mencakup `timestamp` dan `nonce` untuk mengurangi risiko replay. Jaga agar jam backend tetap sinkron dan jangan gunakan ulang nonce yang dibuat secara manual. Jika validasi tanda tangan gagal, konfirmasi rahasia yang dikonfigurasi, waktu server, field berseri, dan lingkungan sebelum mencoba ulang.

<h2 id="integration-checklist">
  Daftar periksa integrasi
</h2>

| Cek                 | Hasil yang diharapkan                                       |
| ------------------- | ----------------------------------------------------------- |
| Lokasi rahasia      | Penyimpanan rahasia khusus backend.                         |
| Lingkungan          | URL dasar dan kredensial berada di lingkungan yang sama.    |
| Penanganan lapangan | SDK menghasilkan `timestamp`, `nonce`, dan `sign`.          |
| Pencatatan          | ID Bisnis tetap terlihat saat kredensial disunting.         |
| Rotasi              | Pemilik kredensial dan proses penggantian didokumentasikan. |

<h2 id="related-security-docs">
  Dokumen keamanan terkait
</h2>

#### [Agent SDK Ikhtisar](/id/sdk/agent-sdk/overview)

Tinjau alur integrasi backend yang direkomendasikan.

#### [Webhook & Idempotensi](/id/sdk/security/webhooks-idempotency)

Verifikasi tanda tangan callback dan cegah pemrosesan duplikat.

#### [SDK Pemecahan Masalah](/id/sdk/security/troubleshooting)

Mendiagnosis masalah tanda tangan, jam, lingkungan, dan permintaan.