API Bank Statement SNAP BI
API Information
Title |
API Bank Statement |
---|---|
Version |
v2.1 |
URL Sandbox |
|
URL Production |
Version Control
Document Version |
API Version |
Date |
Link Dokumen |
Description |
---|---|---|---|---|
v1.5 |
v1.1 |
19 Mar 2024 |
The change of field fromDateTime and toDateTime from Optional to Mandatory |
|
v1.7 |
v2.1 |
30 Oct 2024 |
This page |
|
Product Description
Product Overview
This API is a service that is used to access complete history of financial transactions from a bank account, both accounts belonging to individual account owners. Consumers can take advantage of the platform from Non-PJP Service Users, or PJP PIAS which has been certified by PJP AIS to access this API, so they can easly view their financial details in one application.
Endpoint
A. API Bank Statement
A. API Bank Statement
This endpoint is used to access the complete history of financial transactions from a bank account.
General Information
HTTP Method |
POST |
---|---|
Path |
snap/v2.0/bank-statement |
Tipe Format |
JSON |
Authentication |
OAuth 2.0 with Access Token |
Header Structure & Sample
Key |
Value |
Format |
Mandatory |
Length |
Description |
---|---|---|---|---|---|
Authorization |
Authorization |
String |
M |
Bearer {Token} |
|
X-TIMESTAMP |
BRI - timestamp |
Datetime |
M |
Format Timestamp ISO8601 | |
X-SIGNATURE |
BRI - signature |
String |
M |
HMAC_SHA512 | |
Content-Type |
application/json |
M |
application/json | ||
X-PARTNER-ID |
Alphanumeric |
M |
36 | ||
CHANNEL-ID |
Alphanumeric |
M |
5 | ||
X-EXTERNAL-ID |
Numeric |
M |
9 |
Request Structure & Sample
Field |
Data Type |
Format |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|---|
accountNo |
String |
Numeric |
C Note : (M) |
15 Note : SNAP BI (16) |
Bank account number |
1234567891012348 |
bankCardToken | String |
C Note : (M) |
560 Note : SNAP BI (128) |
The token obtained from the Account Binding or Direct Debit feature. | ||
fromDateTime |
String |
ISODateTime ISO-8601 |
M Note : SNAP BI (O) |
25 |
Starting time range |
2020-11-08T12:07:56-07:00 |
toDateTime |
String |
ISODateTime ISO-8601 |
M Note : SNAP BI (O) |
25 |
Ending time range |
2020-11-09T12:09:57-07:00 |
Response Structure & Sample
Field |
Data Type |
Format |
Mandatory |
Length |
Description |
Example |
---|---|---|---|---|---|---|
responseCode |
String |
Numeric |
M |
7 |
Respon code |
2001400 |
responseMessage |
String |
Alphanumeric |
M |
150 |
Response description |
Successful |
referenceNo | String | Numeric | C | 64 |
Transaction identifier on service provider system. Must be filled upon successful transaction Generated by random unique number |
1710394058397946381 |
totalCreditEntries |
Object |
O |
Total transaction amount with type = CREDIT. |
“numberOfE ntries”: “10”, “amount”: { "value": "10000.00", "currency": "IDR" } } |
||
>numberOfEntries |
Integer |
Numeric |
O |
5 |
Number of entries |
10 |
>amount |
Object |
M |
||||
>>value |
String |
Decimal |
M |
15,2 Note : SNAP BI (18) |
Value of the amount. If it’s IDR then value includes 2 decimal digits. e.g. IDR 10.000,- will be placed with 10000.00 |
10000.00 |
>>currency |
String |
Alphanumeric |
M |
3 |
Currency |
IDR |
totalDebitEntries |
Object |
O |
Total transaction amount with type = DEBIT. |
|||
>numberOfEntries |
integer |
Numeric |
O |
5 |
10 |
|
>amount |
Object |
M |
||||
>>value |
String |
Decimal |
M |
15,2 Note : SNAP BI (18) |
Value of the amount. If it’s IDR then value includes 2 decimal digits. e.g. IDR 10.000,- will be placed with 10000.00 |
10000.00 |
>>currency |
String |
Alphanumeric |
M |
3 |
Currency |
IDR |
detailData |
Array of Object |
O |
||||
>detailBalance |
List<DetailBalance> See object definition. |
O |
Starting and ending balance before and after transaction |
|||
>>startAmount |
Object |
O |
|
Active Currency And Amount ISO-4217 Amount of balance.If it’s IDR then value includes 2 decimal digits e.g. IDR 10.000,- will be placed with 10000.00 |
||
>>>amount | Object | O | ||||
>>>value |
String |
Decimal |
M |
15,2 Note : SNAP BI (16,2) |
Net amount of the transaction. If it’s IDR then value includes 2 decimal digits. e.g. IDR 10.000,- will be placed with 10000.00 |
10000.00 |
>>>currency |
String |
Alphanumeric |
M |
3 |
Currency |
IDR |
>>endAmount |
Object |
O |
|
Active Currency And Amount ISO-4217 Net amount of the transaction. If it’s IDR then value includes 2 decimal digits. e.g. IDR 10.000,- will be placed |
||
>>>amount | Object | O | ||||
>>>value |
String |
Decimal |
M |
15,2 Note : SNAP BI (16,2) |
Net amount of the transaction. If it’s IDR then value includes 2 decimal digits. e.g. IDR 10.000,- will be placed with 10000.00 |
20000.00 |
>>>currency |
String |
Alphanumeric |
M |
3 |
Currency |
IDR |
>amount | Object | O | ||||
>>value | String | Decimal | M |
15,2 Note : SNAP BI (16,2) |
Net amount of the transaction. If it’s IDR then value includes 2 decimal digits. e.g. IDR 10.000,- will be placed with 10000.00 | 20000.00 |
>>currency | String | Alphanumeric | M | 3 | Currency | IDR |
>transactionDate |
String |
ISODateTime ISO-8601 |
M |
25 |
Timestamp of the transaction |
2009-07-03T12:08:56-07:00 |
>remark |
String |
Alphanumeric |
M |
256 |
Transaction remark |
Payment to Warung Ikan Bakar |
>transactionId |
String |
Alphanumeric |
O |
35 |
Internal transaction identifier from publisher perspective |
20200801198230912830091123 |
>type |
String |
Alphanumeric |
M |
6 |
Transaction type. CREDIT/DEBIT |
|
>detailInfo | Object | O | Additional info | |||
>>remarkCustom | String | Alphanumeric | M | 255 | Remark custom | Transfer Dari DENNI LA ANACI via BRImo |
Request & Response Payload Sample
Request :
{
"accountNo": "234567891012349",
"fromDateTime": "2024-03-08T10:41:45+07:00",
"toDateTime": "2024-03-08T11:41:45+07:00"
}
Use Bank Card Token
Request :
{
"bankCardToken": "account_.eyJpYXQiOjE3MTU5MTg1NDIsImlzcyI6IkJhbmsgQlJJIC0gRERCIiwianRpIjoiZjg1MjdhN2MtMDEzYS00ODAyLTk0NWEtYzgwMWM3MjcyMDZjIiwicGFydG5lcklkIjoiIiwic2VydmljZU5hbWUiOiJERF9FWFRFUk5BTF9TRVJWSUNFIn0.ZNA6AJ_gHfwq3_vl4QlpWO8ZGS5t3j4n4yCiThLIdmf2BObvWYZM5GSwNdbbpFe_jVD1xq4afYvDPlbFN9SxCzgUqBrsvxif8Y09ib8kZaUWZhHwU5Yr0QkN5fcFeif_eYcsrLVqaDiQjRi6ru8YmTFGqayG9yenES-dTmtDd_KErXSmzcyvG2BEtZIykO5xgWW5I1wBamFjAouQozZbKWTxaUVsp_BmNzn-RI9HyEQbP-RkRZii9RTVNtByziRC3ZPDjX_oPkfbIFBKICPfUCTcG1ElPRrWRiqrIX9aSEhz6xao4HxIS9fAv8MSjQVHVm6dCjCyyyHb1mYl44Phbg",
"fromDateTime": "2023-08-31T10:12:00+07:00",
"toDateTime": "2023-09-01T23:59:00+07:00"
}
Normal Response :
{ "responseCode": "2001400", "responseMessage": "Successful", "referenceNo": "1710394058397946381", "totalCreditEntries": { "numberOfEntries": "2", "amount": { "value": "10000.00", "currency": "IDR" } }, "totalDebitEntries": { "numberOfEntries": "2", "amount": { "value": "10000.00", "currency": "IDR" } }, "detailData": [ { "detailBalance": { "startAmount": [ { "amount": { "value": "100000000.00", "currency": "IDR" } } ], "endAmount": [ { "amount": { "value": "20000.00", "currency": "IDR" } } ] }, "amount": { "value": "5000.00", "currency": "IDR" }, "transactionDate": "2024-03-08T10:41:45+07:00", "remark": "Payment to Warung Ikan Bakar 1", "transactionId": "2020080119823091283009112 0", "type": "Credit", "detailInfo": { "remarkCustom": "Transfer Dari DENNI LA ANACI via BRImo" } }, { "detailBalance": { "startAmount": [ { "amount": { "value": "100000000.00", "currency": "IDR" } } ], "endAmount": [ { "amount": { "value": "20000.00", "currency": "IDR" } } ] }, "amount": { "value": "5000.00", "currency": "IDR" }, "transactionDate": "2024-03-08T10:41:45+07:00", "remark": "Payment to Warung Ikan Bakar 2", "transactionId": "2020080119823091283009112 1", "type": "Credit", "detailInfo": { "remarkCustom": "Transfer Dari DENNI LA ANACI via BRImo" } }, { "detailBalance": { "startAmount": [ { "amount": { "value": "100000000.00", "currency": "IDR" } } ], "endAmount": [ { "amount": { "value": "20000.00", "currency": "IDR" } } ] }, "amount": { "value": "20000.00", "currency": "IDR" }, "transactionDate": "2024-03-08T10:41:45+07:00", "remark": "Payment to Warung Ikan Bakar 1", "transactionId": "2020080119823091283009122 0", "type": "Credit", "detailInfo": { "remarkCustom": "Transfer Dari DENNI LA ANACI via BRImo" } }, { "detailBalance": { "startAmount": [ { "amount": { "value": "100000000.00", "currency": "IDR" } } ], "endAmount": [ { "amount": { "value": "20000.00", "currency": "IDR" } } ] }, "amount": { "value": "20000.00", "currency": "IDR" }, "transactionDate": "2024-03-08T10:41:45+07:00", "remark": "Payment to Warung Ikan Bakar 2", "transactionId": "2020080119823091283009122 1", "type": "Credit", "detailInfo": { "remarkCustom": "Transfer Dari DENNI LA ANACI via BRImo" } } ] }
Error Response :
{ "responseCode": "4044701", "responseMessage": "Transaction Not Found" }
List of Error/Response Code
HTTP Status |
Service Code |
Code |
Status |
Response Message |
Description |
---|---|---|---|---|---|
200 |
14 |
00 |
Success |
Successful |
|
400 |
14 |
01 |
Failed |
Invalid Field Format {fieldName} |
|
400 |
14 |
02 |
Failed |
Invalid Mandatory Field {fieldName} |
|
401 |
14 |
00 |
Failed |
Unauthorized. Client |
|
404 |
14 |
01 |
Failed |
Transaction not found |
|
401 |
14 |
02 |
Gagal |
Invalid Customer Token |
*Note : If use field "bankCardToken" |
404 |
14 |
11 |
Failed |
Invalid Card/Account/Customer[info]/VirtualAccount |
|
409 | 14 | 00 | Failed | Conflict | |
500 | 14 | 00 | Failed | General Error | |
504 | 14 | 00 | Pending | Timeout |