All checks were successful
Auto Tag on Version Change / check-version (push) Successful in 3s
2.4 KiB
2.4 KiB
Number Validation
Validate an Ooredoo mobile number and determine its account type (prepaid, postpaid, or hybrid).
Endpoint
GET https://www.ooredoo.mv/ooredoo-prod/QuickPayPackage/v1/numberTypeValidation
Request
Query Parameters
| Parameter | Value | Notes |
|---|---|---|
action |
cust_details |
Always cust_details |
msisdn |
9607654321 |
Full MSISDN — country code 960 + 7-digit local number |
curl Example
curl --request GET \
--url 'https://www.ooredoo.mv/ooredoo-prod/QuickPayPackage/v1/numberTypeValidation?action=cust_details&msisdn=9609654321'
Responses
Success — Prepaid
{
"custType": "PRE",
"msisdn": "9609654321"
}
| Field | Type | Description |
|---|---|---|
custType |
string |
"PRE" = prepaid customer |
msisdn |
string |
The MSISDN that was queried |
→ Offer Raastas top-up only.
Success — Postpaid
{
"custType": "POST",
"msisdn": "9609123456"
}
→ Offer Ooredoo Bill Pay only.
Success — Hybrid
{
"custType": "HYBRID",
"msisdn": "9609789012"
}
→ Offer both Raastas and Ooredoo Bill Pay. The user must select which service to use.
Failure — Number Not Found
{
"custType": null,
"errorMessage": "Data Not Found",
"msisdn": "9609000000"
}
| Field | Type | Description |
|---|---|---|
custType |
null |
Number is not an Ooredoo subscriber |
errorMessage |
string |
"Data Not Found" |
Treat custType: null as unsupported — fall back to Dhiraagu lookup.
Result Mapping
custType |
Service(s) |
|---|---|
"PRE" |
Raastas only |
"POST" |
Ooredoo Bill Pay only |
"HYBRID" |
Raastas + Ooredoo Bill Pay (show chip selector) |
null / absent |
Unsupported — fall back to Dhiraagu lookup |
Number Portability
Due to mobile number portability (MNP) in the Maldives, a subscriber can port their number between Ooredoo and Dhiraagu while keeping the same number. This means:
- A number starting with 7 (typically Dhiraagu) may now be on the Ooredoo network.
- A number starting with 9 (typically Ooredoo) may now be on the Dhiraagu network.
Always fall back to the other provider's lookup if this API returns custType: null, regardless of the number prefix.