Offer Recharge API Documentation
Internet, Minutes, Bundle, Rate Cutter এবং Entertainment offer list নেওয়া, offer recharge request submit করা এবং order status check করার জন্য এই guide follow করুন।
Getting Started
Offer Recharge API ব্যবহার করার জন্য user account create করে user dashboard থেকে API Key এবং Secret Key সংগ্রহ করুন।
1. Account
Register করে account খুলুন।
2. API Key
API Keys page থেকে key নিন।
3. Check Offers
Operator বা offer type দিয়ে active offer list নিন।
4. Submit
Offer ID এবং phone number দিয়ে recharge submit করুন।
POST method দিয়ে করতে হবে।
API Key এবং Secret Key server-side থেকে ব্যবহার করুন।
API Endpoint
Authentication Parameters
| Parameter | Required | Description |
|---|---|---|
api_key |
Yes | User dashboard থেকে পাওয়া API Key। |
api_secret |
Yes | User dashboard থেকে পাওয়া Secret Key। |
1. Offer Check
Active offer list পাওয়ার জন্য এই API ব্যবহার করুন। চাইলে offer type অথবা operator code দিয়ে filter করা যাবে।
Allowed Offer Types
Operator Codes
| Operator | Code |
|---|---|
| Grameenphone | GP |
| Banglalink | BL |
| Robi | RB |
| Airtel | AT |
| Teletalk | TT |
Request Parameters
| Parameter | Required | Example | Description |
|---|---|---|---|
api_key |
Yes | YOUR_API_KEY | আপনার API Key। |
api_secret |
Yes | YOUR_SECRET_KEY | আপনার Secret Key। |
offer_type |
No | internet | Specific offer type filter করতে চাইলে পাঠাবেন। |
operator_code |
No | GP | Specific operator filter করতে চাইলে পাঠাবেন। |
cURL Example
curl -X POST "https://nurr.top/api/offer-recharge.php?action=check" \ -d "api_key=YOUR_API_KEY" \ -d "api_secret=YOUR_SECRET_KEY" \ -d "offer_type=internet" \ -d "operator_code=GP"
PHP Example
$ch = curl_init("https://nurr.top/api/offer-recharge.php?action=check");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => [
"api_key" => "YOUR_API_KEY",
"api_secret" => "YOUR_SECRET_KEY",
"offer_type" => "internet",
"operator_code" => "GP"
],
CURLOPT_RETURNTRANSFER => true
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
Success Response
{
"success": true,
"offers": [
{
"id": "15",
"operator_code": "GP",
"operator_name": "Grameenphone",
"offer_name": "1GB 7 Days",
"offer_price": "89.0000",
"user_commission": "2.0000",
"offer_type": "internet",
"validity": "7 Days"
}
]
}
2. Submit Offer Recharge
Offer Check response থেকে পাওয়া offer_id
এবং customer phone number দিয়ে recharge request submit করুন।
Request Parameters
| Parameter | Required | Example | Description |
|---|---|---|---|
api_key |
Yes | YOUR_API_KEY | আপনার API Key। |
api_secret |
Yes | YOUR_SECRET_KEY | আপনার Secret Key। |
offer_id |
Yes | 15 | Offer Check response থেকে পাওয়া offer ID। |
phone |
Yes | 017XXXXXXXX | Customer mobile number। |
cURL Example
curl -X POST "https://nurr.top/api/offer-recharge.php?action=submit" \ -d "api_key=YOUR_API_KEY" \ -d "api_secret=YOUR_SECRET_KEY" \ -d "offer_id=15" \ -d "phone=017XXXXXXXX"
PHP Example
$ch = curl_init("https://nurr.top/api/offer-recharge.php?action=submit");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => [
"api_key" => "YOUR_API_KEY",
"api_secret" => "YOUR_SECRET_KEY",
"offer_id" => "15",
"phone" => "017XXXXXXXX"
],
CURLOPT_RETURNTRANSFER => true
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
Success Response
{
"success": true,
"order_number": "R5C8F2A1B9D0E",
"status": "Processing",
"offer": "1GB 7 Days",
"amount": "89.00",
"commission": "2.00",
"total_amount": "87.00"
}
Processing আসলে request received হয়েছে।
Final result জানতে Status Check API ব্যবহার করুন।
3. Status Check
Submit API থেকে পাওয়া order_number দিয়ে recharge status check করুন।
Request Parameters
| Parameter | Required | Example |
|---|---|---|
api_key |
Yes | YOUR_API_KEY |
api_secret |
Yes | YOUR_SECRET_KEY |
order_number |
Yes | R5C8F2A1B9D0E |
cURL Example
curl -X POST "https://nurr.top/api/offer-recharge.php?action=status_check" \ -d "api_key=YOUR_API_KEY" \ -d "api_secret=YOUR_SECRET_KEY" \ -d "order_number=R5C8F2A1B9D0E"
PHP Example
$ch = curl_init("https://nurr.top/api/offer-recharge.php?action=status_check");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => [
"api_key" => "YOUR_API_KEY",
"api_secret" => "YOUR_SECRET_KEY",
"order_number" => "R5C8F2A1B9D0E"
],
CURLOPT_RETURNTRANSFER => true
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
Processing Response
{
"success": true,
"order_number": "R5C8F2A1B9D0E",
"status": "Processing",
"offer": "1GB 7 Days",
"amount": "89.00",
"commission": "2.00",
"total_amount": "87.00",
"phone": "017XXXX1234",
"operator": "GP",
"response": "Recharge request submitted"
}
Success Response
{
"success": true,
"order_number": "R5C8F2A1B9D0E",
"status": "Success",
"offer": "1GB 7 Days",
"amount": "89.00",
"commission": "2.00",
"total_amount": "87.00",
"phone": "017XXXX1234",
"operator": "GP",
"operator_transaction_id": "TXN123456789"
}
Cancelled Response
{
"success": true,
"order_number": "R5C8F2A1B9D0E",
"status": "Cancelled",
"offer": "1GB 7 Days",
"amount": "89.00",
"commission": "2.00",
"total_amount": "87.00",
"phone": "017XXXX1234",
"operator": "GP",
"cancel_note": "Invalid number or operator failed"
}
Error Responses
| HTTP Code | Error | Meaning |
|---|---|---|
| 400 | Invalid action. |
Action missing অথবা ভুল। |
| 401 | Invalid API credentials. |
API Key বা Secret Key ভুল। |
| 404 | Invalid offer ID. |
Offer পাওয়া যায়নি বা inactive। |
| 404 | Transaction not found. |
Order number পাওয়া যায়নি। |
| 422 | Missing required parameters. |
Required parameter missing। |
| 422 | Invalid offer type. |
Offer type ভুল। |
| 422 | Invalid operator code. |
Operator code ভুল। |
| 422 | Invalid operator number for this offer. |
Offer operator এবং phone number operator match করেনি। |
| 422 | Insufficient balance. |
Account balance কম। |
| 500 | Transaction failed |
Request process করা যায়নি। |
Error JSON Example
{
"error": "Invalid operator number for this offer."
}
Invalid Offer Type Example
{
"error": "Invalid offer type.",
"allowed_types": [
"internet",
"minutes",
"bundle",
"ratecutter",
"entertainment"
]
}