API BRI Smart Billing - BSB
Informasi API
Title |
API Spek BSB - BRI Smart Billing |
---|---|
Version |
v1.0 |
URL Sandbox |
|
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 :
|
v1.0 |
v1.2.0 |
28 Nov 2023 |
Halaman ini |
Penambahan Endpoint :
|
v1.0 |
v1.3.0 |
15 Dec 2023 |
Halaman ini |
Perubahan spec untuk endpoint :
|
v1.0 |
v1.4.0 |
22 Dec 2023 |
Halaman ini |
Penyesuaian field pada endpoint :
|
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 | |
String | M | email format | |||
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 | |
String | M | email format | |||
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 | |
string | - | email format |
|
||
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 | |
string | - | email format |
|
||
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 | |
string | M | email format | |||
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 | |
string | - | email format |
|
||
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×tamp=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 |