Authorization, Signature & Headers

Dalam melakukan komunikasi ke API, dibutuhkan HTTP(s) headers yang dijelaskan pada page ini

Headers

Merupakan daftar header yang digunakan dalam melakukan akses ke Transactional API.

Nama Header
Deskripsi

Client-ID

ID Unik yang diberikan JLC

Request-ID

ID unik transaksi yang di-generate oleh client, untuk keperluan tracking

Request-Timestamp

Waktu request dalam format ISO 8601 (contoh: 2025-08-11T08:45:42Z).

Request-Target

Path endpoint yang dipanggil, termasuk / di awal.

Digest

Base64 dari SHA256 body request

Signature

Signature yang harus digenerate oleh client. lihat Signature

Authorization

Berisi access token, format : Bearer <access_token> Untuk mendapatkan access_token lihat pada Access Token

Access Token

Endpoint ini digunakan untuk mendapatkan Access Token dan Refresh Token yang akan dipakai untuk akses ke Transactional API . Akses ke endpoint ini wajib mengirimkan header Authorization yang sudah dienkripsi (asymmetric encryption) menggunakan public key RSA yang disediakan oleh JLC.

POST /auth/token

Request

Header
Tipe
Required
Deskripsi

Content-Type

String

application/x-www-form-urlencoded

Authorization

String

Nilai adalah hasi dari enkripsi RSA dari string client_id:secret_key menggunakan pubic key yang diberikan oleh JLS

Client-ID

String

ID unik client yang diberikan oleh JLC saat integrasi sistem

Body Request

Field
Tipe
Required
Deskripsi

grant_type

String

Jenis dari grant. Contoh: client_credentials atau refresh_token

refresh_token

String

Hanya dikirim jika grant_type=refresh_token

Contoh Request

Response

Signature

Setiap request ke Transactional API, wajib menyertakan signature di dalam header Signature. Signature digunakan untuk memastikan integritas dan keamanan request agar tidak dapat dimanipulasi oleh pihak ketiga.

Komponen Signature dari Request Header

Nama Header
Deskripsi

Client-ID

ID Unik yang diberikan JLC

Request-ID

ID unik transaksi yang di-generate oleh client, untuk keperluan tracking

Request-Timestamp

Waktu request dalam format ISO 8601 (contoh: 2025-08-11T08:45:42Z).

Request-Target

Path endpoint yang dipanggil, termasuk / di awal.

Digest

Base64 dari SHA256 body request

Generate Digest

Digest adalah hash dari request body. Untuk generate digest maka perlu menghitung hash SHA256 base64 dari JSON Body

Contoh JSON Body

Maka hasil digest :

Generate Signature

Setelah semua komponen telah di set, client dapat membuat signature dengan tahapan :

  1. Susun komponen signature menjadi satu komponen dan nilainya per baris dengan menambahkan karakter escape \n. Jangan tambahkan \n di akhir string. Contoh format raw :

  1. Hitung HMAC-SHA256 base64 dari semua komponen di atas menggunakan secret key yang diberikan dari JLC

  2. Simpan hasil dari generate kedalam header Signature

Last updated