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

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

https://developers.bri.co.id/id/docs/authentication

 

BRI-Signature

 

M

 64

Signature

https://developers.bri.co.id/id/docs/authentication

 

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

  • Token does not match
  • Token empty
  • Token expired
  • Product has not been registered with devapps

400

0602

Failed

 Invalid Signature

  • Wrong signature
  • Invalid timestamp or timestamp difference
  • Incorrect payload for generating a signature

400

0109

Failed

 Invalid request parameter

  • Errors related to regex (SQL injection, etc.)
  • The length of the value exceeds the limit (> 10000000)
  • Array element count exceeded the limit (> 100).

400

4008201

Failed

 Invalid Mandatory Field {field name}

  • Request the missing mandatory field from Valas
  • Mandatory parameters are not camelCase.

400

4008202

Failed

 Invalid Field Format {field name}

Request length, format does not match

401

4018200

Failed

 Unauthorized Client

  • Request missing partnerCode does not match
  • partnerCode is not registered
  • The requested partnerCode does not match the partnerCode in the devapps apigee

400

4008200

Failed

Bad Request
  • Content-Type is not application/json
  • Json data doesn't fit json structure (Service MS)
  • Error when insert database

404

4048201

Failed

Transaction Not Found
  • Currency List Not Registered in Database
  • Response Message "No Data" Backend (BRIGATE)

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
  • General Error Backend
  • unexpected error
  • Service is off or not available
  • Error lists that are not remapped
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

https://developers.bri.co.id/id/docs/authentication

 

BRI-Signature

 

M

64

Signature

https://developers.bri.co.id/id/docs/authentication

 

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

  • Token does not match
  • Token empty
  • Token Expired
  • Product has not been registered with devapps

400

0602

Failed

 Invalid Signature

  • Wrong signature
  • Invalid timestamp or timestamp difference
  • Incorrect payload for generating a signature

400

0109

Failed

 Invalid request parameter

  • Errors related to regex (SQL injection, etc.)
  • The length of the value exceeds the limit (> 10000000).
  • Array element count exceeded the limit (> 100).

400

4008201

Failed

 Invalid Mandatory Field {field name}

  • Request the missing mandatory field from Valas

400

4008202

Failed

 Invalid Field Format {field name}

Request length, format does not match

401

4018200

Failed

 Unauthorized Client

  • Request missing partnerCode does not match
  • partnerCode is not registered
  • The requested partnerCode does not match the partnerCode in the devapps apigee

400

4008200

Failed

Bad Request
  • Content-Type is not application/json
  • Json data doesn't fit json structure (Service MS)
  • Error when insert DB

404

4048201

Failed

Transaction Not Found
  • Currency List not registered in Database
  • Response Message “No Data” Backend (ESB)

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
  • General Error Backend
  • unexpected error
  • Service is off or not available
  • Error lists that are not remapped
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

https://developers.bri.co.id/id/docs/authentication

 

BRI-Signature

 

M

64

Signature

https://developers.bri.co.id/id/docs/authentication

 

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

  • Token does not match
  • Token empty
  • Token Expired
  • Product has not been registered with devapps

400

0602

Failed

 Invalid Signature

  • Wrong signature
  • Invalid timestamp or timestamp difference
  • Incorrect payload for generating a signature

400

0109

Failed

 Invalid request parameter

  • Errors related to regex (SQL injection, etc.)
  • The length of the value exceeds the limit (> 10000000).
  • Array element count exceeded the limit (> 100).

400

4008201

Failed

 Invalid Mandatory Field {field name}

  • Request the missing mandatory field from Valas
  • Mandatory parameters are not camelCase.

400

4008202

Failed

 Invalid Field Format {field name}

Request length, format does not match

400

4008200

Failed

 Bad Request

  • Content-Type bukan application/json
  • Data Json tidak sesuai struktur json (Service MS)

401

4018200

Failed

 Unauthorized Client

  • Request missing partnerCode does not match
  • partnerCode is not registered
  • The requested partnerCode does not match the partnerCode in the devapps apigee

400

4008222

Failed

Dealcode Expired
  • Response Parameter "status" Backend has a status value "DE"
  • Time Expired exceeds the specified dealCode set time

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
  • General Error Backend
  • unexpected error
  • Service is off or not available
  • Error lists that are not remapped
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

https://developers.bri.co.id/id/docs/authentication

 

BRI-Signature

 

M

64

Signature

https://developers.bri.co.id/id/docs/authentication

 

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

  • Token does not match
  • Token empty
  • Token expired
  • Product has not been registered with devapps

400

0602

Failed

 Invalid Signature

  • Wrong signature
  • Invalid timestamp or timestamp difference
  • Incorrect payload for generating a signature

400

0109

Failed

 Invalid request parameter

  • Errors related to regex (SQL injection, etc.)
  • The length of the value exceeds the limit (> 10000000).
  • Array element count exceeded the limit (> 100).

400

4008201

Failed

 Invalid Mandatory Field {field name}

  • Request the missing mandatory field from Valas
  • Mandatory parameters are not camelCase.

400

4008202

Failed

 Invalid Field Format {field name}

Request length, format does not match

400

4008200

Failed

 Bad Request

  • Content-Type is not application/json
  • Json data doesn't fit json structure (Service MS)

401

4018200

Failed

 Unauthorized Client

  • Request missing partnerCode does not match
  • partnerCode is not registered
  • The requested partnerCode does not match the partnerCode in the devapps apigee

400

4018200

Failed

Dealcode Expired
  • Response Parameter "status" Backend has a status value "DE"
  • Time Expired exceeds the specified dealCode set time

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
  • General Error Backend
  • unexpected error
  • Service is off or not available.
  • Error lists that are not remapped
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

https://developers.bri.co.id/id/docs/authentication

 

BRI-Signature

 

M

64

Signature

https://developers.bri.co.id/id/docs/authentication

 

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

  • Token does not match
  • Token empty
  • Token Expired
  • Product has not been registered with devapps

400

0602

Failed

 Invalid Signature

  • Wrong signature
  • Invalid timestamp or timestamp difference
  • Incorrect payload for generating a signature

400

0109

Failed

 Invalid request parameter

  • Errors related to regex (SQL injection, etc.)
  • The length of the value exceeds the limit (> 10000000)
  • Array element count exceeded the limit (> 100).

400

4008201

Failed

 Invalid Mandatory Field {field name}

  • Request the missing mandatory field from Valas
  • Mandatory parameters are not camelCase.

400

4008202

Failed

 Invalid Field Format {field name}

Request length, format does not match.

400

4008200

Failed

 Bad Request

  • Content-Type is not application/json
  • Json data doesn't fit json structure (Service MS)

401

4018200

Failed

 Unauthorized Client

  • Request missing partnerCode does not match
  • partnerCode is not registered
  • The requested partnerCode does not match the partnerCode in the devapps apigee

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
  • General Error Backend
  • Unexpected error
  • Service is off or not available
  • Error lists that are not remapped
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

https://developers.bri.co.id/id/docs/authentication

 

BRI-Signature

 

M

64

Signature

https://developers.bri.co.id/id/docs/authentication

 

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

  • Token does not match
  • Token empty
  • Token expired
  • Product has not been registered with devapps

400

0602

Failed

 Invalid Signature

  • Wrong signature
  • Invalid timestamp or timestamp difference
  • Incorrect payload for generating a signature

400

0109

Failed

 Invalid request parameter

  • Errors related to regex (SQL injection, etc.)
  • The length of the value exceeds the limit (> 10000000).
  • Array element count exceeded the limit (> 100).

400

4008201

Failed

 Invalid Mandatory Field {field name}

  • Request the missing mandatory field from Valas
  • Mandatory parameters are not camelCase.

400

4008202

Failed

 Invalid Field Format {field name}

Request length, format does not match.

400

4008200

Failed

 Bad Request

  • Content-Type is not application/json
  • Json data doesn't fit json structure (Service MS)

401

4018200

Failed

 Unauthorized Client

  • Request missing partnerCode does not match
  • partnerCode is not registered
  • The requested partnerCode does not match the partnerCode in the devapps apigee

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
  • General Error Backend
  • Unexpected error
  • Service is off or not available
  • Error lists that are not remapped
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

https://developers.bri.co.id/id/docs/authentication

 

BRI-Signature

 

M

64

Signature

https://developers.bri.co.id/id/docs/authentication

 

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

  • Token does not match
  • Token empty
  • Token expired
  • Product has not been registered with devapps

400

0602

Failed

 Invalid Signature

  • Wrong signature
  • Invalid timestamp or timestamp difference
  • Incorrect payload for generating a signature

400

0109

Failed

 Invalid request parameter

  • Errors related to regex (SQL injection, etc.)
  • The length of the value exceeds the limit (> 10000000).
  • Array element count exceeded the limit (> 100).

400

4008201

Failed

 Invalid Mandatory Field {field name}

  • Request the missing mandatory field from Valas
  • Mandatory parameters are not camelCase.

400

4008202

Failed

 Invalid Field Format {field name}

Request length, format does not match.

400

4008200

Failed

 Bad Request

  • Content-Type is not application/json
  • Json data doesn't fit json structure (Service MS)

401

4018200

Failed

 Unauthorized Client

  • Request missing partnerCode does not match
  • partnerCode is not registered
  • The requested partnerCode does not match the partnerCode in the devapps apigee

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
  • General Error Backend
  • Unexpected error
  • Service is off or not available
  • Error lists that are not remapped
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

https://developers.bri.co.id/id/docs/authentication

 

BRI-Signature

 

M

64

Signature

https://developers.bri.co.id/id/docs/authentication

 

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

  • Token does not match
  • Token empty
  • Token expired
  • Product has not been registered with devapps

400

0602

Failed

 Invalid Signature

  • Wrong signature
  • Invalid timestamp or timestamp difference
  • Incorrect payload for generating a signature

400

0109

Failed

 Invalid request parameter

  • Errors related to regex (SQL injection, etc.)
  • The length of the value exceeds the limit (> 10000000).
  • Array element count exceeded the limit (> 100).

400

4008201

Failed

 Invalid Mandatory Field {field name}

  • Request the missing mandatory field from Valas
  • Mandatory parameters are not camelCase.

400

4008202

Failed

 Invalid Field Format {field name}

Request length, format does not match

400

4008200

Failed

 Bad Request

  • Content-Type is not application/json
  • Json data doesn't fit json structure (Service MS)

401

4018200

Failed

 Unauthorized Client

  • Request missing partnerCode does not match
  • partnerCode is not registered
  • The requested partnerCode does not match the partnerCode in the devapps apigee

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
  • General Error Backend
  • Unexpected error
  • Service is off or not available.
  • Error lists that are not remapped
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.