API Specification - Valas 2.0
Foreign exchange is required for transactions in global markets and has an official exchange rate recorded at the central bank. This API will help you monitor foreign exchange rates in real-time and can make foreign exchange transactions directly from your business dashboard.
API Information
Title | Valas v2.0 |
---|---|
Version |
v2.0 |
URL Sandbox |
https://sandbox.partner.api.bri.co.id |
URL Production |
https://partner.api.bri.co.id |
Version Control
Versi Doc | Versi API | Date | Link to Document | Description |
---|---|---|---|---|
v1.0 |
v2.0 |
14 Oct 2022 |
this pages |
Baseline Version |
v1.1 |
v2.0 |
22 Dec 2022 |
this pages |
Added mandatory info and length fields to the request structure of all endpoints |
v1.2 | v2.0 | 30 Mar 2023 | this pages | Adding RC 4038209 "Dormant Account" to the Endpoint of Transaction Valas and Transaction Valas Non-Nego |
v1.3 | v2.0 | 19 May 2023 | this pages | Adding RC 4038215 "Transaction Not Permitted. Duplicate Jurnal Sequence" to the Endpoint of Transaction Valas and Transaction Valas Non-Nego |
v1.4 | v2.0 | 07 Aug 2023 | this pages | Changing the mandatory "M" to "O" in the originalPartnerReferenceNo field for the Inquiry Transaction endpoint |
Product Description
Product Overview
This document aims to explain the Valas 2.0 API specification with endpoint details as follows:
- Get Token
- Valas Nego Info
- Check Deal Code
- Transaction Valas
- Transaction Valas Non Nego
- Inquiry Transaction
- Inquiry Limit
- Info Kurs Counter
- Upload Underlying
Flow API
A. Info Kurs Counter
Endpoint Description
API Info Kurs Counter used to get single counter exchange rate info
General Informasi
HTTP Method | POST |
---|---|
Path | /v2.0/valas-info/kurs-counter |
Type Format | JSON |
Authentication | OAuth 2.0 |
Header Structure
Key |
value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
Content-Type |
application/json |
M |
- |
|
|
Authorization |
Bearer {token} |
M |
- |
Token OAuth 2.0 |
|
BRI-Signature |
|
M |
64 |
Signature |
|
BRI-Timestamp |
|
M |
- |
Timestamp Timestamp the time you called the API. The time format used refers to the ISO 8601 format (yyyy-MMddTHH:mm:ss.SSSZ). The time must be in UTC zero. |
2020-01- 15T17:01: 11+07:00 |
partnerCode |
|
M |
- |
Partner code |
rxEG1EMYHQ ZMgb3 |
Request Structure
Key |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
dealtCurrency |
string |
M |
3 |
|
USD |
counterCurrency |
string |
M |
3 |
|
IDR |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
string |
|
|
Response Code |
2008200 |
responseMessage |
string |
|
|
Response Message |
Successful |
data |
Object |
|
|
Details of the object data fields are in the table below. |
|
Response Structure in Object "data"
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
currency |
String |
|
|
|
USD |
counterBuy |
String |
|
|
|
13955.0000 |
counterSell |
String |
|
|
|
14105.0000 |
LastestUpdate |
String |
|
|
|
2022-12-02T13:28:22.1 |
Request & Response Payload Sample
Request :
{ "dealtCurrency": "USD", "counterCurrency": "IDR" }
Normal Response :
{ "responseCode": "2008200", "responseMessage": "Successful", "data": { "currency": "USD", "counterBuy": "13955.0000", "counterSell": "14105.0000", "LastestUpdate": "2022-12-02T13:28:22.1" } }
Erorr Response :
{ "responseCode": "4008201", "responseMessage": "Invalid Field Format dealtCurrency" }
List of Error/Response Code
HTTP Status |
Response Code |
Status |
Response Message |
Description |
---|---|---|---|---|
200 |
2008200 |
Success |
Successful |
Success |
400 |
0601 |
Failed |
Invalid Token |
|
400 |
0602 |
Failed |
Invalid Signature |
|
400 |
0109 |
Failed |
Invalid request parameter |
|
400 |
4008201 |
Failed |
Invalid Mandatory Field {field name} |
|
400 |
4008202 |
Failed |
Invalid Field Format {field name} |
Request length, format does not match |
401 |
4018200 |
Failed |
Unauthorized Client |
|
400 |
4008200 |
Failed |
Bad Request |
|
404 |
4048201 |
Failed |
Transaction Not Found |
|
403 |
4038215 |
Failed |
Transaction Not Permitted.Currency Pair Not Found |
Currency List is not registered on the Backend |
504 |
5048200 |
Failed |
Timeout | Response time exceeds the timeout limit in apigee (55s) and service |
500 |
5008200 |
Failed |
General Error |
|
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.
B.Valas Nego Info
Endpoint Description
API Valas Nego Info was used to obtain a single information negotiable exchange without the use of a dealcode.
General Information
HTTP Method | POST |
---|---|
Path | /v2.0/valas-info/kurs-nego |
Type Format | JSON |
Authentication | OAuth 2.0 |
Header Structure
Key | Value | Mandatory | Length | Description | Example |
---|---|---|---|---|---|
Content-Type |
application/json |
M |
- |
|
|
Authorization |
Bearer {token} |
M |
- |
Token OAuth 2.0 |
|
BRI-Signature |
|
M |
64 |
Signature |
|
BRI-Timestamp |
|
M |
- |
Timestamp Timestamp the time you called the API. The time format used refers to the ISO 8601 format (yyyy-MMddTHH:mm:ss.SSSZ). The time must be in UTC zero. |
2020-01- 15T17:01: 11+07:00 |
partnerCode |
|
M |
- |
Partner code |
rxEG1EMYHQ ZMgb3 |
Request Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
dealtCurrency |
String |
M |
3 |
|
USD |
counterCurrency |
String |
M |
3 |
|
IDR |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
|
|
Response code |
2008200 |
responseMessage |
String |
|
|
Response message |
Successful |
data |
Object |
|
|
Details of the object data fields are in the table below. |
|
Response Structure in object"data"
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
currencyPair |
String |
|
|
|
USD-IDR |
currency1 |
String |
|
|
|
UDR |
currency2 |
String |
|
|
|
IDR |
buy |
String |
|
|
|
15669.0000 |
sell |
String |
|
|
|
15669.0000 |
lastestUpdate |
String |
|
|
|
2022-11-30T16:31:24.26 |
Request & Response Payload Sample
Request :
{ "dealtCurrency" : "USD", "counterCurrency" : "IDR" }
Normal Response :
{ "responseCode": "2008200", "responseMessage": "Successful", "data": { "currencyPair ": "USD-IDR", "currency1": "USD", "currency2": "IDR", "counterBuy": "15669.0000", "counterSell": "15689.0000", "LastestUpdate": "2022-11-30T16:31:24.26" } }
Erorr Response :
{ "responseCode": "4008201", "responseMessage": "Invalid Field Format dealtCurrency" }
List of Error/Response Code
HTTP Status |
Response Code |
Status |
Response Message |
Description |
---|---|---|---|---|
200 |
2008200 |
Success |
Successful |
Success |
400 |
0601 |
Failed |
Invalid Token |
|
400 |
0602 |
Failed |
Invalid Signature |
|
400 |
0109 |
Failed |
Invalid request parameter |
|
400 |
4008201 |
Failed |
Invalid Mandatory Field {field name} |
|
400 |
4008202 |
Failed |
Invalid Field Format {field name} |
Request length, format does not match |
401 |
4018200 |
Failed |
Unauthorized Client |
|
400 |
4008200 |
Failed |
Bad Request |
|
404 |
4048201 |
Failed |
Transaction Not Found |
|
403 |
4038215 |
Failed |
Transaction Not Permitted.Currency Pair Not Found |
Currency List is not registered on the backend side (ESB) |
504 |
5048200 |
Failed | Timeout |
Response time exceeds the timeout limit in apigee (55s) and service |
500 |
5008200 |
Failed |
General Error |
|
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.
C. Check Deal Code
Endpoint Description
API Check Deal Code used for inquiry dealcode to briefx
General Information
HTTP Method | POST |
---|---|
Path | /v2.0/valas-transaction/nego/dealcode |
Type Format | JSON |
Authentication | OAuth 2.0 |
Header Structure
Key | Value | Mandatory | Length | Description | Example |
---|---|---|---|---|---|
Content-Type |
application/json |
M |
- |
|
|
Authorization |
Bearer {token} |
M |
- |
Token OAuth 2.0 |
|
BRI-Signature |
|
M |
64 |
Signature |
|
BRI-Timestamp |
|
M |
- |
Timestamp Timestamp the time you called the API. The time format used refers to the ISO 8601 format (yyyy-MMddTHH:mm:ss.SSSZ). The time must be in UTC zero. |
2020-01- 15T17:01: 11+07:00 |
partnerCode |
|
M |
- |
Partner code |
rxEG1EMYHQ ZMgb3 |
Request Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
dealCode |
String |
M |
|
|
O0003540 |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
M |
|
Response code |
2008200 |
responseMessage |
String |
M |
|
Response message |
Successful |
data |
Object |
M |
|
Details of the object data fields are in the table below. |
|
Response Structure in object"data"
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
dealNumber |
String |
M |
|
|
O0761674 |
dealDate |
String |
M |
|
|
2022-12-05T10:29:07.067 |
valueDate |
String |
M |
|
|
2022-12-05T00:00:00 |
debitCurrency |
String |
M |
|
|
USD |
creditCurrency |
String |
M |
|
|
EUR |
debitAmount |
Numerric |
M |
|
|
12.27 |
creditAmount |
Numerric |
M |
|
|
10.00 |
dealRate |
Numerric |
M |
|
|
1.2273 |
buyRate |
Numerric |
M |
|
|
13819.8280 |
sellRate |
Numerric |
M |
|
|
16961.0750 |
timeExpired |
String |
M |
|
|
2022-12-05T23:45:00 |
Request & Response Payload Sample
Request :
{ "dealCode" : "O0003540" }
Normal Response :
{ "responseCode": "2008200", "responseMessage": "Successful", "data": { "dealNumber": "O0761674", "dealDate": "2022-12-05T10:29:07.067", "valueDate": "2022-12-05T00:00:00", "debitCurrency": "USD", "creditCurrency": "EUR", "debitAmount": "12.27", "creditAmount": "10.00", "dealRate": "1.2273", "buyRate": "13819.8280", "sellRate": "16961.0750", "timeExpired": "2022-12-05T23:45:00" } }
Erorr Response :
{ "responseCode": "4008222", "responseMessage": "Dealcode Expired" }
List of Error/Response Code
HTTP Status |
Response Code |
Status |
Response Message |
Description |
---|---|---|---|---|
200 |
2008200 |
Success |
Successful |
Success |
400 |
0601 |
Failed |
Invalid Token |
|
400 |
0602 |
Failed |
Invalid Signature |
|
400 |
0109 |
Failed |
Invalid request parameter |
|
400 |
4008201 |
Failed |
Invalid Mandatory Field {field name} |
|
400 |
4008202 |
Failed |
Invalid Field Format {field name} |
Request length, format does not match |
400 |
4008200 |
Failed |
Bad Request |
|
401 |
4018200 |
Failed |
Unauthorized Client |
|
400 |
4008222 |
Failed |
Dealcode Expired |
|
403 |
4038215 |
Failed |
Transaction Not Permitted.dealcode already used |
Backend response parameter "status" has the value "SLU", "SK", "STOK", "GK" or other than the status "IN" and the status mentioned. |
403 |
4038215 |
Failed |
Transaction Not Permitted.value date does not match today’s date |
Transactions on dealCode are not for the specified day. |
403 |
4038215 |
Failed |
Transaction Not Permitted. Inquiry Delcode Failed. |
dealCode does not exist. |
504 |
5048200 |
Failed |
Timeout | Response time exceeds the timeout limit in apigee (55s) and service |
500 |
5008200 |
Failed |
General Error |
|
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.
D. Transaction Valas
Endpoint Description
API Transaction Valas used to make foreign exchange transactions based on the rate that existed at the time
General Information
HTTP Method | POST |
---|---|
Path | /v2.0/valas-transaction/nego |
Type Format | JSON |
Authentication | OAuth 2.0 |
Header Structure
Key | Value | Mandatory | Length | Description | Example |
---|---|---|---|---|---|
Content-Type |
application/json |
M |
- |
|
|
Authorization |
Bearer {token} |
M |
- |
Token OAuth 2.0 |
|
BRI-Signature |
|
M |
64 |
Signature |
|
BRI-Timestamp |
|
M |
- |
Timestamp Timestamp the time you called the API. The time format used refers to the ISO 8601 format (yyyy-MMddTHH:mm:ss.SSSZ). The time must be in UTC zero. |
2020-01- 15T17:01: 11+07:00 |
partnerCode |
|
M |
- |
Partner code |
rxEG1EMYHQ ZMgb3 |
Request Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
debitAccount |
String |
M |
15 |
|
030702000141509 |
creditAccount |
String |
M |
15 |
|
034401083104504 |
dealCode |
String |
M |
|
|
O0003540 |
remark |
String |
|
15 |
|
374628374 |
partnerReferenceNo |
String |
M |
64 |
|
374628374 |
underlyingReference |
String |
C |
|
|
|
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
|
|
Response code |
2008200 |
responseMessage |
String |
|
|
Response message |
Successful |
data |
Object |
|
|
Details of the object data fields are in the table below. |
|
Response Structure in object"data"
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
referenceNo |
String |
|
|
|
8757771 |
partnerReferenceNo |
String |
|
|
|
6278163827789 |
dealCode |
String |
|
|
|
O0003540 |
buy |
String |
|
|
|
14000.00 |
sell |
String |
|
|
|
1.00 |
debitAmount |
String |
|
|
|
11.00 |
creditAmount |
String |
|
|
|
154000.00 |
remark |
String |
|
|
|
374628374 |
Request & Response Payload Sample
Request :
{ "debitAccount": "030702000141509", "creditAccount": "034401083104504", "dealCode": "O0003540", "remark": "374628374", "partnerReferenceNo": "6278163827789", "underlyingReference": ""/CONDITIONAL }
Normal Response :
{ "responseCode": "2008200", "responseMessage": "Successful", "data": { "referenceNo": "8759384", "partnerReferenceNo": "6278163827813", "dealCode": "O0003540", "buy": "14000.00", "sell": "1.00", "debitAmount": "11.00", "creditAmount": "154000.00", "remark": "374628374" } }
Erorr Response :
{ "responseCode": "4038215", "responseMessage": "Transaction Not Permitted. Inquiry Failed" }
List of Error/Response Code
HTTP Status |
Response Code |
Status |
Response Message |
Description |
---|---|---|---|---|
200 |
2008200 |
Success |
Successful |
Sukses |
400 |
0601 |
Failed |
Invalid Token |
|
400 |
0602 |
Failed |
Invalid Signature |
|
400 |
0109 |
Failed |
Invalid request parameter |
|
400 |
4008201 |
Failed |
Invalid Mandatory Field {field name} |
|
400 |
4008202 |
Failed |
Invalid Field Format {field name} |
Request length, format does not match |
400 |
4008200 |
Failed |
Bad Request |
|
401 |
4018200 |
Failed |
Unauthorized Client |
|
400 |
4018200 |
Failed |
Dealcode Expired |
|
403 |
4038215 |
Failed |
Transaction Not Permitted.dealcode already used |
Backend response parameter "status" has the value "SLU", "SK", "STOK", "GK" or other than the status "IN" and the status mentioned. |
403 |
4038215 |
Failed |
Transaction Not Permitted.value date does not match today’s date |
Transactions on dealCode are not for the specified day. |
403 |
4038215 |
Failed |
Transaction Not Permitted. Inquiry Delcode Failed. |
dealCode not exist |
403 |
4038218 |
Failed |
Inactive Account |
debitAccount or creditAccount is no longer active or the Account Cannot Be Withdrawn |
403 |
4038206 |
Failed |
Feature Not Allowed At This Time. Must Upload Underlying |
Transactions that exceed the limit must upload the underlying |
404 |
4048211 |
Failed |
Invalid Account |
debitAccount / creditAccount entered is invalid |
404 |
4048245 |
Failed |
debitAccount Not Found |
debitAccount not found |
400 |
4008224 |
Failed |
Transaction Over Limit |
Exceeding the limit to make transactions |
404 |
4048241 |
Failed |
Invalid underlyingReference |
Missing input underlyingReference |
404 |
4048242 |
Failed |
Expired underlyingReference |
underlyingReference active period has ended (1 day) |
404 |
4048243 |
Failed |
underlyingReference already in uses |
underlyingReference is already in used |
403 |
4038214 |
Failed |
Insufficient Funds |
Insufficient balance |
403 |
4038215 |
Failed |
Transaction Not Permitted. Currency discrepency |
The debit account or credit account requested does not match the currency entered. |
403 |
4038215 |
Failed |
Transaction Not Permitted.Transaction is not supported |
The transaction cannot be forwarded. |
400 |
4008213 |
Failed |
Invalid BRI External ID |
Duplicate BRI EXTERNAL ID in the header |
409 |
4098201 |
Failed |
Duplicate partnerReferenceNo |
partnerReferenceNo has already been used (it must be unique) |
504 |
5048200 |
Failed |
Timeout | Response time exceeds the timeout limit in apigee (55s) and service |
500 |
5008200 |
Failed |
General Error |
|
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.
E. Transaction Valas Non Nego
Endpoint Description
API Transaction Valas Non Nego used to make foreign exchange transactions based on the rate that existed at that time.
General Information
HTTP Method | POST |
---|---|
Path | /v2.0/valas-transaction/counter |
Type Format | JSON |
Authentication | OAuth 2.0 |
Header Structure
Key | Value | Mandatory | Length | Description | Example |
---|---|---|---|---|---|
Content-Type |
application/json |
M |
- |
|
|
Authorization |
Bearer {token} |
M |
- |
Token OAuth 2.0 |
|
BRI-Signature |
|
M |
64 |
Signature |
|
BRI-Timestamp |
|
M |
- |
Timestamp Timestamp the time you called the API. The time format used refers to the ISO 8601 format (yyyy-MMddTHH:mm:ss.SSSZ). The time must be in UTC zero. |
2020-01- 15T17:01: 11+07:00 |
partnerCode |
|
M |
- |
Partner code |
rxEG1EMYHQ ZMgb3 |
Request Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
debitAccount |
String |
M |
15 |
|
030702000141509 |
creditAccount |
String |
M |
15 |
|
034401083104504 |
debitCurrency |
String |
M |
3 |
|
USD |
creditCurrency |
String |
M |
3 |
|
IDR |
debitAmount |
String |
M |
|
|
3.00 |
remark |
String |
|
15 |
|
374628374 |
partnerReferenceNo |
String |
M |
64 |
|
6278163827120 |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
|
|
Response code |
2008200 |
responseMessage |
String |
|
|
Response message |
Successful |
data |
Object |
|
|
Details of the object data fields are in the table below. |
|
Response Structure in object"data"
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
referenceNo |
String |
|
|
|
8759248 |
partnerReferenceNo |
String |
|
|
|
6278163827789 |
buy |
String |
|
|
|
13955.00 |
sell |
String |
|
|
|
1.00 |
DebitAmount |
String |
|
|
|
3.00 |
CreditAmount |
String |
|
|
|
41865.00 |
remark |
String |
|
|
|
374628374 |
Request & Response Payload Sample
Request :
{ "debitAccount": "030702000141509", "creditAccount": "034401083104504", "debitCurrency": "USD", "creditCurrency": "IDR", "debitAmount": "3.00", "remark": "374628374", "partnerReferenceNo": "6278163827120", }
Normal Response :
{ "responseCode": "2008200", "responseMessage": "Successful", "data": { "referenceNo": "8759248", "partnerReferenceNo": "6278163827120", "buy": "13955.00", "sell": "1.00", "DebitAmount": "3.00", "CreditAmount": "41865.00", "remark": "374628374" } }
Erorr Response :
{ "responseCode": "4098201", "responseMessage": "Duplicate partnerReferenceNo" }
List of Error/Response Code
HTTP Status |
Response Code |
Status |
Response Message |
Description |
---|---|---|---|---|
200 |
2008200 |
Success |
Successful |
Success |
400 |
0601 |
Failed |
Invalid Token |
|
400 |
0602 |
Failed |
Invalid Signature |
|
400 |
0109 |
Failed |
Invalid request parameter |
|
400 |
4008201 |
Failed |
Invalid Mandatory Field {field name} |
|
400 |
4008202 |
Failed |
Invalid Field Format {field name} |
Request length, format does not match. |
400 |
4008200 |
Failed |
Bad Request |
|
401 |
4018200 |
Failed |
Unauthorized Client |
|
404 |
4048245 |
Failed |
debitAccount Not Found |
debitAccount not found |
400 |
4008224 |
Failed |
Transaction Over Limit |
The transaction cannot be forwarded. |
403 |
4038214 |
Failed |
Insufficient Funds |
Insufficient balance |
403 |
4038215 |
Failed |
Transaction Not Permitted.Currency discrepency |
The debit account/credit account requested does not match the currency entered. |
403 |
4038215 |
Failed |
Transaction Not Permitted.Transaction is not supported |
The transaction cannot be forwarded. |
400 |
4008213 |
Failed |
Invalid BRI External ID |
Duplicate BRI EXTERNAL ID in the header |
403 |
4038215 |
Failed |
Transaction Not Permitted.Unused Parameter |
There is a creditAmount field in the body of the request |
404 |
4048213 |
Failed |
Invalid Amount |
Input debitAmount “0” or less than 1 |
404 |
4048211 |
Failed |
Invalid Account |
debitAccount / creditAccount entered is invalid |
403 |
4038218 |
Failed |
Inactive Account |
debitAccount or creditAccount is no longer active |
409 |
4098201 |
Failed |
Duplicate partnerReferenceNo |
partnerReferenceNo has already been used (it must be unique). |
504 |
5048200 |
Failed |
Timeout | Response time exceeds the timeout limit in apigee (55s) and service |
500 |
5008200 |
Failed |
General Error |
|
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.
F. Inquiry Transaction
Endpoint Description
API Inquiry Transaction used to make inquiries about foreign exchange transactions that have been made
General Information
HTTP Method | POST |
---|---|
Path | /v2.0/valas-transaction/inquiry |
Type Format | JSON |
Authentication | OAuth 2.0 |
Header Structure
Key | Value | Mandatory | Length | Description | Example |
---|---|---|---|---|---|
Content-Type |
application/json |
M |
- |
|
|
Authorization |
Bearer {token} |
M |
- |
Token OAuth 2.0 |
|
BRI-Signature |
|
M |
64 |
Signature |
|
BRI-Timestamp |
|
M |
- |
Timestamp Timestamp the time you called the API. The time format used refers to the ISO 8601 format (yyyy-MMddTHH:mm:ss.SSSZ). The time must be in UTC zero. |
2020-01- 15T17:01: 11+07:00 |
partnerCode |
|
M |
- |
Partner code |
rxEG1EMYHQ ZMgb3 |
Request Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
originalPartnerReferenceNo |
String |
O |
64 |
|
6278163827789 |
originalReferenceNo |
String |
M |
64 |
|
8757771 |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
|
|
Response code |
2008200 |
responseMessage |
String |
|
|
Response message |
Successful |
data |
Object |
|
|
Details of the object data fields are in the table below. |
|
Response Structure in object"data"
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
originalPartnerReferenceNo |
String |
|
|
|
62791638699848 |
originalReferenceNo |
String |
|
|
|
7540140 |
dealCode |
String |
|
|
|
AP60136176 |
buy |
String |
|
|
|
10698.2569 |
sell |
String |
|
|
|
126.9504 |
amount |
String |
|
|
|
100979.86 |
remark |
String |
|
|
|
3746283742343454555445567788776 5544345671234512345123451234561 23 |
originalTransactionStatusCode |
String |
|
|
|
00 |
originalTransactionStatus |
String |
|
|
|
Transaction approved |
debitAmount |
String |
|
|
|
100979.86 |
creditAmount |
String |
|
|
|
84344627.11 |
Request & Response Payload Sample
Request :
{ "originalPartnerReferenceNo": "6278163827789", "originalReferenceNo": "8757771" }
Normal Response :
{ "responseCode": "2008200", "responseMessage": "Successful", "data": { "originalPartnerReferenceNo": "62791638699848", "originalReferenceNo": "7540140", "dealCode": "AP60136176", "buy": "10698.2569", "sell": "126.9504", "debitAmount": "100979.86", "creditAmount": "84344627.11", "remark": "3746283742343454555445567788776554434567123451234512345123456123", "originalTransactionStatusCode": "00", "originalTransactionStatus": "Transaction approved" } }
Erorr Response :
{ "responseCode": "4048201", "responseMessage": "Transaction Not Found" }
List of Error/Response Code
HTTP Status |
Response Code |
Status |
Response Message |
Description |
---|---|---|---|---|
200 |
2008200 |
Success |
Successful |
Success |
400 |
0601 |
Failed |
Invalid Token |
|
400 |
0602 |
Failed |
Invalid Signature |
|
400 |
0109 |
Failed |
Invalid request parameter |
|
400 |
4008201 |
Failed |
Invalid Mandatory Field {field name} |
|
400 |
4008202 |
Failed |
Invalid Field Format {field name} |
Request length, format does not match. |
400 |
4008200 |
Failed |
Bad Request |
|
401 |
4018200 |
Failed |
Unauthorized Client |
|
404 |
4048201 |
Failed |
Transaction Not Found |
originalPartnerReferenceNo & originalRefrenceNo not found |
504 |
5048200 |
Failed |
Timeout | Response time exceeds the timeout limit in apigee (55s) and service |
500 |
5008200 |
Failed |
General Error |
|
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.
G. Inquiry Limit
Endpoint Description
API Inquiry Limit used to check the customer's daily limit.
General Information
HTTP Method | POST |
---|---|
Path | /v2.0/valas-transaction/inquiry-limit |
Type Format | JSON |
Authentication | OAuth 2.0 |
Header Structure
Key | Value | Mandatory | Length | Description | Contoh |
---|---|---|---|---|---|
Content-Type |
application/json |
M |
- |
|
|
Authorization |
Bearer {token} |
M |
- |
Token OAuth 2.0 |
|
BRI-Signature |
|
M |
64 |
Signature |
|
BRI-Timestamp |
|
M |
- |
Timestamp Timestamp the time you called the API. The time format used refers to the ISO 8601 format (yyyy-MMddTHH:mm:ss.SSSZ). The time must be in UTC zero. |
2020-01- 15T17:01: 11+07:00 |
partnerCode |
|
M |
- |
Partner code |
rxEG1EMYHQ ZMgb3 |
Request Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
debitAccount |
String |
M |
15 |
|
020602000008513 |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
|
|
Response code |
2008200 |
responseMessage |
String |
|
|
Response message |
Successful |
data |
object |
|
|
Details of the object data fields are in the table below. |
|
Response Structure in object"data"
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
totalTransaction |
String |
|
|
|
0 |
underlyingThreshold |
String |
|
|
|
25000 |
underlyingFormulas |
String |
|
|
|
PER_BULAN |
Request & Response Payload Sample
Request :
{ "debitAccount": "020602000008513" }
Normal Response :
{ "responseCode": "2008200", "responseMessage": "Successful", "data": { "totalTransaction": 0, "underlyingThreshold": "25000", "underlyingFormulas": "PER_BULAN" } }
Erorr Response :
{ "responseCode": "4008202", "responseMessage": "Invalid Mandatory Field debitAccount" }
List of Error/Response Code
HTTP Status |
Response Code |
Status |
Response Message |
Description |
---|---|---|---|---|
200 |
2008200 |
Success |
Successful |
Success |
400 |
0601 |
Failed |
Invalid Token |
|
400 |
0602 |
Failed |
Invalid Signature |
|
400 |
0109 |
Failed |
Invalid request parameter |
|
400 |
4008201 |
Failed |
Invalid Mandatory Field {field name} |
|
400 |
4008202 |
Failed |
Invalid Field Format {field name} |
Request length, format does not match. |
400 |
4008200 |
Failed |
Bad Request |
|
401 |
4018200 |
Failed |
Unauthorized Client |
|
404 |
4048245 |
Failed |
debitAccount Not Found |
debitAccount not found |
504 |
5048200 |
Failed |
Timeout | Response time exceeds the timeout limit in apigee (55s) and service |
500 |
5008200 |
Failed |
General Error |
|
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.
H. Upload Underlying
Endpoint Description
API Upload used for uploading underlying files.
General Information
HTTP Method | POST |
---|---|
Path | /v2.0/valas-transaction/upload-underlying |
Type Format | JSON |
Authentication | OAuth 2.0 |
Header Structure
Key | Value | Mandatory | Length | Description | Contoh |
---|---|---|---|---|---|
Content-Type |
application/json |
M |
- |
|
|
Authorization |
Bearer {token} |
M |
- |
Token OAuth 2.0 |
|
BRI-Signature |
|
M |
64 |
Signature |
|
BRI-Timestamp |
|
M |
- |
Timestamp Timestamp the time you called the API. The time format used refers to the ISO 8601 format (yyyy-MMddTHH:mm:ss.SSSZ). The time must be in UTC zero. |
2020-01- 15T17:01: 11+07:00 |
partnerCode |
|
M |
- |
Partner code |
rxEG1EMYHQ ZMgb3 |
Request Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
fileData |
base64 |
M |
|
Files with a maximum size of 5MB |
{inputan base64}} |
fileName |
String |
M |
|
File name |
fileNameTest |
Response Structure
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
responseCode |
String |
|
|
Response code |
2008200 |
responseMessage |
String |
|
|
Response message |
Successful |
data |
object |
|
|
Details of the object data fields are in the table below. |
|
Response Structure in object"data"
Field |
Data Type |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
underlyingReference |
String |
|
|
|
1669089033515629956 |
Request & Response Payload Sample
Request :
curl --location --request POST 'https://sandbox.partner.api.bri.co.id/v2.0/valas/upload-underlying' \ --header 'BRI-Signature: {{signature}}' \ --header 'BRI-Timestamp: {{timestamp}}' \ --header 'Content-Type: application/json' \ --header 'partnerCode: rxEG1EMYHQZMgb3' \ --data-raw '{ "fileData": "{Inputan Base64}", "fileName": "fileNameTest" }'
Normal Response :
{ "responseCode": "2008200", "responseMessage": "Successful", "data": { "underlyingReference": "1669089033515629956" } }
Erorr Response :
{ "responseCode": "4008201", "responseMessage": "Invalid Field Format fileName" }
List of Error/Response Code
HTTP Status |
Response Code |
Status |
Response Message |
Description |
---|---|---|---|---|
200 |
2008200 |
Success |
Successful |
Success |
400 |
0601 |
Failed |
Invalid Token |
|
400 |
0602 |
Failed |
Invalid Signature |
|
400 |
0109 |
Failed |
Invalid request parameter |
|
400 |
4008201 |
Failed |
Invalid Mandatory Field {field name} |
|
400 |
4008202 |
Failed |
Invalid Field Format {field name} |
Request length, format does not match |
400 |
4008200 |
Failed |
Bad Request |
|
401 |
4018200 |
Failed |
Unauthorized Client |
|
403 |
4038215 |
Failed |
Transaction Not Permitted.Files too big |
Uploaded files exceed 10 MB |
403 |
4038215 |
Failed |
Transaction Not Permitted. Duplicate filename. |
Already Existing File Name |
413 |
- |
Failed |
Request Entity Too Large |
Uploaded files exceed 5 MB |
504 |
5048200 |
Failed |
Timeout | Response time exceeds the timeout limit in apigee (55s) and service |
500 |
5008200 |
Failed |
General Error |
|
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.