API Bank Statement SNAP BI

API Information

Title

API Bank Statement

Version

v1.1

URL Sandbox

https://sandbox.partner.api.bri.co.id

URL Production

 

Version Control

Doc Version

API Version

Date

Link Document

Description

v1.1

v1.0

07 Desember 2021

Here

Baseline version

v1.2

v1.0

22 April 2022

Here

Update field format

v1.3 v1.0 15 Feb 2024 Here Update Request and Response Sample
v1.4 v1.1 05 Mar 2024 This page
  • Upgrade version from v1.0 to v1.1
  • Additional field referenceNo in Response
v1.5 v1.1 19 Mar 2024 This page The change of field fromDateTime and toDateTime from Optional to Mandatory
Note : This API service is not recommended to be performed during the End of Day (EOD) period due to the possibility of data anomalies during that time.
Note : This API service is recommended to be performed minimum 15 minutes after the transaction.

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

Endpoint This endpoint is used to access the complete history of financial transactions from a bank account

General Information

HTTP Method

POST

Path

snap/v1.1/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

M

Note: SNAP BI (C)

15

Note: SNAP BI (16)

Bank account number.

1234567891012348

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

Respon Description

Successful

referenceNo

String

Numeric

C

64

Transaction identifier on service provider system. Must be filled upon successful transaction 1710394058397946381

totalCreditEntries

Object

 

O

 

The total number of transactions with type = CREDIT

“numberOfEntries”: “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

length

(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

 

The total number of transactions with type = DEBIT

 

>numberOfEntries

integer

Numeric

O

5

 

10

>amount

Object

 

M

 

 

 

>>value

String

Decimal

M

15,2

Note :

SNAP BI 

Length

(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

 

 

 

 

 

>detailBalance

Object

 

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 

Length

(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 

Length

(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 

Length 

(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 issuer perspective

20200801198230912830091123

>type

String

Alphanumeric

M

6

Transaction type. CREDIT/DEBIT

 

Request & Response Payload Sample

Request  :

{
   "accountNo":"234567891012349",
   "fromDateTime":"2024-03-08T10:41:45+07:00",
   "toDateTime":"2024-03-08T11:41:45+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"
      },
      {
         "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"
      },
      {
         "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"
      },
      {
         "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"
      }
   ]
}

Error Response :

{
   "responseCode":"4041411",
   "responseMessage":"Invalid Card/Account/Customer[info]/VirtualAccount"
}

List of Error/Response Code

HTTP Status

Service Code

Code

Status

Response Message

Description

200

14

00

Sukses

Successfull

 

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

 

404

14

11

Failed

Invalid Card/Account/Customer [Account No cannot be found]

 

409

14

00

Failed 

Conflict

 

500

14

00

Failed

General Error

 
504 14 00 Pending Timeout  
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation.