Saat awal login ke Developer API Portal BCA
Tekan tombol Create Application
Masukan info yang diperlukan di form ini, lalu tekan Save and Add Authentication
Lalu tekan Generate untuk mendapatkan ClientID, ClientSecret, APIKey, APISecret.
Pilih menu My Apis setelah memilih di Apps tadi API apa saja yang diinginkan muncul. Masuk ke
Utilities untuk mendapatkan access token (dapat dilihat pada Documentation parameter yang
diperlukan)
Isi field field berikut :
Authorization diisi dengan nilai : Basic<spasi>base64(client_id:client_secret)
Lakukan encoding base 64 pada nilai client_id:client_secret (tanda titik dua ‘:’ juga harus disertakan saat
encoding)
Content type diisi dengan : application/x-www-form-urlencoded
grant_type diisi dengan : client_credentials
Berikutnya adalah generate signature
Isi time stamp dengan waktu saat memanggil signature. Sesuaikan formatnya.
Isi URI dengan URI API yang akan dipanggil.
Access Token diisi dengan nilai yang didapatkan pada proses sebelumnya.
API Secret diisi dengan nilai yang telah kita dapatkan di awal proses.
HTTPMethod diisi sesuai dengan jenis API (dalam contoh ini API Transfer memiliki HTTPMethod
POST)
RequestPayload diisi dengan JSON Request yang dibutuhkan saat memanggil API. Pada contoh
ini API yang digunakan adalah Corporate Banking Transfer memiliki request payload sebagai
berikut:
{
"CorporateID" : "BCAAPI2016",
"SourceAccountNumber" : "0201245680",
"TransactionID" : "00000001",
"TransactionDate" : "2017-07-05",
"ReferenceID" : "12345/PO/2016",
"CurrencyCode" : "IDR",
"Amount" : "100000.00",
"BeneficiaryAccountNumber" : "0201245681",
"Remark1" : "Transfer Test",
"Remark2" : "Online Transfer"
}
Nilai signature yang dihasilkan adalah calculatedHMAC pada bagian response
Langkah terakhir adalah memanggil API yang sudah disiapkan signature-nya.
Isi authorization dengan : Bearer<spasi>Access Token (yang didapat dari proses sebelumnya)
X-BCA Signature adalah calculatedHMAC yang didapat saat proses generate signature
Body diisi dengan JSON Request yang dipanggil saat proses generate signature sebelumnya. Pada contoh
ini API Transfer memiliki request payload sebagai berikut:
{
"CorporateID" : "BCAAPI2016",
"SourceAccountNumber" : "0201245680",
"TransactionID" : "00000001",
"TransactionDate" : "2017-07-05",
"ReferenceID" : "12345/PO/2016",
"CurrencyCode" : "IDR",
"Amount" : "100000.00",
"BeneficiaryAccountNumber" : "0201245681",
"Remark1" : "Transfer Test",
"Remark2" : "Online Transfer"
Pada percobaan di sandbox ada beberapa field yang harus menggunakan nilai default yaitu:
Source Account Number : 0201245680
Beneficiary Account Number : 0201245681,0201245501
Content-type diisi dengan application/json
X-BCA-KEY adalah API Key
X-BCA Timestamp nilainya harus sama dengan timestamp saat memanggil signature
Hasil dari API Corporate Banking Transfer adalah sebagai berikut