API BRI Smart Billing - BSB

Informasi API

Title

API Spek BSB - BRI Smart Billing

Version

v1.0

URL Sandbox

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

URL Production

-

Kendali Versi

API Version

Doc Version

Date

Link document

Description

v1.0

v1.0.0

12 November 2021

Halaman ini

Baseline version.

v1.0 v1.1.0 16 Nov 2023 Halaman ini

PenambahanEndpoint :

  • Invoice Get by Reference Num Customer
  • Invoice Send Notif BRIVA
  • Payment Get by BRIVA

v1.0

v1.2.0

28 Nov 2023

Halaman ini

Penambahan Endpoint :

  • Callback Token
  • Callback Payment

v1.0

v1.3.0

15 Dec 2023

Halaman ini

Perubahan spec untuk endpoint :

  • Invoice Update
  • Invoice Get by Reference Num
  • Payment Get by Reference Num

v1.0

v1.4.0

22 Dec 2023

Halaman ini

Penyesuaian field pada endpoint :

  • Invoice Add
  • Invoice Update
  • Feetype Add
  • Customer Add

Gambaran Produk

Pengembangan ini bertujuan untuk membuat API layanan BRI Smart Billing.

1. Customers Add

Endpoint for create new customer

General Information

HTTP Method

POST

Path

/customers

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

 

 

 

BRI-Timestamp p {{Timestamp}}

M

 

 

 

Authorization Bearer {{Token}}

M

 

 

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNum

String

M

referenceNu m (40) Reference number of customer

 

referenceNumCustomergroup

String

M

Min: 5; Max: 25 Reference number of registered customer group

 

name String M Max: 60 Customer Name  
phone String M Min: 10; Max:13 Customer Phone  
pic String M Max: 60 PIC Name  
email String M email format Email  
address String M Max:200 Customer Address  
registrationNo String   Number Registration number of customer  
registrationDate String   date format yyyy-mmdd Registration date when join company  
contractExpiredDate Stirng   date format yyyy-mmdd Expired date customer join company  
customerStatusNotif String M   Status Notif Customer ( 1: SMS, 2: WA) only can choose one of them to setting type of WA /SMS when send invoice notif. If it is not filled, the default is 1.  
labelOwner Array of String   array format Label name that customer owned  
labelPartner Array of String   array format Label name that customer rented to partner  
emailNotif String     Additional email notification list for invoice notification. Separated by semicolon ";"  

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNum

String

M

referenceNu m (40) Reference number of customer

 

referenceNumCusto mergroup

String

M

Min: 5; Max: 25 Reference number of registered customer group

 

name String M Min: 1; Max: 60 Name  
phone String M Min: 10; Max:13 Phone  
pic String M Min: 1; Max: 60 PIC Name  
email String M email format Email  
address String M Min: 1; Max: 200 Address  
registrationNo String -   Registration number of customer  
registrationDate String - date format Registration date when join company  
contractExpiredDate Stirng - date format Expired date customer join company  
username String -   Username login of customer  
brivaNo String - min: 15, max:16 Briva Number of customer  
customerStatusNotif String -   Status Notif Customer ( 1: SMS, 2: WA) only can choose one of them to setting type of WA/SMS when send invoice notif  
labelOwner Array Data - array format Label name that customer owned  
labelPartner Array Data - array format Label name that customer rented to partner  
labelOwner Array of String        
labelPartner Array of String        
emailNotif String     Additional email notification list for invoice notification. Separated by semicolon ";"  

Request & Response Payload Sample

Request

{
   "referenceNumCustomer":"test",
   "referenceNumCustomergroup":"Admin",
   "name":"John Doe",
   "phone":"080000012345",
   "pic":"John Doe",
   "email":"placeholder@mail.com",
   "address":"jl bekasi",
   "registrationNo":"1234",
   "registrationDate":"2023-11-28",
   "contractExpiredDate":"2024-01-10",
   "customerStatusNotif":"SMS",
   "labelOwner":[
      "LT1PWON_3",
      "LT2PWON_1",
      "LT2PWON_2",
      "LT2PWON_3"
   ],
   "labelPartner":[
      "LT1PWON_1",
      "LT1PWON_2"
   ],
   "emailNotif":"placeholder@gmail.com;placeholder2@gmail.com"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumCustomer":"test",
      "name":"John Doe",
      "phone":"080000012345",
      "pic":"John Doe",
      "email":"placeholder@mail.com",
      "address":"jl bekasi",
      "registrationNo":"1234",
      "registrationDate":"2023-11-28",
      "contractExpiredDate":"2024-01-10",
      "username":"placeholder@mail.com",
      "customerStatusNotif":"SMS",
      "notifDescription":"",
      "detail":[
         {
            "referenceNumCustomergroup":"Admin",
            "brivaNo":"106107185000044",
            "groupName":"Admin"
         }
      ],
      "labelOwner":[
         "LT1PWON_3",
         "LT2PWON_1",
         "LT2PWON_2",
         "LT2PWON_3"
      ],
      "labelPartner":[
         "LT1PWON_1",
         "LT1PWON_2"
      ],
      "emailNotif":"placeholder@gmail.com;placeholder2@gmail.com"
   }
}

Error Response :

{
   "responseCode":"0012",
   "responseMessage":"Validation",
   "errors":{
      "error":"Validation",
      "issueAt":"2023-12-06 08:58:22",
      "validationError":{
         "referenceNumCustomer":[
            "The referenceNumCustomer field is required",
            "The referenceNumCustomer field must be minimum 5 char",
            "The referenceNumCustomer may only contain letters and numbers"
         ]
      }
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

2. Customers Group Add

Endpoint for create group of customer

General Information

HTTP Method

POST

Path

/customers-group

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

 

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumber

String

O

 

Reference Number from Client

 

nameGroup

String

O

 

Nama group

 

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

4

Kode status respon

"0000", "0001"

responseMessage

String

M

-

Deskripsi Respon

 

data array data -

-

 

Data Respon

 

referenceNumber String -   Reference Number from Client  
groupName String -   Nama Group  
errors array data -     Only when error
error String -     detail error: "token is expired"
issueAt String -     time

Request & Response Payload Sample

Request

{
   "referenceNumCustomergroup":"GroupLV1",
   "groupName":"Test1"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumCustomergroup":"GroupLV1",
      "groupName":"Test1"
   }
}

Error Response :

{
   "responseCode":"0012",
   "responseMessage":"Validation",
   "errors":{
      "error":"Validation",
      "issueAt":"2023-12-06 09:36:34",
      "validationError":{
         "referenceNumCustomergroup":[
            "The referenceNumCustomergroup field is required",
            "The referenceNumCustomergroup field must be minimum 5 char",
            "The referenceNumCustomergroup may only contain letters and numbers"
         ]
      }
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

3. Feetype Add

Endpoint for create new feetype

General Information

HTTP Method

POST

Path

/feetype

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

 

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumber

String

M

Min : 5 , Max : 10 Char

Reference Number from Client

 

feeType

Object

M

Max:40

Name Group

 

note String O Max:200    

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

4

Response status code

"0000", "0001"

responseMessage

String

M

-

Response description

 

data

array data

-

 

Response Data

 

referenceNumFeetype String M referenceNumFe etype(40) Reference Number from Client  
feetype String M Max:40 Name Group  
note String - Max:200    

Request & Response Payload Sample

Request

{
   "referenceNumFeetype":"newfee",
   "feeType":"pembayaran baru",
   "note":""
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumFeetype":"newfee",
      "feeType":"pembayaran baru",
      "note":""
   }
}

Error Response :

{
   "responseCode":"0012",
   "responseMessage":"Error Validation",
   "errors":{
      "error":"Error Validation",
      "issueAt":"2023-12-15 15:15:41",
      "validationError":{
         "referenceNumFeetype":[
            "The referenceNumFeetype field is required",
            "The referenceNumFeetype field must be minimum 5 char",
            "The referenceNumFeetype may only contain letters and numbers"
         ]
      }
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

4. Invoice Add

Endpoint for create new invoice

General Information

HTTP Method

POST

Path

/invoice

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumInvoice

string

M

min:5; max:50

Reference Number from Client

 

referenceNumCustomer

string

M

referenceNumberCustomers (40)

Reference Number Registered Customer

 

referenceNumFeetype string M referenceNumberFeetype(40) Reference Number Registered Feetype  
amount string M numeric    
discount string O numeric is not empty (1- 99)  
expDate string M "yyyy-mm-dd"    
remarks string   Max:200    
additionalFeeType string -  

Type of Additional Fee,

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeeAmount / additionalFeeOption is filled

Materai; Admin
additionalFeeAmount string -  

Amount of Additional Fee,

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeOption is filled

10000;3000
additionalFeeOption string    

Additional fee options are charged to

0: Flexible (default uncheck)

1: Dikunci dan dibayarkan Biller

2: Dikunci dan dipotong tenant

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeAmount is filled

2;2
taxType string    

Type of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxAmount / taxOption/ taxIclude is filled

PPh;PPn
taxAmount string    

Amount of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxOption/ taxIclude is filled

50000;10000
taxOption string    

Amount of tax options are charged to

0: Flexible (default uncheck)

1: Dikunci dan dibayarkan Biller

2: Dikunci dan dipotong tenant

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxAmount/ taxIclude is filled

1;2
taxInclude string    

Include / Exclude Status of Tax to Amount Bruto

0: Exlude

1: Include

0;0
fineAmount string     Amount of Fine  
finePeriod string     The distance between the days of due date to start fine calculation  
fineOption string    

The optional are charged to

0: Flexible (default checked)

1: Dikunci dan wajib dibayar

 
notifOption string    

The option how notif will send

0: Not automate sending

1: Automate sending

 
labelOwner string O   Registered Label Name in Customer  

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

4

Response Status Code

"0000", "0001"

responseMessage

string

M

-

Response Description

 

Data array date -   Data respon  
referenceNumInvoice string M min:5; max:50 Reference Number from Client  
referenceNumCustomers string M referenceNumberCustomers (40) Nama grup  
referenceNumFeetype string M referenceNumberFeetype(40)    
amount string M numeric

1: with tax

0: without tax

"1" or "0"
discount string M numeric required if isTax is 1  
expDate string M "yyyy-mm-dd"

required if isTax is 1

Number

 
remarks string   max:200

1: with fine setup

0: without fine setup

"1" or "0"
additionalFeeType string -  

Type of Additional Fee

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeeAmount / additionalFeeOption is filled

Materai; Admin
additionalFeeAmount string -  

Amount of Additional Fee,

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeOption is filled

10000;3000
additionalFeeOption string    

Additional fee options are charged to

0: Flexible (default uncheck)

1: Dikunci dan dibayarkan Biller

2: Dikunci dan dipotong tenant

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeAmount is filled

2;2
taxType string    

Type of tax

Max 3 Type

Use delimiter ( ; )

Required if taxAmount / taxOption/ taxIclude is filled

PPh;PPn
taxAmount string    

Amount of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxOption/ taxIclude is filled

50000;10000
taxOption string    

Amount of tax options are charged to

0: Flexible (default uncheck)

1: Dikunci dan dibayarkan Biller

2: Dikunci dan dipotong tenant

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxAmount/ taxIclude is filled

1;2
taxInclude string    

Include / Exclude Status of Tax to Amount Bruto

0: Exlude

1: Include

0;0
fineAmount string     Amount of Fine  
labelOwner string O   Registered Label Name in Customer  
finePeriod string     The distance between the days of due date to start fine calculation  
fineOption string    

The optional are charged to

0: Flexible (default checked)

1: Dikunci dan wajib dibayar

 
notifOption string    

The option how notif will send

0: Not automate sending

1: Automate sending

 
labelOwner string     Registered Label Name in Customer  

Request & Response Payload Sample

Request

{
   "referenceNumInvoice":"lengkap-0",
   "referenceNumCustomer":"nansu",
   "referenceNumFeetype":"nofee",
   "referenceNumCustomergroup":"NANSU",
   "amount":"10000",
   "discount":"1",
   "remarks":"test lengkap",
   "expDate":"2023-12-06",
   "additionalFeeType":"materai",
   "additionalFeeAmount":"10000",
   "additionalFeeOption":"1",
   "taxType":"PPH",
   "taxAmount":"5000",
   "taxOption":"1",
   "taxInclude":"1",
   "fineAmount":"1000",
   "finePeriod":"1",
   "fineOption":"1",
   "notifOption":"0",
   "labelOwner":"NANs_1"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumInvoice":"lengkap-0",
      "referenceNumCustomer":"nansu",
      "referenceNumFeetype":"nofee",
      "referenceNumCustomergroup":"NANSU",
      "feetype":"nofee",
      "additionalFeeTotal":"10000",
      "taxTotal":"0",
      "amount":"10000",
      "discount":"1",
      "remarks":"test lengkap",
      "expDate":"2023-12-06",
      "additionalFeeType":"materai",
      "additionalFeeAmount":"10000",
      "additionalFeeOption":"1",
      "taxType":"PPH",
      "taxAmount":"5000",
      "taxOption":"1",
      "taxInclude":"1",
      "fineTotal":"2000",
      "fineAmount":"1000",
      "finePeriod":"1",
      "fineOption":"1",
      "notifOption":"0",
      "labelOwner":"nans_1"
   }
}

Error Response :

{
   "responseCode":"0012",
   "responseMessage":"Error Validation",
   "errors":{
      "error":"Error Validation",
      "issueAt":"2023-12-07 08:54:32",
      "validationError":{
         "referenceNumInvoice":[
            "The referenceNumInvoice field is required",
            "The referenceNumInvoice field must be minimum 5 char"
         ]
      }
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

5. Customers Get All

Endpoint for get data all of registered customer

General Information

HTTP Method

POST

Path

/customers

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

 

 

 

responseMessage

string

M

 

 

 

totalCount string M   Total count data of customer  
data array -   Data will be appear when the response is success  
errors array - Min: 5; Max:25 Reference number of registered customer group  
name string - Min: 1; Max:60 Name  
phone string - Min: 10; Max:13 Phone  
pic string - Min: 1; Max:60  PIC Name  
email string - email format

Email

 
address string - Min: 1; Max:200

Address

 
registrationNo string -   Registration number of customer  
registrationDate string - date format Registration date when join company  
contractExpiredDate string - date format Expired date customer join company  
customerStatusNotif string -   Status Notif Customer ( 1: SMS, 2: WA) only can choose one of them to setting type of WA/SMS when send invoice notif  
taxAmount string    

Amount of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxOption/ taxIclude is filled

50000;10000
taxOption string    

Amount of tax options are charged to

0: Flexible (default uncheck)

1: Dikunci dan dibayarkan Biller

2: Dikunci dan dipotong tenant

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxAmount/ taxIclude is filled

1;2
taxInclude string    

Include / Exclude Status of Tax to Amount Bruto

0: Exlude

1: Include

0;0
fineAmount string     Amount of Fine  
labelOwner string O   Registered Label Name in Customer  
finePeriod string     The distance between the days of due date to start fine calculation  
fineOption string    

The optional are charged to

0: Flexible (default checked)

1: Dikunci dan wajib dibayar

 
notifOption string    

The option how notif will send

0: Not automate sending

1: Automate sending

 
labelOwner array data   array format Registered Label Name in Customer  
labelPartner array data - array format Label Partner Name which have linked of this customer  
validationError array data - array format validationError will be appear if the response is not success  

Request & Response Payload Sample

Request

--location 'https://sandbox.partner.api.bri.co.id/v1/bsb/customers'
--header 'BRI-Signature: {{signature}}'
--header 'BRI-Timestamp: {{timestamp}}'
--header 'Authorization: Bearer {{token}}'

Normal Response :

{
 "responseCode": "0000",
 "responseMessage": "Success",
 "totalCount": "9",
 "data": [
 {
 "referenceNumCustomer": "CUST1",
 "name": "John Doe",
 "phone": "08997202441",
 "pic": "John Doe",
 "email": "example@mail.com",
 "address": "jakarta",
 "customerStatusNotif": "WA",
 "notifDescription": ",
 "detail": [
 {
 "referenceNumCustomergroup": "TESTJAN10",
 "brivaNo": "106107185000002",
 "groupName": "TEST GROUP"
 }
 ],
 "labelOwner": [],
 "labelPartner": []
 },
 {
 "referenceNumCustomer": "CUST2",
 "name": "John Doe",
 "phone": "081242144445",
 "pic": "John Doe",
 "email": "example@mail.com",
 "address": "Jakarta Selatan",
 "customerStatusNotif": "SMS",
 "notifDescription": ",
 "detail": [
 {
 "referenceNumCustomergroup": "TESTJAN10",
 "brivaNo": "106107185000003",
 "groupName": "TEST GROUP"
 }
 ],
 "labelOwner": [],
 "labelPartner": []
 }
 ]
}

Error Response :

{
   "status":{
      "code":"0601",
      "desc":"Invalid token"
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message Status Code Status Desc

Description

200 0000 Success      
200     0601 Invalid Token Invalid path BRIAPI

6. Customers Get By References Number

Endpoint for get data of customer by spesific reference number

General Information

HTTP Method

POST

Path

/customers/getRefNum

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumCustomer

string

M

 

 

 

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

 

 

 

responseMessage

string

M

 

 

 

Data array -   Data will be appear when the response is success  
errors array -   Detail Error which will be appear when the response is not success  
totalCount string        
referenceNumCustomergroup string - Min: 5; Max:25 Reference number of registered customer group  
name string - Min: 1; Max:60

Name

 
phone string - Min: 10; Max:13 Phone  
pic string - Min: 1; Max:60 PIC Name  
email string - email format

Email

 
address string - Min: 1; Max:200

Address

 
registrationNo string -   Registration number of customer  
registrationDate string - date format Registration date when join company  
contractExpiredDate string - date format Expired date customer join company  
customerStatusNotif string -   Status Notif Customer ( 1: SMS, 2: WA) only can choose one of them to setting type of WA/SMS when send invoice notif  
llabelOwner Array Data - array format Label Owner Name which have linked of this customer  
labelPartner Array Data - array format Label Partner Name which have linked of this customer  
validationError Array Data - array format validationError will be appeat if the response is not success  

Request & Response Payload Sample

Request

{
   "referenceNumCustomer":"SITIUTDEV"
}

Normal Response :

{
   "reponseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumCustomer":"testcek1",
      "name":"John Doe",
      "phone":"085210928756",
      "pic":"John Doe",
      "email":"example@mail.com",
      "address":"jl tebet raya",
      "registrationNo":"1410",
      "registrationDate":"2023-12-01",
      "contractExpiredDate":"2024-12-10",
      "customerStatusNotif":"SMS",
      "notifDescription":",
 ""detail"": [
 {
 ""referenceNumCustomergroup"": "LOV123",
 ""brivaNo"": "106107185000013",
 ""groupName"": ""GROUP TEST""
 }
 ],
 ""labelOwner"": [
 "LT1PWON_1",
 "LT1PWON_2",
 "LT1PWON_3",
 "LT2PWON_1",
 "LT2PWON_2",
 "LT2PWON_3"
 ],
 ""labelPartner""\": []
 }
}

Error Response :

{
   "responseCode":"0006",
   "responseMessage":"Customer not found",
   "errors":{
      "error":"record not found",
      "issueAt":"2023-12-07 10:53:02",
      "validationError":{
         
      }
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

7. Customers Group Get All

Endpoint for get information all of customer group

General Information

HTTP Method

POST

Path

/customers-group

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

4

Response Status Code

"0000", "0001"

responseMessage

string

M

-

Response Description

 

totalCount string - - Data Count  
data array data -   Response Data  
referenceNumber string -   Reference Number from Client  
groupName string -   Group Name  
errors array data -  

 

Only when error
error string -     detail error: "token is expired"
issueAt string -     time

Request & Response Payload Sample

Request

{
   "referenceNumCustomer":"SITIUTDEV"
}

Normal Response :

{
   "reponseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumCustomer":"testcek1",
      "name":"John Doe",
      "phone":"085210928756",
      "pic":"John Doe",
      "email":"example@mail.com",
      "address":"jl tebet raya",
      "registrationNo":"1410",
      "registrationDate":"2023-12-01",
      "contractExpiredDate":"2024-12-10",
      "customerStatusNotif":"SMS",
      "notifDescription":",
 ""detail"": [
 {
 ""referenceNumCustomergroup"": "LOV123",
 ""brivaNo"": "106107185000013",
 ""groupName"": ""GROUP TEST""
 }
 ],
 ""labelOwner"": [
 "LT1PWON_1",
 "LT1PWON_2",
 "LT1PWON_3",
 "LT2PWON_1",
 "LT2PWON_2",
 "LT2PWON_3"
 ],
 ""labelPartner""\": []
 }
}

Error Response :

{
   "responseCode":"0006",
   "responseMessage":"Customer not found",
   "errors":{
      "error":"record not found",
      "issueAt":"2023-12-07 10:53:02",
      "validationError":{
         
      }
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

8. Customers Group Get By References Number

Endpoint for get information of customer group by references number

General Information

HTTP Method

POST

Path

/customers-group/getRefNum

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumCustomergroup

string

M

 

Reference Number Customer Group

 

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

 

Response Status Code

0000", "0001"

responseMessage

string

M

 

Response Description

 

data array data -   Response Data  
referenceNumber array -   Reference Number from Client  
groupName string     Group Name  
errors string -     Only when error
error string -  

 

detail error: "token is expired"
issueAt string -     time

Request & Response Payload Sample

Request

{
   "referenceNumCustomergroup":"CGPSCL"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumCustomergroup":"LOV123",
      "groupName":"Group Test"
   }
}

Error Response :

{
   "status":{
      "code":"0601",
      "desc":"Invalid token"
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

9. Feetype Get All

Endpoint for get data all of registered feetype

General Information

HTTP Method

POST

Path

/feetype

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

4

Response Status Code

"0000", "0001"

responseMessage

string

M

-

Response Description

 

totalCount string M   Total data of All Feetype  
data array data -   Response Data  
referenceNumber string M min:5; max:10 Reference Number from Client  
feetype string M max:40 Group Name  
note string - max:200

 

 
isTax string M  

1: with tax

0: without tax

"1" or "0"
taxType string -   required if isTax is 1  
taxNum string -  

required if isTax is 1

Number

 
isFine string M  

1: with fine setup

0: without fine setup

"1" or "0"

finePeriod string -   required if isFine is 1  
fineNum string -  

required if isFine is 1

Number

 

Request & Response Payload Sample

Request

--location 'https://sandbox.partner.api.bri.co.id/v1/bsb/feetype' \
--header 'BRI-Signature: {{signature}}' \
--header 'BRI-Timestamp: {{timestamp}}' \
--header 'Authorization: Bearer {{token}}'

Normal Response :

{
 "responseCode": "0000",
 "responseMessage": "Success",
 "totalCount": "27",
 "data": [
 {
 "referenceNumFeetype": "FTQA001",
 "feeType": "Sewa Gedung",
 "note": "Sewa gedung bulanan"
 },
 {
 "referenceNumFeetype": ",
 "feeType": "sewa apartemen",
 "note": ""
 },
 {
 "referenceNumFeetype": "PE7891",
 "feeType": "Pembayaran bulan February",
 "note": "coba note fee type"
 }
 ]
}

Error Response :

{
   "status":{
      "code":"0601",
      "desc":"Invalid token"
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

10. Feetype Get By References Number

Endpoint for get data of feetype by spesific reference number

General Information

HTTP Method

POST

Path

/feetype/getRefNum

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumFeetype

string

M

 

Reference number fee type

 

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

4

Response Status Code

0000", "0001"

responseMessage

string

M

-

Response Description

 

data array data -   Response Data  
referenceNumber string M min:5; max:10 Reference Number from Client  
feetype string M max:40 Group Name  
note string - max:200    
isTax string M  

1: with tax

0: without tax

"1" or "0"
taxType string -   required if isTax is 1  
taxNum string -  

required if isTax is 1

Number

 
isFine string M  

1: with fine setup

0: without fine setup

"1" or "0"
finePeriod string -   required if isFine is 1  
fineNum string -  

required if isFine is 1

Number

 

Request & Response Payload Sample

Request

{
   "referenceNumFeetype":"PE7893"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumFeetype":"newfee",
      "feeType":"pembayaran baru",
      "note":""
   }
}

Error Response :

{
   "status":{
      "code":"0601",
      "desc":"Invalid token"
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

11. Invoice Get By References Number

Endpoint for get data invoice by reference number invoice.

General Information

HTTP Method

POST

Path

/invoice/getRefNum

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumInvoice

string

M

 

Reference number invoice

 

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

4

Response Status Code

0000", "0001"

responseMessage

string

M

-

Response Description

 

data array data -   Response Data  
referenceNumberInvoice string M min:5; max:50 Reference Number from Client  
referenceNumberCustomers string M min:5; max:25 Group Name  
referenceNumberFeetype string M min:5; max:10    
amount string M numeric

1: with tax

0: without tax

"1" or "0"
discount string M numeric required if isTax is 1  
expDatePayment string M "yyyy-mm-dd"

required if isTax is 1

Number

 
note string   max:200

1: with fine setup

0: without fine setup

"1" or "0"
additionalFeeType string -  

Type of Additional Fee,

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeeAmount / additionalFeeOption is filled

Materai;Admin
additionalFeeAmount string -  

Amount of Additional Fee,

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeOption is filled

10000;3000
additionalFeeOption string    

Additional fee options are charged to

0: Flexible (default uncheck)

1: Dikunci dan dibayarkan Biller

2: Dikunci dan dipotong tenant

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeAmount is filled

 
taxType string    

Type of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxAmount / taxOption/ taxIclude is filled

PPh;PPn
taxAmount string    

Amount of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxOption/ taxIclude is filled

50000;10000
taxOption string    

Amount of tax options are charged to

0: Flexible (default uncheck)

1: Dikunci dan dibayarkan Biller

2: Dikunci dan dipotong tenant

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxAmount/ taxIclude is filled

1;2
taxInclude string    

Include / Exclude Status of Tax to Amount Bruto

0: Exlude

1: Include

0,0
fineAmount string     Amount of Fine  
finePeriod string     The distance between the days of due date to start fine calculation  
fineOption string    

The optional are charged to

0: Flexible (default checked)

1: Dikunci dan wajib dibayar

 
notifOption string    

The option how notif will send

0: Not automate sending

1: Automate sending

 

Request & Response Payload Sample

Request

{
   "referenceNumInvoice":"SIT/IRM/0205236"
}

Normal Response :

{
 "responseCode": "0000",
 "responseMessage": "Success",
 "data": {
 "referenceNumInvoice": "SIT/IRM/0205236",
 "referenceNumCustomer": "SITIUTDEV",
 "customerName": "John Doe", '
 "referenceNumFeetype": "PE7893",
 "feetype": "", "amount": "575203",
 "additionalFeeType": "Materai",
 "additionalFeeAmount": "6000",
 "additionalFeeTotal": "6000",
 "taxType": "a;a",
 "taxAmount": "40800;40800",
 "taxOption": "0;0",
 "taxTotal": "40800",
 "fineTotal": "448392",
 "fineOption": "0",
 "finePeriod": "1",
 "discount": "1",
 "expDate": "2020-12-12",
 "remarks": "",
 "paidstatus": "0",
 "createDate": "2023-12-15 16:44:25",
 "notifOption": "1",
 "taxInclude": "0;1",
 "additionalFeeOption": "0",
 "fineAmount": "408",
 "labelOwner": "TPP6_PKWN_1"
 }
}

Error Response :

{
   "status":{
      "code":"0601",
      "desc":"Invalid token"
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

12. Payment Get By References Number

 

General Information

HTTP Method

POST

Path

/payment/getRefNum

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumInvoice

string

M

 

 

 

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

 

4

 

0000

responseMessage

string

 

 

 

Success

data array of object        
referenceNumberInvoice string       SIT/IRM/0205234
customersName string       wina api
group string       SOPO DEL TOWER
feetype string    

 

Sewa Gedung
paymentType string       BRIVA
paymentDate string    

 

2023-11-10
paymentAmount string    

 

5.00006e+08
transactionNo string    

 

BRIVA888818004052023
brivaNo string -  

 

106107185000002

Request & Response Payload Sample

Request

{
   "referenceNumInvoice":"SIT/IRM/0205234"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":[
      {
         "referenceNumberInvoice":"SIT/IRM/0205234",
         "customersName":"John Doe",
         "group":"Group Test",
         "feetype":"Sewa Gedung",
         "paymentType":"BRIVA",
         "paymentDate":"2023-11-10",
         "paymentAmount":"5.00006e+08",
         "transactionNo":"BRIVA-888818004052023",
         "brivaNo":"106107185000002"
      }
   ]
}

Error Response :

{
   "status":{
      "code":"0601",
      "desc":"Invalid token"
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  

13. Customers Update

Endpoint for update data of customer

General Information

HTTP Method

POST

Path

/customers/update

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumCustomer

string

M

 

Reference number of registered customer

 

referenceNumCustomergroup string M Min: 5; Max:25 Reference number of registered customer group  
name string M Min: 1; Max:60 Name  
phone string M Min: 10; Max:13 Phone  
pic string M Min: 1; Max:60 PIC Name  
email string M email format Email  
address string M Min: 1; Max:200 Address  
registrationNo string   Number Registration number of customer  
registrationDate string   date format Registration date when join company  
contractExpiredDate string   date format Expired date customer join company  
customerStatusNotif string M   Status Notif Customer ( 1: SMS, 2: WA) only can choose one of them to setting type of WA/SMS when send invoice notif  
labelOwner array data - array format

Label Owner Name

 
labelPartner array data   array format Label Partner Name  
emailNotif string     Additional email notification list for invoice notification. Separated by semicolon ";"  

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

 

 

 

responseMessage

string

M

 

 

 

data array  -   Data will be appear when the response is success  
errors string -   Error will be appear when the response is not success  
referenceNumCustomergroup string - min:5; max:25 Reference number of registered customer group  
name string - Min: 1; Max:60 Name  
phone string - Min: 10; Max:13

Phone

 
pic string - Min: 1; Max:60 PIC Name  
email string - email format

Email

 
address string - Min: 1; Max:200 Adrdress  
registrationNo string -   Registration number of customer  
registrationDate string - date format Registration date when join company  
contractExpiredDate string - date format Expired date customer join company  
customerStatusNotif string -  

Status Notif Customer ( 1: SMS, 2: WA) only can choose one of them to setting type of WA/SMS when send invoice notif

 
labelOwner array data - array format Label Owner Name which have linked of this customer  
labelPartner array data   array format Label Partner Name which have linked of this customer  
emailNotif string     Additional email notification list for invoice notification. Separated by semicolon ";"  
validationError string - array format validationError will be appeat if the response is not success  

Request & Response Payload Sample

Request

{
   "referenceNumCustomer":"johndoe",
   "referenceNumCustomergroup":"jumatest",
   "name":"John Doe",
   "phone":"08123456796",
   "pic":"keca",
   "email":"example@mail.com",
   "address":"Jl. Jakarta raya",
   "registration_no":"1235",
   "registration_date":"2023-12-02",
   "contract_expired_date":"2024-02-02",
   "customerStatusNotif":"SMS",
   "emailNotif":"placeholder@gmail.com;placeholder2@gmail.com"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "phone":"08123456796",
      "name":"John Doe",
      "pic":"keca",
      "email":"example@mail.com",
      "address":"Jl. Jakarta raya",
      "registrationNo":"",
      "registrationDate":"2023-12-11",
      "contractExpiredDate":"2028-12-11",
      "updatedDate":"2023-12-11 09:20:15",
      "brivaNo":"106107185000014",
      "customerStatusNotif":"SMS",
      "notifDescription":"",
      "detail":[
         {
            "referenceNumCustomergroup":"jumatest",
            "brivaNo":"106107185000014",
            "groupName":"Group Test"
         }
      ],
      "labelOwner":null,
      "labelPartner":null,
      "emailNotif":"placeholder@gmail.com;placeholder2@gmail.com"
   }
}

Error Response :

{
   "responseCode":"0012",
   "responseMessage":"Validation",
   "errors":{
      "error":"Validation",
      "issueAt":"2023-12-11 09:23:39",
      "validationError":{
         "phone":[
            "The phone field is required",
            "The phone field must be minimum 10 char",
            "The phone field must be numeric"
         ]
      }
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

14. Customers Group Update

Endpoint for update data of customer group

General Information

HTTP Method

POST

Path

/customers-group/update

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumCustomerGroup

string

M

 

Nomer reference customer group

 

groupName string M   Name Group  

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

4

Response Status Code

"0000", "0001"

responseMessage

string

M

-

Response Description

 

data array data -   Response Data  
referenceNumber string -   Reference Number from Client  
groupName string -   Nama grup  
errors array data -     Only when error
error string -  

 

detail error: "token is expired"
issueAt string -     time

Request & Response Payload Sample

Request

{
   "referenceNumCustomergroup":"CMP472",
   "groupName":"Group Test"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumCustomergroup":"jumatest",
      "groupName":"Group Test"
   }
}

Error Response :

{
   "responseCode":"0012",
   "responseMessage":"Validation",
   "errors":{
      "error":"Validation",
      "issueAt":"2023-12-11 10:33:23",
      "validationError":{
         "groupName":[
            "The groupName field is required",
            "The groupName field must be minimum 3 char",
            "The groupName may only contain letters, numbers, dashes, space"
         ]
      }
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

15. Feetype Update

Endpoint for update data of feetype

General Information

HTTP Method

POST

Path

/feetype/update

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumFeetype

string

M

 

Nomer reference customer group

 

feetype string M max:40 Name Group  
note string - max:200    

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

4

Response Status Code

"0000", "0001"

responseMessage

string

M

-

Response Description

 

data array data -   Response Data  
referenceNumber string M min:5; max:10 Reference Number from Client  
feetype string M max:40 Name Group  
note string - max:200    

Request & Response Payload Sample

Request

{
   "referenceNumFeetype":"PE7893",
   "feeType":"test sit",
   "note":"note fee type"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumFeetype":"newfee",
      "feeType":"Feetest",
      "note":""
   }
}

Error Response :

{
   "status":{
      "code":"0602",
      "desc":"Invalid signature"
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

16. Invoice Update

Endpoint for create new invoice

General Information

HTTP Method

POST

Path

/invoice/update

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumInvoice

string

M

 

Reference numver invoice

 

referenceNumFeetype string M referenceNumberFeetype (40) Reference number of registered feetype  
amount string M numeric    
discount string O numeric Discount percentage 1-99  
expDate string M "yyyy-mm-dd"    
remarks string   max:200    
additionalFeeType string -  

Type of Additional Fee,

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeeAmount / additionalFeeOption is filled

Materai; Admin
additionalFeeAmount string -  

Amount of Additional Fee,

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeOption is filled

10000;3000
additionalFeeOption string    

Additional fee options are charged to

0: Flexible (default uncheck)

1: Dikunci dan dibayarkan Biller

2: Dikunci dan dipotong tenant

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeAmount is filled

2;2
taxType string    

Type of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxAmount / taxOption/ taxIclude is filled

PPh;PPn
taxAmount string    

Amount of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxOption/ taxIclude is filled

50000;10000
taxOption string    

Amount of tax options are charged to

0: Flexible (default uncheck)

1: Dikunci dan dibayarkan Biller

2: Dikunci dan dipotong tenant

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxAmount/ taxIclude is filled

1,2
taxInclude string    

Include / Exclude Status of Tax to Amount Bruto

0: Exlude

1: Include

0;0
fineAmount string     Amount of Fine  
finePeriod string     The distance between the days of due date to start fine calculation  
fineOption string    

The optional are charged to

0: Flexible (default checked)

1: Dikunci dan wajib dibayar

 
notifOption string    

The option how notif will send

0: Not automate sending

1: Automate sending

 
labelOwner string     Registered Label Name in Customer  

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

4

Response Status Code

"0000", "0001"

responseMessage

string

M

-

Response Description

 

data array data -   Response Data  
referenceNumInvoice string M min:5; max:50 Reference Number from Client  
referenceNumCustomer string M min:5; max:25 Name Group  
referenceNumFeetype string M referenceNumberFeetype (40)    
amount string M numeric    
discount string M numeric    
expDate string M "yyyy-mm-dd"    
remarks string - max:200    
additionalFeeType string -  

Type of Additional Fee,

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeeAmount / additionalFeeOption is filled

Materai; Admin
additionalFeeAmount string -  

Amount of Additional Fee,

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeOption is filled

10000;3000
additionalFeeOption string    

Additional fee options are charged to

0: Flexible (default uncheck)

1: Dikunci dan dibayarkan Biller

2: Dikunci dan dipotong tenant

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeAmount is filled

2;2
taxType string    

Type of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxAmount / taxOption/ taxIclude is filled

PPh;PPn
taxAmount string    

Amount of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxOption/ taxIclude is filled

50000;10000
taxOption string    

Amount of tax options are charged to

0: Flexible (default uncheck)

1: Dikunci dan dibayarkan Biller

2: Dikunci dan dipotong tenant

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxAmount/ taxIclude is filled

1;2
taxInclude string    

Include / Exclude Status of Tax to Amount Bruto

0: Exlude

1: Include

0;0
fineAmount string     Amount of Fine  
finePeriod string     The distance between the days of due date to start fine calculation  
fineOption string    

The optional are charged to

0: Flexible (default checked)

1: Dikunci dan wajib dibayar

 
notifOption string    

The option how notif will send

0: Not automate sending

1: Automate sending

 
labelOwner string     Registered Label Name in Customer  

Request & Response Payload Sample

Request

{
   "referenceNumInvoice":"SIT/IRM/0205236",
   "referenceNumFeetype":"PE7893",
   "amount":"80820",
   "discount":"1",
   "note":"SIT CASE 3",
   "expDate":"2020-12-12",
   "additionalFeeType":"Materai",
   "additionalFeeAmount":"6000",
   "additionalFeeOption":"0",
   "taxType":"a;a",
   "taxAmount":"40800;40800",
   "taxOption":"0;0",
   "taxInclude":"0;1",
   "fineAmount":"408",
   "finePeriod":"1",
   "fineOption":"0",
   "notifOption":"1",
   "labelOwner":"TPP6_PKWN_1"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumInvoice":"SIT/IRM/0205236",
      "referenceNumFeetype":"PE7893",
      "feetype":"test sit",
      "additionalFeeTotal":"6000",
      "taxTotal":"40800",
      "amount":"80820",
      "discount":"1",
      "remarks":"",
      "expDate":"2020-12-12",
      "additionalFeeType":"Materai",
      "additionalFeeAmount":"6000",
      "additionalFeeOption":"0",
      "taxType":"a;a",
      "taxAmount":"40800;40800",
      "taxOption":"",
      "taxInclude":"",
      "fineTotal":"448392",
      "fineAmount":"408",
      "finePeriod":"1",
      "fineOption":"0",
      "notifOption":"1",
      "labelOwner":"TPP6_PKWN_1"
   }
}

Error Response :

{
   "responseCode":"0012",
   "responseMessage":"Error Validation",
   "errors":{
      "error":"Error Validation",
      "issueAt":"2023-12-11 14:09:17",
      "validationError":{
         "amount":[
            "The amount field is required",
            "The amount field must be numeric",
            "The amount field value can not be less than 1",
            "The amount field must be maximum 12 character"
         ]
      }
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

17. Customers Delete

Endpoint for delete data of customer

General Information

HTTP Method

POST

Path

/customers/delete

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumCustomer

string

M

 

Reference number of registered customer

 

referenceNumCustomergroup string M   Reference number of registered customer group  

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

 

 

 

responseMessage

string

M

 

 

 

data array -   Data will be appear when the response is success  
errors array -   Detail Error which will be appear when the response is not success  
referenceNumCustomergroup string -   Reference number of registered customer group  
referenceNum string -   Reference number  

Request & Response Payload Sample

Request

{
   "referenceNumCustomer":"Johndue",
   "referenceNumCustomergroup":"Jhondue"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumCustomer":"Johndue",
      "labelOwner":[
         "LT1PWON_1",
         "LT1PWON_2",
         "LT1PWON_3",
         "LT2PWON_1"
      ],
      "labelPartner":[
         "LT2PWON_2",
         "LT2PWON_3"
      ]
   }
}

Error Response :

{
   "status":{
      "code":"0601",
      "desc":"Invalid token"
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

18. Customers Group Delete

Endpoint for delete data of customer group

General Information

HTTP Method

POST

Path

/customers-group/delete

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumCustomergroup

string

M

 

Reference number customer group

 

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

4

Response Status Code

"0000", "0001"

responseMessage

string

M

-

Response Description

 

data array data -   Response Data  
referenceNumber string -   Reference Number from Client  
errors array data -   Reference number of registered customer group Only when error
error string -     detail error: "token is expired"
issueAt string -     time

Request & Response Payload Sample

Request

{
   "referenceNumCustomergroup":"CMP472"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumCustomergroup":"hapus"
   }
}

Error Response :

{
   "status":{
      "code":"0602",
      "desc":"Invalid signature"
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

19. Feetype Delete

Endpoint for delete data of feetype

General Information

HTTP Method

POST

Path

/feetype/delete

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumFeetype

string

M

4

Reference numcer fee type

 

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

4

Response Status Code

"0000", "0001"

responseMessage

string

M

-

Response Description

 

data array data -   Response Data  
referenceNumber string -   Reference Number from Client  

Request & Response Payload Sample

Request

{
   "referenceNumFeetype":"SITIUTDEV"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumFeetype":"test"
   }
}

Error Response :

{
   "status":{
      "code":"0601",
      "desc":"Invalid token"
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

20. Invoice Delete

Endpoint for delete invoice

General Information

HTTP Method

POST

Path

/invoice/delete

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumInvoice

string

M

 

Reference numcer fee type

 

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

4

Response Status Code

"0000", "0001"

responseMessage

string

M

-

Response Description

 

data array data -   Response Data  
referenceNumberInvoice string M min:5; max:50 Reference Number from Client  

Request & Response Payload Sample

Request

{
   "referenceNumInvoice":"INV123"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "referenceNumInvoice":"inv-JohnDoe"
   }
}

Error Response :

{
   "responseCode":"0011",
   "responseMessage":"Data Invoice is not found",
   "errors":{
      "error":"record not found",
      "issueAt":"2023-12-12 10:39:17",
      "validationError":{
         
      }
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

21. Invoice Get by Reference Number Customer

Endpoint for get data invoice by BRIVA number

General Information

HTTP Method

POST

Path

/invoice/custRef

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

referenceNumCustomer

string

M

4

Reference Number Customer

CUST1

referenceNumCustomergroup string O - Reference Number Customer Group LPWON5

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

4

Response Status Code

"0000", "0001"

responseMessage

string

M

-

Response Description

 

data array data -   Response Data  
brivaNo string     BRIVA Number  
customerName string     Customer Name  
groupName string     Group Name  
companyName string     Company Name  
totalInvoiceAmount string     Total Invoice Amount in one Briva  
totalDueAmount string     Total Due Amount in one Briva  
totalPaidAmount string     Total Paid Amount in one Briva  
totalCountInvoice string     Count of All active invoice in one Briva  
detailInvoice array        
feetypeName string     Feetype Name  
amount string     Amount bruto  
discount string     Discount Percent  
taxTotal string     Total Tax  
additionalTotal string     Additional Fee Total  
invoiceAmount string     Invoice Amount  
paidAmount string     Paid Amount  
dueAmount string     Due Amount  

Request & Response Payload Sample

Request

{
   "referenceNumCustomer":"Test",
   "referenceNumCustomergroup":"grouptest"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "customerName":"John doe",
      "referenceNumCustomer":"Test",
      "companyName":"NextDev",
      "detail":[
         {
            "group":"Group Test",
            "referenceNumCustomergroup":"grouptest",
            "brivaNo":"106107185000014",
            "totalInvoiceAmount":"0",
            "totalDueAmount":"0",
            "totalPaidAmount":"0",
            "totalCountInvoice":"0",
            "detailInvoice":[
               
            ]
         }
      ]
   }
}

Error Response :

{
   "responseCode":"0006",
   "responseMessage":"Data customer is not found",
   "errors":{
      "error":"record not found",
      "issueAt":"2023-12-11 11:27:42",
      "validationError":{
         
      }
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

22. Invoice Send Notif by BRIVA

Endpoint for send trigger notif invoice by Briva Number

General Information

HTTP Method

POST

Path

/invoice/notification

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json        

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

brivaNo

string

M

min:15; max:16 Briva Number

 

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

string

M

4

Response Status Code

"0000", "0001"

responseMessage

string

M

-

Response Description

 

data array data -   Response Data  
brivaNo string   min:15; max:15    
customerName string   max:60 Registered customer name  
groupName string   max:60 Registered group name  
companyName string   max:60 Registered company name  
totalInvoiceAmount string     Amount of Total Invoice Active  
totalDueAmount string     Due Amount of Total Invoice Active  
totalPaidAmount string     Paid Amount of Total Invoice Active  
detailNotif string     Description Notif  

Request & Response Payload Sample

Request

--location 'https://sandbox.partner.api.bri.co.id/v1/bsb/invoice/notification'
--header 'Content-Type: application/json'
--header 'BRI-Signature: {{signature}}'
--header 'BRI-Timestamp: {{timestamp}}'
--header 'Authorization: Bearer {{token}}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "brivaNo":"106107185000002",
      "customerName":"John doe",
      "groupName":"Group Test",
      "companyName":"Pakuwon NextDev",
      "totalInvoiceAmount":"1650034000",
      "totalDueAmount":"1570034000",
      "totalPaidAmount":"0",
      "detailNotif":"Harap tunggu, sedang mengirim WA"
   }
}

Error Response :

{
   "status":{
      "code":"0601",
      "desc":"Invalid token"
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  
400 0005 Data Already exist  
400 0006 Data is not found  
400 0009 Generic service error  
400 0013 Wrong format data  
400 0014 Wrong Length Data  

23. Payment Get By BRIVA

Endpoint for get report payment by Briva Number

General Information

HTTP Method

POST

Path

/payment/briva

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Request Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

brivaNo

 

M

   

 

startDate   M 10 YYYY-MM-DD 2020-08-29
endDate   M 10 YYYY-MM-DD 2020-11-05

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

responseCode

 

M

 

 

0000

responseMessage

 

M

 

 

Success

count   M     0
data   O      

Request & Response Payload Sample

Request

{
   "brivaNo":"106107185000002",
   "startDate":"2023-10-01",
   "endDate":"2023-12-11"
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "totalCount":"1",
   "data":[
      {
         "brivaNo":"106107185000002",
         "customerName":"wina api",
         "groupName":"SOPO DEL TOWER",
         "companyName":"Pakuwon NextDev",
         "detailTransaction":{
            "transactionID":"BRIVA-888818004052023",
            "date":"2023-11-10",
            "totalAmount":"500006000",
            "paymentType":"BRIVA"
         }
      }
   ]
}

Error Response :

{
   "responseCode":"0012",
   "responseMessage":"Error Validation",
   "errors":{
      "error":"Error Validation",
      "issueAt":"2023-12-11 15:01:51",
      "validationError":{
         "endDate":[
            "The endDate field is required",
            "The endDate field must be a valid date format yyyy-mm-dd"
         ]
      }
   }
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation  

24. Callback Get Token

Endpoint for get token to third party that used for other callback endpoints

General Information

HTTP Method

POST

Path

/{{version}}/access-token

Tipe Format

JSON

Header Structure

Key

Value

Mandatory

Lenght 

Description

Example

Content-Type application/json M - - -

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

providerId

string

M

-  

 

secretKey string M -    

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

accessToken

string

M

-

 

-

responseCode

string

M

-

 

 

responseMessage string M -    
expiredIn string M - expired token in second  

Request & Response Payload Sample

Request

{
   "providerId":"QwErTy123",
   "secretKey":"PoIuY098"
}

Normal Response :

{
   "responseCode":"00",
   "responseMessage":"success",
   "accessToken":"lfbo1985ujlnbviovQOUB12oifnfiqIO",
   "expiredIn":"180"
}

Error Response :

{
 "responseCode":"01"
 "responseMessage":"Invalid providerId or secretKey"
}

List of Error/Response Code

HTTP Status

Code Status Response Message

Description

200 00 Success Success Success if you get RC 00, otherwise fail
400 01 Failed Invalid providerId or secretKey Transaction Failed

Signature - How to create signature

Sebagai tambahan penjagaan keamanan dalam setiap API request, BRIAPI menggunakan signature untuk memastikan bahwa data di dalam setiap request dan response tidak bisa dibajak dan ditiru oleh pengguna yang tidak sah. Signature memastikan data yang dikirimkan adalah asli dan tidak bisa disanggah. Signature dihasilkan oleh pemakai layanan dan diverifikasi oleh penerima layanan. Signature dibentuk dari payload yang sudah ditentukan, dengan mengimplementasikan algoritma SHA256-HMAC dengan Consumer Secret sebagai kuncinya. Kemudian, akan dilakukan enkripsi dari signature ini dengan menggunakan Base64. Hasil akhirnya akan diletakkan di atribut BRI-Signature di Header.

Payload

Payload terdiri dari path, verb, token, timestamp, dan body.

Example :

path=/v1/payment/callback&verb=POST&token=BearerR04XSUbnm1GXNmDiXx9ysWMpFWBr&timestamp=2019-01-02T13:14:15.678Z&body= 

Detail setiap elemen di dalam payload dijelaskan di bawah ini:

Path

Nilai untuk path adalah URL setelah hostname dan port tanpa query parameters.
contoh:

Dari: https://sandbox.partner.api.bri.co.id/va-debet/v1.0/inquiry-mutasi-va

Verb

Method HTTP dengan huruf kapital.

Contoh: GET, POST, PUT, PATCH, and DELETE.

Token

oken yang dipakai di header Authorization.

Contoh:

Bearer R04XSUbnm1GXNmDiXx9ysWMpFWBr

Timestamp

Timestamp persis saat anda memanggil API. Format timestamp mengikuti format ISO8601 (yyyy-MM-ddTHH:mm:ss.SSSZ). Harus dalam zero UTC offset.
Contoh:: 2019-01-02T13:14:15.678Z 

Body

Body Request untuk dipanggil di API.
Contoh:
&body={"hello":"world"}
If there is no request body, such as on GET call, leave it empty. Example:
&body=

25. Callback Payment

Endpoint for callback payment from BSB to third party

General Information

HTTP Method

POST

Path

/{{version}}/payment/callback

Tipe Format

JSON

Authentication

Token & Signature

Header Structure & Sample

Key

Value

Mandatory

Lenght 

Description

Example

BRI-Signature

{{Signature}}

M

64

 

 

BRI-Timestamp {{timestamp (UTC+0)}}

M

-

ISO 8601 format

 

Authorization Bearer {{Token}}

M

 

Oauth2.0 Token

 

Content-Type application/json M      

Request Parameter & Sample

Field

Data Type

Mandatory

Length

Description

Example

brivaNo

string

M

min:15 ; max:15  

 

transactionDate string M 4 "yyyy-mm-dd hh:hh:hh"  
totalPaymentAmount string M max:10    
transactionID string M max:20 ID transaction from channel   
additionalInfo string M max:60 Reference Number from Client  
paymentType string M      
invoice string M      
referenceNumberInvoice string M min:5; max:50 Reference Number from Client  
referenceNumberCustomers string M min:5; max:25 Reference Number Registered Customer  
referenceNumberFeetype string M min:5; max:10 Reference Number Registered Feetype   
amount string M numeric    
discount string M numeric If not empty. 1-99  
expDatePayment string M "yyyy-mm-dd"    
note string   max:200    
additionalFeeType string    

Type of Additional Fee,

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeeAmount / additionalFeeOption is filled

max each type is 20 character

Materai;Admin
additionalFeeAmount string    

Amount of Additional Fee,

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeOption is filled

max each type is 12 number

10000;3000
additionalFeeOption string    

Additional fee options are charged to

0: Flexible (default uncheck)

1: Locked and paid by Biller

2: Locked and deducted by tenant

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeAmount is filled

2;2
taxType string    

Type of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxAmount / taxOption/ taxIclude is filled

max each type is 20 character

PPh;PPn
taxAmount string    

Amount of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxOption/ taxIclude is filled

max each type is 12 number

50000;10000
taxOption string    

Amount of tax options are charged to

0: Flexible (default uncheck)

1: Locked and paid by Biller

2: Locked and deducted by tenant

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxAmount/ taxIclude is filled

1;2
taxInclude string    

Include / Exclude Status of Tax to Amount Bruto

0: Exlude

1: Include

0;0
fineAmount string     Amount of Fine   
finePeriod string     The distance between the days of due date to start fine calculation  
fineOption string    

The optional are charged to

0: Flexible (default checked)

1: Locked and payable

 
notifOption string    

The option how notif will send

0: Not automate sending

1: Automate sending

 
labelOwner string     Registered owner label  
dueAmount string     Due amount each invoiceID  
paymentAmount string     Payment amount each invoiceID  

Response Structure & Sample

Field

Data Type

Mandatory

Length

Description

Example

ResponseCode

string

M

4

Response Status Code

"0000", "0001"

ResponseDesc

string

M

 

Response Description

 

data array data -   Response Data  
brivaNo string M min:15 ; max:15    
transactionDate string M 4 "yyyy-mm-dd hh:hh:hh"  
totalPaymentAmount string M max:10    
transactionID string M max:20 ID transaction from channel  
additionalInfo string M max:60 Reference Number from Client  
paymentType string M      
invoice string M min:5; max:50 Reference Number from Client  
referenceNumberInvoice string M min:5; max:25 Reference Number Registered Customer   
referenceNumberCustomers string M min:5; max:10 Reference Number Registered Feetype  
referenceNumberFeetype string M numeric    
amount string M numeric If not empty. 1-99  
discount string - "yyyy-mm-dd"    
expDatePayment string M max:200    
note string    

Type of Additional Fee,

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeeAmount / additionalFeeOption is filled

max each type is 20 character

Materai;Admin
additionalFeeType string    

Amount of Additional Fee,

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeOption is filled

max each type is 12 number

10000;3000
additionalFeeAmount string -  

Additional fee options are charged to

0: Flexible (default uncheck)

1: Dikunci dan dibayarkan Biller

2: Dikunci dan dipotong tenant

Max 3 Type,

Use delimiter ( ; )

Required if additonalFeetype / additionalFeeAmount is filled

2;2
additionalFeeOption string    

Type of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxAmount / taxOption/ taxIclude is filled

max each type is 20 character

PPh;PPn
taxType string    

Amount of tax

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxOption/ taxIclude is filled

max each type is 12 number

50000;10000
taxAmount string    

Amount of tax options are charged to

0: Flexible (default uncheck)

1: Locked and paid by Biller

2: Locked and deducted by tenant

Max 3 Type,

Use delimiter ( ; )

Required if taxType / taxAmount/ taxIclude is filled

1;2
taxOption string    

Include / Exclude Status of Tax to Amount Bruto

0: Exlude

1: Include

0;0
taxInclude string    

Include / Exclude Status of Tax to Amount Bruto

0: Exlude

1: Include

 
fineAmount string     Amount of Fine  
finePeriod string     The distance between the days of due date to start fine calculation  
fineOption string    

The optional are charged to

0: Flexible (default checked)

1: Locked and payable

 
notifOption string    

The option how notif will send

0: Not automate sending

1: Automate sending

 
labelOwner string     Registered owner label  
dueAmount string     Due amount each invoiceID  
paymentAmount string     Payment amount each invoiceID  

Request & Response Payload Sample

Request

{
   "brivaNo":"106100200000130",
   "transactionDate":"2024-01-09",
   "totalPaymentAmount":"20050",
   "transactionID":"0000101240100001",
   "additionalInfo":"",
   "paymentType":"BRIVA",
   "invoice":[
      {
         "referenceNumInvoice":"BRIBILL/23",
         "referenceNumCustomer":"IMASIT128",
         "referenceNumFeetype":"IPL001",
         "referenceNumCustomergroup":"STY123",
         "feetype":"Uang Kas",
         "additionalFeeTotal":"0",
         "taxTotal":"0",
         "amount":"20050",
         "discount":"0",
         "remarks":"",
         "expDate":"2024-01-19",
         "additionalFeeType":"",
         "additionalFeeAmount":"0",
         "additionalFeeOption":"",
         "taxType":"0",
         "taxAmount":"0",
         "taxOption":"1",
         "taxInclude":"0",
         "fineTotal":"0",
         "fineAmount":"0",
         "finePeriod":"0",
         "fineOption":"",
         "notifOption":"0",
         "labelOwner":"",
         "dueAmount":"10000",
         "paymentAmount":"10050"
      },
      {
         "referenceNumInvoice":"BRIBILL/57",
         "referenceNumCustomer":"IMASIT128",
         "referenceNumFeetype":"IPL003",
         "referenceNumCustomergroup":"STY123",
         "feetype":"Uang SPP",
         "additionalFeeTotal":"0",
         "taxTotal":"0",
         "amount":"10000",
         "discount":"0",
         "remarks":"",
         "expDate":"2024-01-19",
         "additionalFeeType":"",
         "additionalFeeAmount":"0",
         "additionalFeeOption":"",
         "taxType":"0",
         "taxAmount":"0",
         "taxOption":"1",
         "taxInclude":"0",
         "fineTotal":"0",
         "fineAmount":"0",
         "finePeriod":"0",
         "fineOption":"",
         "notifOption":"0",
         "labelOwner":"",
         "dueAmount":"0",
         "paymentAmount":"10000"
      }
   ]
}

Normal Response :

{
   "responseCode":"0000",
   "responseMessage":"Success",
   "data":{
      "brivaNo":"106100200000130",
      "transactionDate":"2024-01-09",
      "totalPaymentAmount":"20050",
      "transactionID":"0000101240100001",
      "additionalInfo":"",
      "paymentType":"BRIVA",
      "invoice":[
         {
            "referenceNumInvoice":"BRIBILL/23",
            "referenceNumCustomer":"IMASIT128",
            "referenceNumFeetype":"IPL001",
            "referenceNumCustomergroup":"STY123",
            "feetype":"Uang Kas",
            "additionalFeeTotal":"0",
            "taxTotal":"0",
            "amount":"20050",
            "discount":"0",
            "remarks":"",
            "expDate":"2024-01-19",
            "additionalFeeType":"",
            "additionalFeeAmount":"0",
            "additionalFeeOption":"",
            "taxType":"0",
            "taxAmount":"0",
            "taxOption":"1",
            "taxInclude":"0",
            "fineTotal":"0",
            "fineAmount":"0",
            "finePeriod":"0",
            "fineOption":"",
            "notifOption":"0",
            "labelOwner":"",
            "dueAmount":"10000",
            "paymentAmount":"10050"
         },
         {
            "referenceNumInvoice":"BRIBILL/57",
            "referenceNumCustomer":"IMASIT128",
            "referenceNumFeetype":"IPL003",
            "referenceNumCustomergroup":"STY123",
            "feetype":"Uang SPP",
            "additionalFeeTotal":"0",
            "taxTotal":"0",
            "amount":"10000",
            "discount":"0",
            "remarks":"",
            "expDate":"2024-01-19",
            "additionalFeeType":"",
            "additionalFeeAmount":"0",
            "additionalFeeOption":"",
            "taxType":"0",
            "taxAmount":"0",
            "taxOption":"1",
            "taxInclude":"0",
            "fineTotal":"0",
            "fineAmount":"0",
            "finePeriod":"0",
            "fineOption":"",
            "notifOption":"0",
            "labelOwner":"",
            "dueAmount":"0",
            "paymentAmount":"10000"
         }
      ]
   }
}

Error Response :

{
   "responseCode":"0004",
   "responseMessage":"Unauthorized"
}

List of Error/Response Code

HTTP Status

Response Code Response Message

Description

200 0000 Success  
401 0001 Invalid SIgnin Form  
401 0004 Unauthorized  
400 0012 Error Validation