Files
basedbank/docs/fahipayapi/03-profile.md
Shihaam Abdul Rahman 7864655a82
All checks were successful
Auto Tag on Version Change / check-version (push) Successful in 2s
add support for fahipay login and view history
2026-05-16 21:31:34 +05:00

230 lines
5.2 KiB
Markdown

# User Profile
Fetch the authenticated user's full profile, including personal details, linked bank accounts, wallet settings, and permissions.
---
## Endpoint
```
GET https://fahipay.mv/actions/getprofile/?lang=en
```
---
## Prerequisites
- Valid `authID` from [login](01-login.md) or [OTP](02-otp.md)
- Valid `__Secure-sess` session cookie
---
## Request
### Headers
| Header | Value |
|---|---|
| `authid` | `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` |
| `content-type` | `multipart/form-data` |
| `User-Agent` | `okhttp/4.12.0` |
| `Accept-Encoding` | `gzip` |
| `Connection` | `Keep-Alive` |
| `Cookie` | `__Secure-sess=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` |
---
## curl Example
```bash
curl --request GET \
--url 'https://fahipay.mv/actions/getprofile/?lang=en' \
--compressed \
--header 'Accept-Encoding: gzip' \
--header 'Connection: Keep-Alive' \
--header 'Cookie: __Secure-sess=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
--header 'User-Agent: okhttp/4.12.0' \
--header 'authid: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
--header 'content-type: multipart/form-data'
```
---
## Response
```json
{
"nidexpiry": "2027-06-01",
"about": "",
"email": "user@example.com",
"country": "Maldives",
"fullname": "Mohamed Ali",
"postcode": "",
"props": {
"accs": {
"bml": {
"mvr": "7730000000001",
"usd": "7730000000002",
"mvr2": "7770000000003"
},
"cbm": {
"mvr": "1000000001"
},
"mib": {
"mvr": "90101000000001000",
"usd": "90101000000002000"
},
"sbi": {
"mvr": "12600000000001"
}
},
"lang": "en",
"wsize": 5000,
"withdraw": {
"fee": "3",
"unit": "%",
"freelimit": 0
},
"IDverified": 1,
"thresholds": {
"amount": 0,
"countries": {
"list": [],
"mode": "deny"
},
"frequency": 0
},
"amountTopup": 1,
"receiptTopup": 1,
"verifiedWith": "efaas",
"notifications": {
"txn": ["push"],
"login": ["push", "email"],
"balance": ["push"]
},
"allowedActions": [
"withdraw",
"payment",
"topup",
"transfer"
],
"two_factor_enabled": 1,
"efaas_login_enabled": 0,
"acc": "500000000001",
"walletType": "basic"
},
"mobile": "9600000001",
"city": "101",
"nid": "A123456",
"level": "1",
"address": "Example Address",
"accs": {
"bml": [
{ "name": "MOHAMED ALI" }
]
},
"invitecode": "XXXXX",
"profileID": "0000",
"verificationUploadMethods": ["camera", "file"],
"faceVerificationRequired": true,
"p2pqr": "https://fahipay.mv/api/qrcode/?data=9600000001",
"smsAuth": "xxxxxxxxxxxxxxxxxxxx",
"type": "success"
}
```
---
## Key Fields
### Top-level
| Field | Type | Description |
|---|---|---|
| `fullname` | `string` | User's full name |
| `email` | `string` | Registered email address |
| `mobile` | `string` | Registered mobile number |
| `nid` | `string` | National ID card number (e.g. `A239225`) |
| `nidexpiry` | `string` | NID expiry date (`YYYY-MM-DD`) |
| `profileID` | `string` | Fahipay internal numeric user ID — use in `loginTag` |
| `level` | `string` | Account verification level |
| `country` | `string` | Registered country |
| `city` | `string` | City code |
| `address` | `string` | Street address |
| `invitecode` | `string` | Referral invite code |
| `p2pqr` | `string` | URL to this user's P2P QR code image |
| `type` | `string` | `"success"` or `"error"` |
---
### `props` Object
| Field | Type | Description |
|---|---|---|
| `acc` | `string` | The user's Fahipay wallet account number |
| `walletType` | `string` | `"basic"` or `"premium"` |
| `wsize` | `number` | Wallet size / transaction limit |
| `two_factor_enabled` | `number` | `1` if TOTP 2FA is active |
| `efaas_login_enabled` | `number` | `1` if eFaas login is enabled |
| `IDverified` | `number` | `1` if identity is verified |
| `allowedActions` | `string[]` | Permitted operations: `withdraw`, `payment`, `topup`, `transfer` |
> `props.acc` is the wallet account number shown in the app and used as the primary account identifier.
---
### `props.accs` — Linked Bank Accounts
Contains the user's bank accounts linked to Fahipay, organised by bank code. Used when topping up or withdrawing via linked banks.
| Key | Bank |
|---|---|
| `bml` | Bank of Maldives |
| `mib` | Maldives Islamic Bank |
| `cbm` | Central Bank of Maldives |
| `sbi` | State Bank of India |
Each bank entry is an object of named account numbers:
```json
"bml": {
"mvr": "7730000145458",
"usd": "7730000199959",
"mvr2": "7770000045775"
}
```
Store the raw JSON of `props.accs` — it is needed to determine the source account when initiating top-ups or withdrawals.
---
### `props.withdraw`
| Field | Description |
|---|---|
| `fee` | Withdrawal fee amount |
| `unit` | Fee unit — `%` = percentage, otherwise fixed |
| `freelimit` | Free withdrawal limit (0 = no free limit) |
---
## Error Response
```json
{
"title": "Error",
"msg": "Unauthorized",
"type": "error"
}
```
If the `authID` is invalid or expired, re-run the full [login flow](01-login.md).
---
 
---
[← OTP / 2FA](02-otp.md)     **Next →** [Balance](04-balance.md)