Skip to main content

Access Token B2B2C

Spesifikasi

Tabel berikut adalah spesifikasi dari API ini :

API NameB2B2C Access Token Request (Get JWT Token)
FunctionAPI 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 Code74
MethodPOST
URL/snap/v1.0/access-token/b2b2c
Acceptapplication/json
Content Typeapplication/json
Related ServiceAuthorization Token Request

Request

Bagian berikut akan menjelaskan parameter permintaan dalam API ini:

Request Params

Tabel berikut adalah daftar parameter permintaan dalam API ini:

Tabel berikut adalah Header dari Parameter Permintaan :

NoNameTypeLengthRequiredConditionRemarks
1Content-TypeStringVariabel, maks. 127Mandatory-Jenis konten, nilai selalu application/json
2X-TIMESTAMPStringTetap, maks. 25Mandatory-Waktu tanggal transaksi, dalam format YYYY MM-DDTHH:mm:ss+07:00. Waktu harus dalam GMT+7 (Waktu Jakarta)
3X-CLIENT-KEYStringVariabel, maks. 36Mandatory-ID Klien yang diberikan oleh penyedia API
4X-SIGNATUREStringVariabelMandatory-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:

NoNameTypeLengthRequiredConditionRemarks
1grantTypeStringTetap, maks. 18Mandatory-Jenis kunci permintaan token, dapat berupa AUTHORIZATION_CODE atau REFRESH_TOKEN
2authCodeString256Opsional-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:

NoNameTypeLengthRequiredConditionRemarks
1responseCodeStringFixed, maks. 7Mandatory-Merujuk ke daftar kode tanggapan
2responseMessageStringVariabel, maks. 150Mandatory-Merujuk ke daftar kode tanggapan
3accessTokenStringVariabel, maks. 2048Mandatory-Sebuah string yang mewakili izin yang diberikan kepada klien untuk mengakses sumber daya yang dilindungi.
4tokenTypeStringFixed, maks. 6Mandatory-

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:
  • “Bearer”: mencakup string token akses dalam permintaan
  • “Mac”: penerbitan Kode Autentikasi Pesan (MAC) bersamaan dengan token akses yang digunakan untuk menandatangani komponen-komponen tertentu dari permintaan HTTP

Referensi: OAuth2.0 RFC 6749 & 6750

5accessTokenExpiryTimeString-Mandatory-

Waktu saat accessToken akan kedaluwarsa
Waktu validitas token akses adalah 15 hari
Format ISO8601

6refreshTokenString-Mandatory-Sebuah string acak yang dapat digunakan oleh klien tertentu untuk mendapatkan accessToken yang diperbarui guna memperpanjang akses ke sumber daya Pengguna
7refreshTokenExpiryTimeString-Mandatory-

Waktu saat refreshToken akan kedaluwarsa. Refresh Token harus kurang dari validitas token akses dan akan dikelola oleh aplikasi PJP untuk menghasilkan accessToken baru
Format ISO8601

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:

NoResponse CodeResponse MessageRemarks
12007400SuccessfulSukses untuk diproses
24007401Invalid Field FormatFormat tidak valid untuk beberapa bidang
34007402Invalid Mandatory FieldHilang atau format tidak valid pada bidang Mandatory
44017400Unauthorized {reason}Kesalahan tidak diotorisasi umum
54017401Invalid TokenToken otorisasi tidak valid, mungkin karena kedaluwarsa token untuk B2B
65007402Backend system failureKesalahan server internal 500