Access Token B2B
Spesifikasi
Tabel berikut adalah spesifikasi dari API ini :
API Name | B2B Access Token Request (Get JWT Token) |
---|---|
Function | API ini digunakan untuk mendapatkan token otorisasi B2B (integrasi antara PJP Penyedia Layanan dan Pengguna Layanan) berdasarkan client id and signature access token. Token yang dihasilkan dapat digunakan dalam header HTTP Authorization |
Service Code | 73 |
Method | POST |
URL | /snap/v1.0/access-token/b2b |
Accept | application/json |
Content Type | application/json |
Related Service | Authorization Token Request |
Request
Bagian berikut akan menjelaskan parameter permintaan dalam API ini:
Request Params
Tabel berikut adalah daftar parameter permintaan dalam API ini:
Header
Tabel berikut adalah Header dari Parameter Permintaan :
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | Content-Type | String | Variabel, maks. 127 | Mandatory | - | Jenis konten, nilai selalu application/json |
2 | X-TIMESTAMP | String | Tetap, maks. 25 | Mandatory | - | Waktu tanggal transaksi, dalam format YYYY MM-DDTHH:mm:ss+07:00. Waktu harus dalam GMT+7 (Waktu Jakarta) |
3 | X-CLIENT-KEY | String | Variabel, maks. 36 | Mandatory | - | ID Klien yang diberikan oleh penyedia API |
4 | X-SIGNATURE | String | Variabel | Mandatory | - | Signature transaksi. Dihitung sebagai berikut: X-SIGNATURE = SHA256withRSA(payload, privateKey) Dimana payload = clientId + "|" + X-TIMESTAMP. Sebagai server, Signature dapat diverifikasi menggunakan kunci publik yang diberikan oleh klien |
Header
Tabel berikut adalah isi dari Parameter Permintaan:
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | grantType | String | Tetap, maks. 18 | Mandatory | - | Selalu memiliki nilai client_credentials |
Contoh Request
Script berikut adalah contoh permintaan dari API ini:
POST .../snap/v1.0/access-token/b2b
X-TIMESTAMP: 2022-09-26T10:30:00+07:00
X-CLIENT-KEY: 7c357677e7e02547ef33fafca165a574
X-SIGNATURE: jZt84FNAPVAS0AFWv5/9A9Mwxr9BvDptFMAnRz803uBXBYJvdpVcuN0DTydb/xAZQdoP9nJM6F1i2cdWybRuClpE1YA2lxJb4dHsUmqOd1QaIY3I1I6w81U+FjDr7R6xr30tmvMGQQBsR4UnZfchkgwSuHMAoERk2ok30EayRKbwGnpTJH6EQ2WvlKJvNFbKkLHmwvLfZB/wMo5RzLu7IqQeLwRZWSaloW+wtygSJ+x5INPxqi98t57+2dlwnN0XrakiXIv2tenev3fVxHgeF2BP2FMkwdsCaOzX+uBVXAtNPcOCjLjA/TbOs/ruv2tIOBnjazmDZf/JkYR+x0u7eQ==
Content-Type: application/json
{
"grantType":"client_credentials"
}
Response
Bagian berikut akan menjelaskan parameter Respon dalam API ini:
Response Params
Tabel berikut adalah daftar parameter Respon dalam API ini:
Header
Tabel berikut adalah isi Parameter Body Respon:
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | responseCode | String | Tetap, maks. 7 | Mandatory | - | Lihat daftar kode Respon |
2 | responseMessage | String | Variabel, maks. 150 | Mandatory | - | Lihat daftar kode Respon |
3 | accessToken | String | Variabel, maks. 2048 | Mandatory | - | Token akses |
4 | tokenType | String | Tetap, maks. 6 | Opsional | - | Jenis token otorisasi. Selalu memiliki nilai Bearer |
5 | expiresIn | String | Variabel, maks. 8 | Opsional | - | Kadaluwarsa sesi dalam detik: 900 (15 menit) |
Contoh Response
Script berikut adalah contoh Respon dari API ini:
{
"responseCode": "2007300",
"responseMessage": "Successful",
"accessToken": "7780ba1341ad33efbab62d66fbfffab4ef4c9db3efa07e9df10dc627e3f4d4e4",
"tokenType": "Bearer",
"expiresIn": 900
}
Response Code dan Response Message
Tabel berikut adalah daftar kode Respon dan pesan dari API Access Token B2B:
No | Response Code | Response Message | Remarks |
---|---|---|---|
1 | 2007300 | Successful | Berhasil untuk diproses |
2 | 4007301 | Invalid Field Format | Format bidang tidak valid untuk beberapa bidang |
3 | 4007302 | Invalid Mandatory Field | Kehilangan atau format tidak valid pada bidang Mandatory |
4 | 4017300 | Unauthorized {reason} | Kesalahan otorisasi umum |
5 | 4017301 | Invalid Token | Token otorisasi tidak valid, mungkin karena kedaluwarsa token untuk B2B |
6 | 5007302 | Backend system failure | Kesalahan server internal 500 |