API Bank Statement SNAP BI

API Information

Title

API Bank Statement

Version

v2.1

URL Sandbox

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

URL Production

 

Version Control

Document Version

API Version

Date

Link Dokumen

Description

v1.5

v1.1

19 Mar 2024

API Bank Statement SNAP BI v1.1

The change of field fromDateTime and toDateTime from Optional to Mandatory

v1.7

v2.1

30 Oct 2024

This page

  • Upgrade version from v1.1 to v2.1
  • Additional field remarkCustom in Response
  • Change backend target service API Bank Statement
  • Bugfix empty data on success transaction
  • Additional field bankCardToken in request while inquiry Bank Statement based on bankCardToken

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)
If bankCardToken is empty

15

Note :

SNAP BI

(16)

Bank account number

1234567891012348

bankCardToken String  

C

Note :

(M)
If use Account Binding or Direct Debit feature

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