forked from shihaam/thijooree
add support for fahipay login and view history
This commit is contained in:
@@ -0,0 +1,229 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user