Account Statement
Retrieve single or multiple bank account balances
Singleview B2B API services Account statement allows the users with the access to request and retrieve specific user bank account statements. Corporate Customers can use this B2B service to get unaltered and raw account statement information that includes all the majorly required information.
Mandatory information
- The user must provide the valid credentials in the header
- Encrypted and valid Signature and an active "Access Token"
- Request format as specified with all the mandatory details with appropriate request tags
🌐Domain details
- Sandbox API - https://sandboxapi.onesingleview.com
- Production/LIVE API - To be provided upon onboarding
End-point details
Endpoint | HTTP Operation | Grant type | Service validations |
---|---|---|---|
/api/v1/account/statement/940 | POST | The header should include: 1. clientId 2. clientCode 3. Access Token 4. SVReferenceID 5. CompanyId | - Signature verification - IPs Whitelisting - Token Validation - Valid/Active B2B company code - Authorized Account - Statement Date should not be current/Future Date - While requesting the statement date should not be more than 1 day - Statement Date should not be prior to 30 days |
Sample request
curl --location 'https://sandboxapi.onesingleview.com/api/v1/account/statement/940' \
--header 'clientsecret: Enter-Client-Secret' \
--header 'clientid: Enter-Client-Id' \
--header 'SVReferenceID: Enter-SV-Reference-Id' \
--header 'Device: Device-type' \
--header 'DateTimeStamp: YYYY-MM-DDTHH:MM:SS' \
--header 'CompanyId: Enter-Company-Id' \
--header 'BaseCurrency: SAR' \
--header 'Authorization: Bearer <Enter-Token>' \
--header 'Content-Type: application/json' \
--data '{
"Message": {
"OSVAccountStatementRequest": {
"FromDate": "YYYY-MM-DDTHH:MM:SS",
"ToDate": "YYYY-MM-DDTHH:MM:SS",
"DateTimeStamp": "YYYY-MM-DDTHH:MM:SS",
"TransactionType": "Enter_Transaction_Type",
"OSVPaymentInfoMessage": [
{
"OSVPaymentInfoRequest": {
"BankCode": "Enter_Bank_Code",
"CompanyCode": "Enter_Company_Code",
"AccountNumbers": {
"AccountNumber": [
{
"AccNumber": "Account_Number"
}
]
}
}
}
]
}
},
"Signature": "Enter_Signature_String"
}
Request description:
JSON Tag | Description | Data type |
---|---|---|
Message Mandatory | Header information (client credentials) | Object & String |
OSVAccountStatementRequest Mandatory | Root node | Object |
FromDate Mandatory | From date | String |
ToDate Mandatory | To date | String |
DateTimeStamp Mandatory | Enquiry Date | String |
TransactionType Mandatory | Always it should be “940” | String |
OSVPaymentInfoMessage Mandatory | This tag contains multiple banks requests | Object |
OSVPaymentInfoRequest Mandatory | Element root | Object |
BankCode Mandatory | Name of the bank. Ex: “ALRAJHI”, “SABB” | String |
CompanyCode Mandatory | Sender company code/Identifier provided by the bank during on-boarding | String |
AccountNumbers Mandatory | Array of accounts | Array of Strings |
AccountNumber Mandatory | Bank account number | String |
Signature Mandatory | Encrypted string obtained by processing request body with Private Key/Certificate through SHA-256 with RSA Algorithm (Crypto : JCE Sign) | String |
Sample responses
{
"OSVAccoutStatementResponse": {
"FromDate": "2023-02-12T00:00:00",
"ToDate": "2023-02-12T23:59:59",
"TransactionType": "940",
"OSVPaymentInfoMessageResponse": [
{
"BankCode": "ANB",
"CompanyCode": "Jazeera",
"B2BUrn": "",
"B2BAggrId": "",
"B2BUserId": "",
"StatusCode": "OK",
"StatusDetail": "OK",
"ResponseItemCount": "",
"TotalOpeningBalance": 491959149.42,
"TotalOpeningBalanceUSD": 0,
"TotalOpeningBalanceAED": 0,
"TotalOpeningBalanceGBP": 0,
"TotalOpeningBalanceINR": 0,
"TotalOpeningBalanceKWD": 0,
"TotalOpeningBalanceBHD": 0,
"TotalOpeningBalanceEUR": 0,
"TotalClosingBalance": 491959795.67,
"TotalClosingBalanceUSD": 0,
"TotalClosingBalanceAED": 0,
"TotalClosingBalanceGBP": 0,
"TotalClosingBalanceINR": 0,
"TotalClosingBalanceKWD": 0,
"TotalClosingBalanceBHD": 0,
"TotalClosingBalanceEUR": 0,
"OSVPaymentInfoResponse": [
{
"StatusCode": "OK",
"StatusDetail": "OK",
"TransactionType": "940",
"SequenceNum": "",
"AccountNumber": "0108057386290014",
"ReceiptTime": "",
"ProcessStatus": "",
"TransactionData": {
"UniqueReference": "",
"RelatedReferenceNumber": "",
"AccountNumber": "0108057386290014",
"StatementNo": "",
"TransactionTime": "",
"CurrencyAmountCode": "",
"OpeningBalance": {
"DCMark": "",
"Date": "",
"Currency": "SAR",
"Amount": 491959149.42
},
"TransactionDetails": [
{
"ValueDate": "230212",
"EntryDate": "0212",
"PostingTime": "",
"DCMark": "C",
"FundsCode": "",
"Amount": 50,
"TransactionType": "56",
"IdentificationCode": "",
"AccountOwnerReference": "68230212070856",
"BankReference": "2967375840-تحويل بين حساباتي",
"Description": "2967375840-تحويل بين حساباتيOwn account transfer68230212070856",
"SourceAccount": "0108057386290052",
"SourceID": "",
"SourceAccountName": "2967375840-تحويل بين حساباتي"
},
{
"ValueDate": "230212",
"EntryDate": "0212",
"PostingTime": "",
"DCMark": "D",
"FundsCode": "",
"Amount": 6,
"TransactionType": "56",
"IdentificationCode": "",
"AccountOwnerReference": "2000000294",
"BankReference": "6296820270",
"Description": "6296820270ANB to Local Banks transfer2000000294",
"SourceAccount": "",
"SourceID": "",
"SourceAccountName": "6296820270"
},
{
"ValueDate": "230212",
"EntryDate": "0212",
"PostingTime": "",
"DCMark": "D",
"FundsCode": "",
"Amount": 6,
"TransactionType": "56",
"IdentificationCode": "",
"AccountOwnerReference": "2000000294",
"BankReference": "BT7296820276",
"Description": "BT7296820276ANB to Local Banks transfer2000000294",
"SourceAccount": "",
"SourceID": "",
"SourceAccountName": "BT7296820276"
},
{
"ValueDate": "230212",
"EntryDate": "0212",
"PostingTime": "",
"DCMark": "C",
"FundsCode": "",
"Amount": 1000,
"TransactionType": "56",
"IdentificationCode": "",
"AccountOwnerReference": "69230212072522",
"BankReference": "8063276811-شراء عن طريق الأونلاين",
"Description": "8063276811-شراء عن طريق الأونلاينOnline purchase69230212072522",
"SourceAccount": "0108057386290052",
"SourceID": "",
"SourceAccountName": "8063276811-شراء عن طريق الأونلاين"
},
{
"ValueDate": "230212",
"EntryDate": "0212",
"PostingTime": "",
"DCMark": "D",
"FundsCode": "",
"Amount": 6,
"TransactionType": "56",
"IdentificationCode": "",
"AccountOwnerReference": "2000000294",
"BankReference": "BT7296820350",
"Description": "BT7296820350ANB to Local Banks transfer2000000294",
"SourceAccount": "",
"SourceID": "",
"SourceAccountName": "BT7296820350"
},
{
"ValueDate": "230212",
"EntryDate": "0212",
"PostingTime": "",
"DCMark": "C",
"FundsCode": "",
"Amount": 100,
"TransactionType": "56",
"IdentificationCode": "",
"AccountOwnerReference": "74230212074459",
"BankReference": "8040097872-تحويل بين حساباتي",
"Description": "8040097872-تحويل بين حساباتيDeposit to the wallet74230212074459",
"SourceAccount": "0108057386290052",
"SourceID": "",
"SourceAccountName": "8040097872-تحويل بين حساباتي"
},
{
"ValueDate": "230212",
"EntryDate": "0212",
"PostingTime": "",
"DCMark": "C",
"FundsCode": "",
"Amount": 20,
"TransactionType": "56",
"IdentificationCode": "",
"AccountOwnerReference": "75230212074756",
"BankReference": "4956708890-تحويل بين حساباتي",
"Description": "4956708890-تحويل بين حساباتيDeposit to the wallet75230212074756",
"SourceAccount": "0108057386290052",
"SourceID": "",
"SourceAccountName": "4956708890-تحويل بين حساباتي"
},
{
"ValueDate": "230212",
"EntryDate": "0212",
"PostingTime": "",
"DCMark": "D",
"FundsCode": "",
"Amount": 505.75,
"TransactionType": "56",
"IdentificationCode": "",
"AccountOwnerReference": "17191",
"BankReference": "7969204623-مدفوعات تجارية",
"Description": "7969204623-مدفوعات تجاريةB2B OUTGOING - 1719117191",
"SourceAccount": "",
"SourceID": "",
"SourceAccountName": "7969204623-مدفوعات تجارية"
}
],
"ClosingBalance": {
"DCMark": "",
"Date": "",
"Currency": "SAR",
"Amount": 491959795.67
},
"ClosingAvailableBalance": {
"DCMark": "",
"Date": "",
"Currency": "",
"Amount": ""
},
"Comment": "",
"TotalNumberOfDebits": "",
"TotalNumberOfCredits": ""
}
}
]
}
]
}
}
{
"OSVAccoutStatementResponse": {
"FromDate": "2023-02-12T00:00:00",
"ToDate": "2023-02-12T23:59:59",
"TransactionType": "940",
"OSVPaymentInfoMessageResponse": [
{
"BankCode": "NCB",
"CompanyCode": "OSV0001",
"B2BUrn": "",
"B2BAggrId": "",
"B2BUserId": "",
"StatusCode": "Failed",
"StatusDetail": "Failed",
"ResponseItemCount": "1",
"TotalOpeningBalance": "",
"TotalOpeningBalanceUSD": "",
"TotalOpeningBalanceAED": "",
"TotalOpeningBalanceGBP": "",
"TotalOpeningBalanceINR": "",
"TotalOpeningBalanceKWD": "",
"TotalOpeningBalanceBHD": "",
"TotalOpeningBalanceEUR": "",
"TotalClosingBalance": "",
"TotalClosingBalanceUSD": "",
"TotalClosingBalanceAED": "",
"TotalClosingBalanceGBP": "",
"TotalClosingBalanceINR": "",
"TotalClosingBalanceKWD": "",
"TotalClosingBalanceBHD": "",
"TotalClosingBalanceEUR": "",
"OSVPaymentInfoResponse": [
{
"StatusCode": "Failed",
"StatusDetail": "Unauthorized to access the service",
"TransactionType": "940",
"SequenceNum": "",
"AccountNumber": "05100002696502",
"ReceiptTime": "",
"ProcessStatus": "",
"TransactionData": {
"UniqueReference": "",
"RelatedReferenceNumber": "",
"AccountNumber": "05100002696502",
"StatementNo": "",
"TransactionTime": "",
"CurrencyAmountCode": "",
"OpeningBalance": {
"DCMark": "",
"Date": "",
"Currency": "",
"Amount": ""
},
"TransactionDetails": [],
"ClosingBalance": {
"DCMark": "",
"Date": "",
"Currency": "",
"Amount": ""
},
"ClosingAvailableBalance": {
"DCMark": "",
"Date": "",
"Currency": "",
"Amount": ""
},
"Comment": "",
"TotalNumberOfDebits": "",
"TotalNumberOfCredits": ""
}
}
]
}
]
}
}
Response description
JSON Tag | Description | Data type |
---|---|---|
OSVAccoutStatementResponse | Root node | Object |
FromDate | From Date | String |
ToDate | To Date | String |
TransactionType | Always it should be “940” | String |
OSVPaymentInfoMessageResponse | Element root containing response of every bank | Object |
BankCode | Name of the bank Ex: “ALRAJHI”, “SABB” | String |
CompanyCode | Sender company code/Identifier provided by the bank during on-boarding | String |
StatusCode | Success/Failed | String |
StatusDetail | Success/Failed | String |
ResponseItemCount | No of the banks in the request | String |
TotalOpeningBalance | Total Opening Balance | String |
TotalClosingBalance | Total Closing Balance | String |
OSVPaymentInfoResponse | This tag contains the status of the Bank Accounts | Object |
TransactionType | Always it should be “940” | String |
StatusCode | Success/Failed | String |
StatusDetail | Success/Failed | |
SequenceNum | Count of the accounts per the bank | String |
AccountNumber | Account Number | String |
ReceiptTime | Receipt Time of the Enquiry | String |
ProcessStatus | ||
TransactionData | Element root | String |
UniqueReference | Statement reference number | String |
RelatedReferenceNumber | String | |
AccountNumber | Account Number | String |
StatementNo | Statement Number | String |
CurrencyAmountCode | String | |
OpeningBalance | Root element | String |
DCMark | Credit/Debit mark | String |
Date | Date of the credit and debit amount | String |
Currency | Account Currency. Maximum length of Currency should be 3. E.g. SAR | String |
Amount | Amount | String |
TransactionDetails | Root element contains the statement of the account | String |
ValueDate | Statement Date Ex: 230213 | String |
EntryDate | Statement Date Ex: 0213 | String |
DCMark | Transaction Credit/Debit | String |
FundsCode | String | |
Amount | Credit/Debit Amount | String |
TransactionType | S: Swift Transfer N: Non Swift Transfer F: First Advice | String |
IdentificationCode | ||
AccountOwnerReference | Account Owner Reference Number | String |
BankReference | Bank Reference Number | String |
Description | Transaction Description | String |
SourceAccount | Source Account | String |
SourceID | Source ID | String |
SourceAccountName | Source Account Name | String |
CardType | Card Type | String |
Updated about 2 months ago