Briva
Starting from 1 November 2023, this product will no longer receive support for development. Users can utilize SNAP BI version of the product here
What is BRIVA?
Consumers are adopting digital financial services more than before, putting digital payment on the rise. We no longer need to go to bank offices, ATM, or wait for hours to complete transactions, now all are digital and instantly done within a few clicks. From many digital payment methods offered, Virtual Account is the easiest.
Virtual Account is an identification number generated by a bank on behalf of a company to be given to the customers in order to make transactions online. BRI offers this payment feature through BRI Virtual Account or known as BRIVA.
You can implement BRIVA features into your digital business through BRIVA API in BRIAPI. With BRIVA API, your customers can utilize BRI Virtual Account functions for payments in your digital business app for simpler, easier, and faster transactions.
BRIVA API has more advantages than the manual bank transfer. Let’s say, if you run an e-commerce website, BRIVA API will help you to detect and verify payments automatically in real-time by the system. Your customers are no longer need to confirm or share proof of payments manually. With this API, all transactions will be done within a few clicks!
What are the uses of BRIVA API?
If your digital business is engaged in e-commerce or marketplace, using the BRIVA API will facilitate all transactions that occur. This convenience will be felt by both business owners and consumers. Business owners will get information about any transactions that occur more easily and quickly. For example, the most basic is information about incoming funds and outgoing funds. Meanwhile, from the consumer side, the use of the BRIVA API will speed up the transaction process, because after the transfer there is no need to confirm the payment through sending the proof.
API Information
Title | BRIVA |
---|---|
Version | v1.0 |
URL Sandbox | https://sandbox.partner.api.bri.co.id/v1/briva |
URL Production | https://partner.api.bri.co.id/v1/briva |
Version Control
Doc Version | API Version | Date | Link to Document | Description |
---|---|---|---|---|
v1.0 | v1.0 | 1 February 2019 | This page | Initial version |
v1.1 | v1.0 | 30 July 2021 | This page |
|
v1.2 | v1.1 | 12 Juni 2023 | This Dokument | Changing expired date validation from 3 months to 60 months |
Product Description
This API allows you to use the BRI virtual account service (BRIVA) in order to make any financial activities easier, simpler and faster. This API also has more advantages compared to the manual transfer, for instance, you do not need to confirm the payment manually because it will be verified automatically.
Flow API
A. Create
Endpoint Description
This endpoint is used to create a new BRI virtual account.
General Information
HTTP Method | POST |
---|---|
Path | /v1/briva |
Tipe Format | JSON |
Authentication | OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
Authorization |
Bearer {token} |
Yes |
|
Access Token |
|
BRI-Timestamp |
|
Yes |
|
Timestamp in ISO8601 format |
|
BRI-Signature |
|
Yes |
64 |
Signature |
|
Content-Type |
application/json |
Yes |
|
|
|
Request Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
institutionCode |
String |
|
Yes |
This institution code will be given by BRI |
brivaNo |
Numeric |
5 |
Yes |
BRIVA number unique to your institution |
custCode |
String |
13 |
Yes |
Customer code generated by you, we recommend to use only 10 digits to enable pay BRIVA from another bank since the other 3 digits are needed for bank code |
nama |
String |
40 |
Yes |
Customer name for that BRIVA account number |
amount |
Numeric |
|
Yes |
Amount for that BRIVA account
Note: There cannot be a dot (.) or a comma (,) in the amount field |
keterangan |
String |
|
Yes |
Description for BRIVA |
expiredDate |
DateTime |
|
Yes |
Expiration date for that BRIVA account, format: yyyy-MM-dd HH:mm:ss
|
Response Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
status |
bool |
5 |
Yes |
True / False |
responseDescription |
String |
Yes |
Response Description |
|
responseCode |
String |
Yes |
Response Code |
|
statusBayar |
string |
Yes |
Payment status, Y means it is already paid and N means it is not already paid |
|
institutionCode |
String |
|
Yes |
This institution code will be given by BRI |
brivaNo |
Numeric |
5 |
Yes |
BRIVA number unique to your institution |
custCode |
String |
13 |
Yes |
Customer code generated by you, we recommend to use only 10 digits to enable pay BRIVA from another bank since the other 3 digits are needed for bank code |
nama |
String |
40 |
Yes |
Customer name for that BRIVA account number |
amount |
Numeric |
|
Yes |
Amount for that BRIVA account
Note: There cannot be a dot (.) or a comma (,) in the amount field |
keterangan |
String |
|
Yes |
Description for BRIVA |
expiredDate |
DateTime |
|
Yes |
Expiration date for that BRIVA account, format: yyyy-MM-dd HH:mm:ss |
Request & Response Payload Sample
Request :
curl --location --request POST 'https://sandbox.partner.api.bri.co.id/v1/briva' \ --header 'Content-Type: application/json' \ --header 'BRI-Timestamp: 2021-07-07T08:05:09.417Z' \ --header 'BRI-Signature: aNyXGyP26xxxx2be+dysMQJjJevkZua0Bjo=' \ --header 'Authorization: Bearer xMxxlgcJtlbmOH3otgev8SXZX' \ --data-raw '{ "institutionCode": "J104408", "brivaNo": "77777", "custCode": "1255", "nama": "John Doe", "amount": "20000", "keterangan": "", "expiredDate": "2019-10-29 09:57:26" }'
Normal Response :
{ "status": true, "responseDescription": "Success", "responseCode": "00", "data": { "institutionCode": "J104408", "brivaNo": "77777", "custCode": "123456789115", "nama": "John Doe", "amount": "100000", "keterangan": "BRIVA Testing", "expiredDate": "2019-02-27 23:59:00" } }
Error Response :
{ "status": false, "errDesc": "Data Customer Sudah Ada", "responseCode": "12", "data": { "institutionCode": "J104408", "brivaNo": "77777", "custCode": "1290055", "nama": "John Doe", "amount": "20000", "keterangan": "", "expiredDate": "2019-10-29 09:57:26" } }
B. Get
Endpoint Description
This endpoint is used to get the virtual account information that has been created.
General Information
HTTP Method | GET |
---|---|
Path | /v1/briva/{{INSTITUTION_CODE}}/{{BRIVA_NO}}/{{CUSTOMER_CODE} |
Tipe Format | JSON |
Authentication | OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
Authorization |
Bearer {token} |
Yes |
|
Access Token |
|
BRI-Timestamp |
|
Yes |
|
Timestamp in ISO8601 format |
|
BRI-Signature |
|
Yes |
64 |
Signature |
|
Content-Type |
application/json |
Yes |
|
|
|
Query Param Structure
Sample of HTTP request:
GET https://sandbox.partner.api.bri.co.id/v1/briva/{{INSTITUTION_CODE}}/{{BRIVA_NO}}/{{CUSTOMER_CODE}}
Request Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
INSTITUTION_CODE |
String |
|
Yes |
This institution code will be given by BRI |
BRIVA_NO |
Numeric |
5 |
Yes |
Briva number unique to your institution |
CUSTOMER_CODE |
String |
13 |
Yes |
Customer code generated by you, we recommend to use only 10 digits to enable pay BRIVA from another bank since the other 3 digits are needed for bank code |
Response Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
status |
bool |
5 |
Yes |
True / False |
responseDescription |
String |
Yes |
Response Description |
|
responseCode |
String |
Yes |
Response Code |
|
data |
Array |
Yes |
Contains empty if the response error is "Data":{} |
|
institutionCode |
String |
|
Yes |
This institution code will be given by BRI |
brivaNo |
Numeric |
5 |
Yes |
BRIVA number unique to your institution |
custCode |
String |
13 |
Yes |
Customer code generated by you, we recommend to use only 10 digits to enable pay BRIVA from another bank since the other 3 digits are needed for bank code |
nama |
String |
40 |
Yes |
Customer name for that BRIVA account number |
amount |
Numeric |
|
Yes |
Amount for that BRIVA account
Note: There cannot be a dot (.) or a comma (,) in the amount field |
keterangan |
String |
|
Yes |
Description for BRIVA |
statusBayar |
string |
Yes |
Payment status, Y means it is already paid and N means it is not already paid |
|
lastUpdate |
DateTime |
Yes |
Last update for data VA |
|
expiredDate |
DateTime |
|
Yes |
Expiration date for that BRIVA account, format: yyyy-MM-dd HH:mm:ss |
Request & Response Payload Sample
Request :
curl --location --request GET 'https://sandbox.partner.api.bri.co.id/v1/briva/J104408/77777/1290051235' \ --header 'BRI-Timestamp: 2021-07-07T08:12:33.710Z' \ --header 'BRI-Signature: zKxxxxvPC01UlCbN1/TXlGKMRHxWfE8Qag=' \ --header 'Authorization: Bearer xMbxPT4lgcJxxxH3otgev8SXZX'
Normal Response :
{ "status": true, "responseDescription": "Success", "responseCode": "00", "data": { "institutionCode": "J104408", "BrivaNo": "77777", "CustCode": "1290051235", "Nama": "John Doe", "Amount": "20000", "Keterangan": "", "statusBayar": "N", "expiredDate": "2019-10-29 09:57:26", "lastUpdate": null } }
Error Response :
{ "status": false, "errDesc": "Data Customer Tidak Ditemukan", "responseCode": "14", "data": { "institutionCode": "J104408", "brivaNo": "77777", "custCode": "1255" } }
C. Get Status
Endpoint Description
All BRIVA accounts have payment status. This endpoint is used to get the payment status from existing BRIVA accounts.
General Information
HTTP Method | GET |
---|---|
Path | /v1/briva/status/{{INSTITUTION_CODE}}/{{BRIVA_NO}}/{{CUSTOMER_CODE}} |
Tipe Format | JSON |
Authentication | OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
Authorization |
Bearer {token} |
Yes |
|
Access Token |
|
BRI-Timestamp |
|
Yes |
|
Timestamp in ISO8601 format |
|
BRI-Signature |
|
Yes |
64 |
Signature |
|
Content-Type |
application/json |
Yes |
|
|
|
Query Param Structure
Sample of HTTP request:
GET https://sandbox.partner.api.bri.co.id/v1/briva/status/{{INSTITUTION_CODE}}/{{BRIVA_NO}}/{{CUSTOMER_CODE}}
Request Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
INSTITUTION_CODE |
String |
|
Yes |
This institution code will be given by BRI |
BRIVA_NO |
Numeric |
5 |
Yes |
BRIVA number unique to your institution |
CUSTOMER_CODE |
String |
13 |
Yes |
Customer code generated by you, we recommend to use only 10 digits to enable pay BRIVA from another bank since the other 3 digits are needed for bank code |
Response Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
status |
bool |
5 |
Yes |
True / False |
responseDescription |
String |
Yes |
Response Description |
|
responseCode |
String |
Yes |
Response Code |
|
data |
Array |
Yes |
Contains empty if the response error is "Data":{} |
|
statusBayar |
string |
Yes |
Payment status, Y means it is already paid and N means it is not already paid |
Request & Response Payload Sample
Request :
curl --location --request GET 'https://sandbox.partner.api.bri.co.id/v1/briva/status/J104408/77777/63785523' \ --header 'BRI-Timestamp: 2021-07-13T05:10:06.666Z' \ --header 'BRI-Signature: O6yBbCZiXClkJ8E8shRNX7H9TZhqGiKy0PMW33+geno=' \ --header 'Authorization: Bearer b7G5hshkiLVwXoADc9GDvn39wjPP'
Normal Response :
{ "status": true, "responseDescription": "Success", "responseCode": "00", "data": { "statusBayar": "N" } }
Error Response :
{ "status": false, "errDesc": "Gagal mendapatkan data status bayar", "responseCode": "21" }
D. Update Status
Endpoint Description
This endpoint is used to manage the payment status of existing BRIVA accounts.
General Information
HTTP Method | PUT |
---|---|
Path | /v1/briva/status |
Tipe Format | JSON |
Authentication | OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
Authorization |
Bearer {token} |
Yes |
|
Access Token |
|
BRI-Timestamp |
|
Yes |
|
Timestamp in ISO8601 format |
|
BRI-Signature |
|
Yes |
64 |
Signature |
|
Content-Type |
application/json |
Yes |
|
|
|
Request Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
institutionCode |
String |
|
Yes |
This institution code will be given by BRI |
brivaNo |
Numeric |
5 |
Yes |
BRIVA number unique to your institution |
custCode |
String |
13 |
Yes |
Customer code generated by you, we recommend to use only 10 digits to enable pay BRIVA from another bank since the other 3 digits are needed for bank code |
statusBayar |
string |
T |
Yes |
Payment status, Y means it is already paid and N means it is not already paid |
Response Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
status |
bool |
5 |
Yes |
True / False |
responseDescription |
String |
Yes |
Response Description |
|
responseCode |
String |
Yes |
Response Code |
|
data |
Array |
Yes |
Contains empty if the response error is "Data":{} |
|
institutionCode |
String |
|
Yes |
This institution code will be given by BRI |
brivaNo |
Numeric |
5 |
Yes |
BRIVA number unique to your institution |
custCode |
String |
13 |
Yes |
Customer code generated by you, we recommend to use only 10 digits to enable pay BRIVA from another bank since the other 3 digits are needed for bank code |
statusBayar |
string |
Yes |
Payment status, Y means it is already paid and N means it is not already paid |
Request & Response Payload Sample
Request :
curl --location --request PUT 'https://sandbox.partner.api.bri.co.id/v1/briva/status' \ --header 'Content-Type: application/json' \ --header 'BRI-Timestamp: 2021-07-07T08:14:37.388Z' \ --header 'BRI-Signature: ESf8FyaDAuvml+6bYoWOfUyUNGGuPoe10slCAhOavrw=' \ --header 'Authorization: Bearer xMbxPT4lgcJtlbmOH3otgev8SXZX' \ --data-raw '{ "institutionCode": "J104408", "brivaNo": "77777", "custCode": "1255", "statusBayar": "N" }'
Normal Response :
{ "status": true, "responseDescription": "Success", "responseCode": "00", "data": { "institutionCode": "J104408", "brivaNo": "77777", "custCode": "123456789115", "statusBayar": "Y" } }
Error Response :
{ "status": false, "errDesc": "Data Customer Tidak Ditemukan", "responseCode": "14", "data": { "institutionCode": "J104408", "brivaNo": "77777", "custCode": "1255", "statusBayar": "N" } }
E. Update
Endpoint Description
This endpoint is used to update existing BRIVA account details.
General Information
HTTP Method | PUT |
---|---|
Path | /v1/briva |
Tipe Format | JSON |
Authentication | OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
Authorization |
Bearer {token} |
Yes |
|
Access Token |
|
BRI-Timestamp |
|
Yes |
|
Timestamp in ISO8601 format |
|
BRI-Signature |
|
Yes |
64 |
Signature |
|
Content-Type |
application/json |
Yes |
|
|
|
Request Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
institutionCode |
String |
|
Yes |
This institution code will be given by BRI |
brivaNo |
Numeric |
5 |
Yes |
BRIVA number unique to your institution |
custCode |
String |
13 |
Yes |
Customer code |
nama |
String |
40 |
Yes |
Customer name for that BRIVA account number |
amount |
Numeric |
|
Yes |
Amount for that BRIVA account
Note: There cannot be a dot (.) or a comma (,) in the amount field |
keterangan |
String |
|
Yes |
Description for BRIVA |
expiredDate |
DateTime |
|
Yes |
Expiration date for that BRIVA account, format: yyyy-MM-dd HH:mm:ss |
Response Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
status |
bool |
5 |
Yes |
True / False |
responseDescription |
String |
Yes |
Response Description |
|
responseCode |
String |
Yes |
Response Code |
|
data |
Array |
Yes |
Contains empty if the response error is "Data":{} |
|
institutionCode |
String |
|
Yes |
This institution code will be given by BRI |
brivaNo |
Numeric |
5 |
Yes |
BRIVA number unique to your institution |
custCode |
String |
13 |
Yes |
Customer code generated by you, we recommend to use only 10 digits to enable pay BRIVA from another bank since the other 3 digits are needed for bank code |
nama |
String |
40 |
Yes |
Customer name for that BRIVA account number |
amount |
Numeric |
|
Yes |
Amount for that BRIVA account
Note: There cannot be a dot (.) or a comma (,) in the amount field |
keterangan |
String |
|
Yes |
Description for BRIVA |
expiredDate |
DateTime |
|
Yes |
Expiration date for that BRIVA account, format: yyyy-MM-dd HH:mm:ss |
Request & Response Payload Sample
Request :
curl --location --request PUT 'https://sandbox.partner.api.bri.co.id/v1/briva' \ --header 'Content-Type: application/json' \ --header 'BRI-Timestamp: 2021-07-07T08:15:29.391Z' \ --header 'BRI-Signature: 0YWMXx6vEKwMm4V+xxxxxUPSsDJrPKlmSffL/OK74=' \ --header 'Authorization: Bearer xMbxPT4lgxxxxxxOH3otgev8SXZX' \ --data-raw '{ "institutionCode": "J104408", "brivaNo": "77777", "custCode": "1290051235", "nama": "John Doe", "amount": "1000000", "keterangan": "", "expiredDate": "2017-09-10 09:57:26" }'
Normal Response :
{ "status": true, "responseDescription": "Success", "responseCode": "00", "data": { "institutionCode": "J104408", "brivaNo": "77777", "custCode": "123456789115", "nama": "John Doe", "amount": "1000000", "keterangan": "BRIVA Testing", "expiredDate": "2020-03-10 23:59:00" } }
Error Response :
{ "status": false, "errDesc": "Data Customer Tidak Ditemukan", "responseCode": "14", "data": { "institutionCode": "J104408", "brivaNo": "77777", "custCode": "12900512351", "nama": "John Doe", "amount": "1000000", "keterangan": "", "expiredDate": "2017-09-10 09:57:26" } }
F. Delete
Endpoint Description
This endpoint is used to delete existing BRIVA data
General Information
HTTP Method | Delete |
---|---|
Path |
/v1/briva |
Tipe Format | Text/plain |
Authentication | OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
Authorization |
Bearer {token} |
Yes |
|
Access Token |
|
BRI-Timestamp |
|
Yes |
|
Timestamp in ISO8601 format |
|
BRI-Signature |
|
Yes |
64 |
Signature |
|
Content-Type |
Text/plain |
Yes |
|
|
|
Request Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
institutionCode |
String |
|
Yes |
This institution code will be given by BRI |
brivaNo |
Numeric |
5 |
Yes |
Briva number unique to your institution |
custCode |
String |
13 |
Yes |
Customer code generated by you, we recommend to use only 10 digits to enable pay BRIVA from another bank since the other 3 digits are needed for bank code |
Response Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
status |
bool |
5 |
Yes |
True / False |
responseDescription |
String |
Yes |
Response Description |
|
responseCode |
String |
Yes |
Response Code |
|
data |
Array |
Yes |
Contains empty if the response error is "Data":{} |
|
institutionCode |
String |
Yes |
This institution code will be given by BRI |
|
brivaNo |
Numeric |
5 |
Yes |
BRIVA number unique to your institution |
custCode |
String |
13 |
Yes |
Customer code generated by you, we recommend to use only 10 digits to enable pay BRIVA from another bank since the other 3 digits are needed for bank code |
Request & Response Payload Sample
Request :
curl --location --request DELETE 'https://sandbox.partner.api.bri.co.id/v1/briva' \ --header 'BRI-Timestamp: 2021-07-07T08:16:08.783Z' \ --header 'BRI-Signature: U6g456rsQ3xxxxxe/AHo1Xi+17P7i8PCYv+4eav9OIE=' \ --header 'Authorization: Bearer xMbxPT4lgcJtlbmxxxxxx8SXZX' \ --header 'Content-Type: text/plain' \ --data-raw 'institutionCode=J104408&brivaNo=77777&custCode=1255'
Normal Response :
{ "status": true, "responseDescription": "Success", "responseCode": "00", "data": { "institutionCode": "J104408", "brivaNo": "77777", "custCode": "1255" } }
Error Response :
{ "status": false, "errDesc": "Institution Code Tidak Boleh Kosong", "responseCode": "03", "data": { "{\n____\"institutionCode\":\"J104408\",\n____\"brivaNo\":\"77777\",\n____\"custCode\ ":\"\"\n}": "" } }
G. Get Report
Endpoint Description
This endpoint is used to get the transaction history of all BRIVA accounts registered to your BRIVA number.
General Information
HTTP Method | GET |
---|---|
Path |
/v1/briva/report/{{INSTITUTION_CODE}}/{{BRIVA_NO}}/{{START_DATE}}/ {{END_DATE}} |
Tipe Format | JSON |
Authentication | OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
Authorization |
Bearer {token} |
Yes |
|
Access Token |
|
BRI-Timestamp |
|
Yes |
|
Timestamp in ISO8601 format |
|
BRI-Signature |
|
Yes |
64 |
Signature |
|
Content-Type |
application/json |
Yes |
|
|
|
Query Param Structure
Sample of HTTP request:
GET https://sandbox.partner.api.bri.co.id/v1/briva/report_time/{{INSTITUTION_CODE}}/{{BRIVA_NO}}/{{START_DATE}}/{{END_DATE}}
Request Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
INSTITUTION_CODE |
String |
|
Yes |
This institution code will be given by BRI |
BRIVA_NO |
Numeric |
5 |
Yes |
Briva number unique to your institution |
START_DATE |
Date |
8 |
Yes |
Start date, format: yyyyMMdd |
END_DATE |
Date |
8 |
Yes |
End date, format: yyyyMMdd |
Response Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
status |
bool |
5 |
Yes |
True / False |
responseDescription |
String |
Yes |
Response Description |
|
responseCode |
String |
Yes |
Response Code |
|
data |
Array |
Yes |
Contains empty if the response error is "Data":{} |
|
brivaNo |
Numeric |
5 |
Yes |
BRIVA number unique to your institution |
custCode |
String |
13 |
Yes |
Customer code generated by you, we recommend to use only 10 digits to enable pay BRIVA from another bank since the other 3 digits are needed for bank code |
nama |
String |
40 |
Yes |
Customer name for that BRIVA account number |
amount |
Numeric |
|
Yes |
Amount for that BRIVA account
Note: There cannot be a dot (.) or a comma (,) in the amount field |
keterangan |
String |
|
Yes |
Description for BRIVA |
paymentDate |
Date |
8 |
Yes |
Payment date, format: yyyy-MM-dd HH:MM:SS.fff |
tellerid |
Yes |
Internal teller id BRI |
||
no_rek |
Yes |
Current Account registered in corporate code |
||
startTime |
Date |
8 |
Yes |
Start date, format: yyyy-MM-dd |
endTime |
Date |
8 |
Yes |
End date, format: yyyy-MM-dd |
Request & Response Payload Sample
Request :
curl --location --request GET 'https://sandbox.partner.api.bri.co.id/v1/briva/report/J104408/77777/20210629/20210629' \ --header 'BRI-Timestamp: 2021-07-07T08:17:07.607Z' \ --header 'BRI-Signature: hBy3cdCLC9T7UuB5VlLgkuwJQB2zbJOE+IyKxxxxxx=' \ --header 'Authorization: Bearer xMbxPT4lgcJtlbmOHxxxxxxx8SXZX'
Normal Response :
{ "status": true, "responseDescription": "Success", "responseCode": "00", "data": [ { "brivaNo": "77777", "custCode": "2105310010", "nama": "John Doe", "keterangan": "", "amount": "729688", "paymentDate": "2021-06-29 07:41:31.000", "tellerid": "1624927291049", "no_rek": "39101000322990" } ] }
Error Response :
{ "status": false, "responseDescription": "Report briva kosong atau tidak ditemukan", "responseCode": "41" }
{ "status": false, "errDesc": "Format startTime atau endTime salah, harusnya Ymd", "responseCode": "20", "data": { "institutionCode": "J104408", "brivaNo": "77777", "startTime": "20210629", "endTime": "20210632" } }
H. Get Report Time
Endpoint Description
This endpoint is used to get the transaction history of all BRIVA accounts registered to your BRIVA number at a certain time.
General Information
HTTP Method | GET |
---|---|
Path |
/v1/briva/report_time/{{INSTITUTION_CODE}}/{{BRIVA_NO}}/ {{START_DATE}}/{{START_TIME}}/{{END_DATE}}/{{END_TIME}} |
Tipe Format | JSON |
Authentication | OAuth 2.0 with Access Token |
Header Structure
Key |
Value |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|
Authorization |
Bearer {token} |
Yes |
|
Access Token |
|
BRI-Timestamp |
|
Yes |
|
Timestamp in ISO8601 format |
|
BRI-Signature |
|
Yes |
64 |
Signature |
|
Content-Type |
application/json |
Yes |
|
|
|
Query Param Structure
Sample of HTTP request:
GET https://sandbox.partner.api.bri.co.id/v1/briva/report_time/{{INSTITUTION_CODE}}/{{BRIVA_NO}}/{{START_DATE}}/{{START_TIME}}/{{END_DATE}}/{{END_TIME}}
Request Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
INSTITUTION_CODE |
String |
|
Yes |
This institution code will be given by BRI |
BRIVA_NO |
Numeric |
5 |
Yes |
Briva number unique to your institution |
START_DATE |
Date |
8 |
Yes |
Start date, format: yyyy-MM-dd |
START_TIME |
Date |
4 |
Yes |
Start Time, format: HH:MM |
END_DATE |
Date |
8 |
Yes |
End date, format: yyyy-MM-dd |
END_TIME |
Date |
4 |
Yes |
End time, format: HH:MM |
Response Structure
Field |
Data Type |
Max Char |
Mandatory |
Description |
---|---|---|---|---|
status |
bool |
5 |
Yes |
True / False |
responseDescription |
String |
Yes |
Response Description |
|
responseCode |
String |
Yes |
Response Code |
|
data |
Array |
Yes |
Contains empty if the response error is "Data":{} |
|
brivaNo |
Numeric |
5 |
Yes |
BRIVA number unique to your institution |
custCode |
String |
13 |
Yes |
Customer code generated by you, we recommend to use only 10 digits to enable pay BRIVA from another bank since the other 3 digits are needed for bank code |
nama |
String |
40 |
Yes |
Customer name for that BRIVA account number |
amount |
Numeric |
|
Yes |
Amount for that BRIVA account
Note: There cannot be a dot (.) or a comma (,) in the amount field |
keterangan |
String |
|
Yes |
Description for BRIVA |
paymentDate |
Date |
8 |
Yes |
Waktu pembayaran, format: yyyy-MM-dd HH:MM:SS.fff |
tellerid |
Yes |
Internal teller id BRI |
||
no_rek |
Yes |
Current Account registered in corporate code |
||
trxID |
|
Transaction ID from BRI |
||
channel |
|
Payment channel for BRIVA number |
||
startTime |
Date |
8 |
Yes |
Start date, format: yyyy-MM-dd |
endTime |
Date |
8 |
Yes |
End date, format: yyyy-MM-dd |
Request & Response Payload Sample
Request :
curl --location --request GET 'https://sandbox.partner.api.bri.co.id/v1/briva/report_time/J104408/77777/2021-06-14/05:00/2021-06-14/20:00' \ --header 'BRI-Timestamp: 2021-07-07T08:17:54.434Z' \ --header 'BRI-Signature: Q8svcZuANMo8voNxxxxxxReUiPy2Qe8=' \ --header 'Authorization: Bearer xMbxPT4lgcJtlbmOxxxxxxXZX'
Normal Response :
{ "status": true, "responseDescription": "Success", "responseCode": "00", "data": [ { "brivaNo": "77777", "custCode": "7629378614", "nama": "John Doe", "keterangan": "", "amount": "96140", "paymentDate": "2021-06-14 10:20:24.000", "tellerid": "1623640824274", "no_rek": "39101000322990", "trxID": "2118200000020824274", "channel": "IBNK" } ] }
Error Response :
{ "status": false, "responseDescription": "Report briva kosong atau tidak ditemukan", "responseCode": "41" }
I. Error Codes
Code | Code Description |
---|---|
00 |
Success |
01 |
No Briva Tidak Boleh Kosong |
02 |
Customer Code Tidak Boleh Kosong |
03 |
Institution Code Tidak Boleh Kosong |
05 |
Institution Code Tidak Diijinkan Mengakses Nomor Briva |
10 |
Customer Code Tidak Boleh Lebih Dari 13 Karakter |
10 |
Nama Tidak Boleh Kosong |
10 |
Nama Tidak Boleh Lebih Dari 40 Karakter |
10 |
Keterangan Tidak Boleh Lebih Dari 40 Karakter |
10 |
Status Bayar Tidak Boleh Kosong |
11 |
Customer Code Harus Numeric |
11 |
Amount Harus Numeric |
11 |
Amount Tidak Boleh Kosong |
11 |
Open payment, amount tidak boleh kosong |
11 |
Close payment, amount tidak boleh kosong |
11 |
Amount Harus Integer (Tidak Boleh Decimal) |
12 |
Expired date tidak boleh lebih dari 60 month |
12 |
Expired date tidak boleh kurang dari datetime hari ini |
13 |
Data Customer Sudah Ada |
14 |
Data Customer Tidak Ditemukan |
15 |
Gagal Menyimpan Data Customer |
16 |
Gagal Update Data Briva |
17 |
Gagal Delete Data Briva |
20 |
Format Expired date salah, harusnya Y-m-d H:i:s |
20 |
Format startTime atau endTime salah, harusnya Ymd |
20 |
Panjang startTime atau endTime salah, harusnya 8 karakter |
20 |
Gagal update status bayar |
20 |
Penulisan Status Bayar Salah, Harusnya Y atau N |
21 |
Gagal mendapatkan data status bayar |
41 |
Report briva kosong atau tidak ditemukan |
42 |
Tanggal StartTime dan EndTime report Briva harus sama |
42 |
Tanggal startDateTime/endDateTime Tidak Boleh Kosong |
Seluruh response error yang tidak tercantum dalam list response BRIAPI memiliki status pending dan perlu dilakukan pengecekan