Deposit Transactions API - Developer Documentation
Introduction
The Deposit Transactions API provides comprehensive functionality for managing deposit account transactions including deposits, withdrawals, transfers, and account control operations.
Available Commands
Transaction Operations
| Command | Description | Type |
|---|---|---|
| InitiateDeposit | Process a deposit transaction to a deposit account | Command |
| InitiateWithdrawal | Process a withdrawal transaction from a deposit account | Command |
| InitiateTransfer | Transfer funds between deposit accounts | Command |
Account Control Operations
| Command | Description | Type |
|---|---|---|
| LockDepositAccount | Lock/freeze an entire deposit account | Command |
| UnLockDepositAccount | Unlock/unfreeze a deposit account | Command |
| ActivatePNDOnAccount | Activate Post-No-Debit (PND) restriction on account | Command |
| ReleasePNDFromDepositAccount | Release Post-No-Debit restriction from account | Command |
Amount Lock Operations
| Command | Description | Type |
|---|---|---|
| LockDepositAmount | Place a hold/lock on a specific amount in account | Command |
| DeleteDepositLockAmount | Release/remove an amount lock | Command |
| SeizeDepositLockAmount | Convert locked amount to actual debit | Command |
| GetLockDepositAmount | Query locks on a specific account | Query |
| GetAllCustomerLockDepositAmount | Query locks across all customer accounts | Query |
Common Request Pattern
All deposit transaction commands follow a consistent request pattern:
{
"commandName": "CommandNameHere",
"data": {
"field1": "value1",
"field2": "value2"
}
}
Common Response Pattern
{
"isSuccessful": true,
"statusCode": "00",
"message": "Operation completed successfully",
"data": {},
"pages": 0,
"hasNext": false,
"hasPrevious": false,
"count": 0,
"size": 0
}
Authentication
All API requests require Bearer token authentication:
Authorization: Bearer {your_access_token}
Content-Type: application/json
Key Concepts
Account States
- Active: Normal operating state
- Locked: Account frozen, no transactions allowed
- PND (Post-No-Debit): Only credits allowed, no debits
- Dormant: Inactive account requiring reactivation
Balance Types
- Account Balance: Total funds in account
- Blocked Amount: Sum of all locked amounts
- Available Balance: Account Balance - Blocked Amount
Transaction Types
- Deposit: Credit to account
- Withdrawal: Debit from account
- Transfer: Move funds between accounts
- AmountLock: Hold funds without debiting
Response Codes
| Code | Description | Action |
|---|---|---|
00 | Success | Operation completed successfully |
CBS_400 | Bad Request | Review request parameters |
CBS_402 | Insufficient Balance | Verify account balance |
CBS_404 | Not Found | Verify account/reference exists |
CBS_409 | Conflict/Duplicate | Use unique reference |
Error Handling
Standard Error Response
{
"isSuccessful": false,
"statusCode": "CBS_ERROR_CODE",
"message": "Detailed error message",
"data": null
}
Best Practices
- Always check
isSuccessfulbefore processing response data - Log
statusCodefor debugging and monitoring - Display
messageto end users when appropriate - Implement retry logic for transient errors
- Validate inputs before sending requests
Quick Start Example
C# Example
public async Task<CommandExecutionResponse> ProcessDeposit(
string accountNumber,
decimal amount)
{
var request = new
{
commandName = "InitiateDepositCommand",
data = new
{
accountEncodedKey = accountNumber,
amount = amount,
transactionChannelKey = "TELLER",
notes = "Cash deposit"
}
};
var response = await _httpClient.PostAsJsonAsync(
"/api/bpm/cmd",
request);
return await response.Content.ReadAsAsync<CommandExecutionResponse>();
}
JavaScript Example
async function processDeposit(accountNumber, amount) {
const response = await fetch('/api/bpm/cmd', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${accessToken}`
},
body: JSON.stringify({
commandName: 'InitiateDepositCommand',
data: {
accountEncodedKey: accountNumber,
amount: amount,
transactionChannelKey: 'TELLER',
notes: 'Cash deposit'
}
})
});
return await response.json();
}
Related Documentation
- Deposit Accounts API - Account management
- Teller Transactions API - Teller operations
- Product Documentation - Business user guide
Support
For technical assistance:
- API Documentation Issues: GitHub Issues
- Integration Support: developers@banklingo.com
- Technical Support: support@banklingo.com
Last Updated: December 17, 2025
API Version: 1.0