Menandatangani Permintaan Menggunakan HMAC SHA256

Endpoint SIGNED memerlukan header Signature tambahan untuk memverifikasi keaslian permintaan. Ikuti langkah-langkah di bawah ini untuk menghitung tanda tangan menggunakan HMAC SHA256.

Cara menghitung tanda tangan dengan HMAC SHA256

Tanda tangan dihasilkan menggunakan algoritma HMAC SHA256. Metode ini menggabungkan SecretKey Anda dan uri?totalParams untuk menghasilkan kode unik. Tanda tangan yang dihasilkan bersifat case-insensitive (tidak sensitif huruf besar/kecil).

totalParams terdiri dari query string (parameter di URL) yang digabungkan dengan body permintaan (payload).

SecretKey Anda harus tetap dirahasiakan dan tidak boleh disertakan langsung di dalam permintaan jaringan publik.

Hal ini memastikan keamanan interaksi API Anda dengan memvalidasi pengirim dan melindungi dari permintaan yang tidak sah.

1

Siapkan payload

Gabungkan query string dan isi permintaan untuk membuat payload tanda tangan totalParams. Pastikan data diformat secara konsisten.

2

Hasilkan tanda tangan biner

Gunakan algoritma HMAC SHA256 dengan SecretKey Anda sebagai kunci dan totalParams sebagai datanya.

3

Enkripsi/Encode tanda tangan

Konversikan output biner dari operasi HMAC ke format string heksadesimal (hex).

Cara mengirim permintaan API yang ditandatangani

Setelah tanda tangan dihitung, sertakan dalam permintaan API sebagai berikut:

Tambahkan Signature ke header permintaan

Sertakan tanda tangan yang telah dihitung di dalam header Signature pada permintaan Anda.

Sertakan Kunci API (API Key)

Tambahkan APIKey Quentrade Anda di dalam header permintaan (APIKEY).

Kirim permintaan

Pastikan metode permintaan, header, dan payload sama persis dengan yang digunakan selama proses perhitungan tanda tangan.

Perlu diingat, tanda tangan tidak sensitif terhadap huruf besar/kecil.

Cara Menandatangani Permintaan

Di bawah ini adalah contoh langkah demi langkah cara mengirim payload yang ditandatangani secara valid dari baris perintah Linux menggunakan echo, openssl, dan curl. Berikut adalah contoh endpoint yang ditandatangani beserta panduannya.

Contoh dengan Endpoint

POST/api/v1/user/mode

Kredensial API:

api_key
vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A
secret
NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j

Parameter Permintaan

Parameter:mode|Nilai:paper
path: /api/v1/user/mode
queryString: mode=paper
payload: /api/v1/user/mode?mode=paper

Menghasilkan Tanda Tangan HMAC SHA256

echo -n "/api/v1/user/mode?mode=paper"

Setelah menjalankan perintah tersebut, Anda akan mendapatkan tanda tangan:

2b426474cee8133cc3a5ff0a296958daf1ef3b9f4c19f3aa8a21a42c771ae960

Melakukan Panggilan API

curl -X POST 'https://quentrade.com/api/v1/user/mode?mode=paper' \
  -H 'APIKEY: vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A' \
  -H 'Signature: 2b426474cee8133cc3a5ff0a296958daf1ef3b9f4c19f3aa8a21a42c771ae960'

Cara Mengirim Permintaan Bertanda Tangan via Postman

Berikut adalah contoh langkah demi langkah cara memanggil endpoint Anda melalui Postman. Setelah Postman berfungsi dengan nilai-nilai ini, Anda dapat mengimplementasikannya dalam kode.

Contoh dengan Endpoint

GET/api/v1/bots/dca/

1. Atur URL GET

Dengan include_events:

https://quentrade.com/api/v1/bots/dca/EnterBotIdHere?include_events=true

Dengan menggunakan include_events di query string, pada Postman bidang Params Anda akan terisi secara otomatis.

2. Hitung Tanda Tangan Anda

Gunakan alat pembuat HMAC SHA256 (generator).

Nilai input
Kunci Rahasia (Secret Key)
Output Ter-hash
/api/v1/bots/dca/84512?include_events=true
Gunakan kunci API rahasia Anda dari Quentrade
b8348cd276cc70ba934e41fce7d838711032bf650d815bdf70d5d498b1af11c0

3. Atur Headers

Kedua pasangan kunci/nilai ini dapat dimasukkan di Postman di bawah bagian Headers (yang terletak di bawah kolom URL GET).

Kunci
Nilai
APIKEY
vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A
Signature
b8348cd276cc70ba934e41fce7d838711032bf650d815bdf70d5d498b1af11c0

4. Terima Objek JSON

Jika Anda telah mengikuti langkah-langkah ini, Anda sekarang akan menerima status 200 OK beserta data JSON Anda.