Access Token B2B2C
Spesifikasi
Tabel berikut adalah spesifikasi dari API ini :
API Name | B2B2C Access Token Request (Get JWT Token) |
---|---|
Function | API ini digunakan untuk mengambil token otorisasi B2B2C (integrasi antara PJP Penyedia Layanan, Pengguna Layanan, dan Konsumen) berdasarkan client id dan signature access token. Token yang dihasilkan dapat digunakan dalam header HTTP Authorization |
Service Code | 74 |
Method | POST |
URL | /snap/v1.0/access-token/b2b2c |
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 | - | Jenis kunci permintaan token, dapat berupa AUTHORIZATION_CODE atau REFRESH_TOKEN |
2 | authCode | String | 256 | Opsional | - | Kode otorisasi yang diterima setelah Pengguna memberikan persetujuan. Mandatory jika grantType = AUTHORIZATION_CODE |
Contoh Request
Berikut adalah contoh permintaan dari API ini:
POST .../snap/v1.0/access-token/b2b2c
X-TIMESTAMP: 2022-10-20T03:48:25+07:00
X-CLIENT-KEY: 7c357677e7e02547ef33fafca165a574
X-SIGNATURE: cuRVv1sLMwHxq4aT78OhTNF57TfwTqsDq607r3ZOLBBIEWCainZz3LZ2S7WIiKQWjipcT90pC2wsnIdwpCy0Z9L3+BfCJIjiCctG0pObKYA+pzofH2xJONIF2n5fEQQZPW1SAtCODW7kHVFHK/hsBcqG7gHP3fLh81HI5mGfAJZEr8ebiTWbHyrFa0vjZ4pJ8QGIj4xw4/4/ZQIvUP/lgkdrOYhrpo8j2yEEa30qZCl6o7IZ8WvVJMjyw1eEotBZSOV1L2opgB/kCqsnBUQCmniMuka9RzWYc4TQRMZCs7mCl/Mh0aE3joD8vIxGb+0kz4azkfdL3Dazay+HVpSKDg==
Content-Type: application/json
{
"grantType":"AUTHORIZATION_CODE",
"authCode": "0008de4ad3273839d8a847d77dc03d59d3c111ce444b10f41d93e5abd8ebfef7"
}
Response
Bagian berikut akan menjelaskan parameter tanggapan dari API ini:
Response Params
Tabel berikut adalah daftar parameter tanggapan dalam API ini:
Header
Tabel berikut adalah isi Parameter Body Respon:
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | responseCode | String | Fixed, maks. 7 | Mandatory | - | Merujuk ke daftar kode tanggapan |
2 | responseMessage | String | Variabel, maks. 150 | Mandatory | - | Merujuk ke daftar kode tanggapan |
3 | accessToken | String | Variabel, maks. 2048 | Mandatory | - | Sebuah string yang mewakili izin yang diberikan kepada klien untuk mengakses sumber daya yang dilindungi. |
4 | tokenType | String | Fixed, maks. 6 | Mandatory | - | Tipe token akses memberikan informasi yang diperlukan oleh klien untuk berhasil menggunakan token akses dalam permintaan sumber daya yang dilindungi (bersama dengan atribut-atribut yang spesifik pada jenisnya). . Nilai Tipe Token:
Referensi: OAuth2.0 RFC 6749 & 6750 |
5 | accessTokenExpiryTime | String | - | Mandatory | - | Waktu saat accessToken akan kedaluwarsa |
6 | refreshToken | String | - | Mandatory | - | Sebuah string acak yang dapat digunakan oleh klien tertentu untuk mendapatkan accessToken yang diperbarui guna memperpanjang akses ke sumber daya Pengguna |
7 | refreshTokenExpiryTime | String | - | Mandatory | - | Waktu saat refreshToken akan kedaluwarsa. Refresh Token harus kurang dari validitas token akses dan akan dikelola oleh aplikasi PJP untuk menghasilkan accessToken baru |
Contoh Tanggapan
Script berikut adalah contoh tanggapan dari API ini:
{
"responseCode": "2007400",
"responseMessage": "Successful",
"accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJQYXlkaWEiLCJpYXQiOjE2NjYyMzYyOTMsImV4cCI6MTY2NjIzOTg5MywianRpIjoiMDAwOGRlNGFkMzI3MzgzOWQ4YTg0N2Q3N2RjMDNkNTlkM2MxMTFjZTQ0NGIxMGY0MWQ5M2U1YWJkOGViZmVmNyIsImNsaWVudF9pZCI6ImMwSUUiLCJzY29wZSI6IlFVRVJZX0JBTEFOQ0UsUFVCTElDX0lEIiwic3RhdGUiOiI3MDQ3OTU1Ni04MjJkLTQ2NDUtYmViMS05MjI1OTE3ZDMyYTIifQ.H6-3-bwXcRs6TguzlF2bLeT44J-0jpqBZGdK-5tQ5Zs",
"tokenType": "Bearer",
"accessTokenExpiryTime": "2022-10-20T11:24:53+07:00",
"refreshToken": "0008de4ad3273839d8a847d77dc03d59d3c111ce444b10f41d93e5abd8ebfef7",
"refreshTokenExpiryTime": "2022-10-20T11:24:53+07:00"
}
Response Code dan Response Message
Tabel berikut merupakan daftar kode tanggapan dan pesan dari API Access Token B2B2C:
No | Response Code | Response Message | Remarks |
---|---|---|---|
1 | 2007400 | Successful | Sukses untuk diproses |
2 | 4007401 | Invalid Field Format | Format tidak valid untuk beberapa bidang |
3 | 4007402 | Invalid Mandatory Field | Hilang atau format tidak valid pada bidang Mandatory |
4 | 4017400 | Unauthorized {reason} | Kesalahan tidak diotorisasi umum |
5 | 4017401 | Invalid Token | Token otorisasi tidak valid, mungkin karena kedaluwarsa token untuk B2B |
6 | 5007402 | Backend system failure | Kesalahan server internal 500 |