Offer Recharge API

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 করুন।

সব request POST method দিয়ে করতে হবে। API Key এবং Secret Key server-side থেকে ব্যবহার করুন।

API Endpoint

POST https://nurr.top/api/offer-recharge.php?action=check
POST https://nurr.top/api/offer-recharge.php?action=submit
POST https://nurr.top/api/offer-recharge.php?action=status_check

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

internet minutes bundle ratecutter entertainment

Operator Codes

Operator Code
GrameenphoneGP
BanglalinkBL
RobiRB
AirtelAT
TeletalkTT

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।
Phone number অনুযায়ী operator match না করলে request accept হবে না। যেমন GP offer হলে GP 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"
}
Submit response-এ 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"
  ]
}