All checks were successful
Auto Tag on Version Change / check-version (push) Successful in 4s
229 lines
6.2 KiB
Markdown
229 lines
6.2 KiB
Markdown
# Dashboard
|
|
|
|
Fetch all accounts for the active profile: CASA (savings/current), cards (prepaid/credit/debit), and loans.
|
|
|
|
---
|
|
|
|
## Endpoint
|
|
|
|
```
|
|
GET https://www.bankofmaldives.com.mv/internetbanking/api/mobile/dashboard
|
|
```
|
|
|
|
---
|
|
|
|
## Prerequisites
|
|
|
|
- Valid `access_token` from [OAuth Token Exchange](03-oauth-token.md)
|
|
|
|
---
|
|
|
|
## Request
|
|
|
|
### Headers
|
|
|
|
| Header | Value |
|
|
|---|---|
|
|
| `Authorization` | `Bearer <access_token>` |
|
|
| `User-Agent` | `bml-mobile-banking/348 ({manufacturer}; Android {version}; {model})` |
|
|
| `x-app-version` | `2.1.44.348` |
|
|
|
|
```bash
|
|
curl --request GET \
|
|
--url 'https://www.bankofmaldives.com.mv/internetbanking/api/mobile/dashboard' \
|
|
--header 'Authorization: Bearer <access_token>' \
|
|
--header 'User-Agent: bml-mobile-banking/348 ({manufacturer}; Android {version}; {model})' \
|
|
--header 'x-app-version: 2.1.44.348'
|
|
```
|
|
|
|
---
|
|
|
|
## Response
|
|
|
|
```json
|
|
{
|
|
"success": true,
|
|
"payload": {
|
|
"dashboard": [
|
|
{
|
|
"id": "abc123def456",
|
|
"account": "7730000000001",
|
|
"account_type": "CASA",
|
|
"product": "Current Account",
|
|
"alias": "My Account",
|
|
"currency": "MVR",
|
|
"account_status": "Active",
|
|
"availableBalance": 1234.56,
|
|
"ledgerBalance": 1250.00,
|
|
"lockedAmount": 15.44
|
|
},
|
|
{
|
|
"id": "xyz789",
|
|
"account": "7730000000002",
|
|
"account_type": "CASA",
|
|
"product": "Savings Account",
|
|
"alias": "USD Savings",
|
|
"currency": "USD",
|
|
"account_status": "Active",
|
|
"availableBalance": 500.00,
|
|
"ledgerBalance": 500.00,
|
|
"lockedAmount": 0.0
|
|
},
|
|
{
|
|
"id": "card001",
|
|
"account": "4111111111111111",
|
|
"account_type": "Card",
|
|
"product": "Visa Debit",
|
|
"alias": "My Debit Card",
|
|
"currency": "MVR",
|
|
"account_status": "Active",
|
|
"prepaid_card": false,
|
|
"product_code": "VISA",
|
|
"account_visible": false,
|
|
"cardBalance": {
|
|
"AvailableLimit": 0.0,
|
|
"CurrentBalance": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "card002",
|
|
"account": "4111111111112222",
|
|
"account_type": "Card",
|
|
"product": "Visa Prepaid",
|
|
"alias": "Prepaid",
|
|
"currency": "MVR",
|
|
"account_status": "Active",
|
|
"prepaid_card": true,
|
|
"product_code": "VISA",
|
|
"account_visible": true,
|
|
"cardBalance": {
|
|
"AvailableLimit": 200.00,
|
|
"CurrentBalance": 50.00
|
|
}
|
|
},
|
|
{
|
|
"id": "loan001",
|
|
"account": "9900000000001",
|
|
"account_type": "Loan",
|
|
"product": "Personal Finance",
|
|
"alias": "My Loan",
|
|
"currency": "MVR",
|
|
"account_status": "Active",
|
|
"availableBalance": -30000.0
|
|
}
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Response Fields
|
|
|
|
### Top-level
|
|
|
|
| Field | Type | Description |
|
|
|---|---|---|
|
|
| `success` | `bool` | `true` on success |
|
|
| `payload.dashboard` | `array` | List of account objects; order may vary |
|
|
|
|
### Common Account Fields
|
|
|
|
| Field | Type | Description |
|
|
|---|---|---|
|
|
| `id` | `string` | Internal BML account ID — use this for history and loan detail calls |
|
|
| `account` | `string` | Account or card number (as displayed) |
|
|
| `account_type` | `string` | Account category — see table below |
|
|
| `product` | `string` | Product name (e.g. `"Current Account"`, `"Visa Prepaid"`) |
|
|
| `alias` | `string` | User-assigned label; may be blank |
|
|
| `currency` | `string` | ISO 4217 currency code (e.g. `"MVR"`, `"USD"`) |
|
|
| `account_status` | `string` | `"Active"` or other status strings |
|
|
|
|
### Account Types
|
|
|
|
| `account_type` | Description |
|
|
|---|---|
|
|
| `CASA` | Current Account or Savings Account |
|
|
| `Card` | Debit, credit, or prepaid card |
|
|
| `Loan` | Loan or financing account |
|
|
|
|
---
|
|
|
|
## CASA Fields
|
|
|
|
| Field | Type | Description |
|
|
|---|---|---|
|
|
| `availableBalance` | `number` | Available balance (funds available to use) |
|
|
| `ledgerBalance` | `number` | Book balance (may include pending transactions) |
|
|
| `lockedAmount` | `number` | Blocked/reserved amount |
|
|
|
|
---
|
|
|
|
## Card Fields
|
|
|
|
| Field | Type | Description |
|
|
|---|---|---|
|
|
| `prepaid_card` | `bool` | `true` for prepaid cards |
|
|
| `product_code` | `string` | Card scheme (e.g. `"VISA"`) |
|
|
| `account_visible` | `bool` | `true` for credit cards, `false` for debit cards |
|
|
| `cardBalance.AvailableLimit` | `number` | Available credit/prepaid balance |
|
|
| `cardBalance.CurrentBalance` | `number` | Current outstanding balance |
|
|
|
|
### Card Profile Types
|
|
|
|
| Condition | Type |
|
|
|---|---|
|
|
| `prepaid_card: true` | Prepaid card |
|
|
| `prepaid_card: false` AND `account_visible: true` | Credit card |
|
|
| `prepaid_card: false` AND `account_visible: false` | Debit card |
|
|
|
|
### Product Code → Card Name
|
|
|
|
The `product_code` field identifies the specific card product. Known mappings:
|
|
|
|
| `product_code` | Card name | Asset |
|
|
|---|---|---|
|
|
| `C8201` | Mastercard Prepaid | `master_prepaid` |
|
|
| `C8205` | Mastercard Prepaid Travel | `master_prepaid_travel` |
|
|
| `C8005` | Mastercard Prepaid Travel (alt) | `master_prepaid_travel` |
|
|
| `C3007` | Amex Debit Green | `amex_debit_green` |
|
|
| `C1007` | Visa Debit | `visa_debit` |
|
|
| `C1003` | Visa Gold | `visa_gold` |
|
|
| `C8022` | Mastercard Gold | `master_gold` |
|
|
| `C1020` | Visa Debit Platinum | `visa_debit_platinum` |
|
|
| `C8902` | Mastercard Islamic | `master_islamic` |
|
|
| `C8101` | Mastercard Masveriyaa | `master_masveriyaa` |
|
|
| _(unknown)_ | Any other code | default card image |
|
|
|
|
Additional product codes exist in the wild (Amex credit/gold/platinum, Mastercard Business, Odiveriyaa, Passport, World, Visa corporate/infinite/student etc.) but their codes have not been mapped yet.
|
|
|
|
---
|
|
|
|
## Loan Fields
|
|
|
|
| Field | Type | Description |
|
|
|---|---|---|
|
|
| `availableBalance` | `number` | Outstanding balance — returned as a negative number; use `abs()` for display |
|
|
|
|
For full loan details (interest rate, repayment schedule, overdue info), call [GET /api/mobile/account/{id}](05-userinfo.md#loan-detail).
|
|
|
|
---
|
|
|
|
## Error Responses
|
|
|
|
### Expired session
|
|
|
|
HTTP `401` or `419` — the access token has expired. Attempt [token refresh](03-oauth-token.md#token-refresh).
|
|
|
|
### Server error
|
|
|
|
HTTP `5xx` — BML server-side error. Retry after a delay.
|
|
|
|
---
|
|
|
|
|
|
|
|
---
|
|
|
|
[← OAuth Token](03-oauth-token.md) **Next →** [User Info](05-userinfo.md)
|