API REQUEST DOCUMENTATION
========================
Endpoint:
https://standalone.vtulink.com/api/data/
Authentication:
Authorization: Bearer YOUR_API_KEY
HTTP Method:
POST
Headers:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Request Payload:
network => Integer
plan => Integer
mobile_number => String
Ported_number => Boolean
ident => String
Sample PHP Code:
$url = 'https://standalone.vtulink.com/api/data/';
$apiKey = 'YOUR_API_KEY';
$data = [
'network' => 1,
'plan' => 1,
'mobile_number' => '08148139385',
'Ported_number' => false,
'ident' => 'TEST-' . time()
];
Successful Response Example
{
"success": true,
"network": "MTN",
"plan_network": "MTN",
"plan_name": "1GB",
"plan_amount": 500,
"amount": 1000,
"mobile_number": "08148139385",
"reference": "DATA-ABC123XYZ",
"api_response": "You have gifted 1GB data to 08148139385 ...",
"api_response_raw": "{\"Status\":\"successful\"}",
"api_http_status": 200,
"api_curl_error": null,
"api_status": "success",
"wallet_balance": "2450.00"
}
Failed Response Example
{
"success": false,
"network": "MTN",
"plan_network": "MTN",
"plan_name": "1GB",
"plan_amount": 500,
"amount": 1000,
"mobile_number": "08148139385",
"reference": "DATA-FAILED-XYZ",
"api_response": "Insufficient balance",
"api_response_raw": null,
"api_http_status": null,
"api_curl_error": null,
"api_status": "failed",
"wallet_balance": "2450.00"
}
Field Meaning (What Integrators Should Trust)
Field Meaning
success Overall transaction outcome
api_status Normalized engine status (success or failed)
api_response Short readable provider message
api_response_raw Raw provider response (stringified)
api_http_status HTTP status from upstream provider
api_curl_error Curl-level error if any
reference Your system transaction reference
wallet_balance Wallet balance after operation
Integrators should always rely on success and api_status, not raw provider messages, to determine transaction outcome.