রেজিস্ট্রেশন
ড্রাইভ অফার API ডকুমেন্টেশন

ড্রাইভ অফার API ব্যবহারের সম্পূর্ণ বাংলা গাইড

এই API ব্যবহার করে ড্রাইভ অফার তালিকা দেখা, নির্দিষ্ট অফার সাবমিট করা এবং সাবমিটকৃত রিকোয়েস্টের বর্তমান অবস্থা যাচাই করা যাবে। API ব্যবহারের জন্য api_key এবং api_secret বাধ্যতামূলক। একই endpoint-এ ভিন্ন action ব্যবহার করে আলাদা কাজ সম্পন্ন করা হবে।

রিফিলো

ড্রাইভ অফার API ডেভেলপার ডকুমেন্টেশন

এন্ডপয়েন্ট: একটি URL ব্যবহার করে সব action পরিচালনা করা হবে।
অথেনটিকেশন: প্রতিটি request-এ api_key এবং api_secret পাঠাতে হবে।
অ্যাকশন: drive_check, submit, status_check
অপারেটর কোড: BL, GP, RB, AT, TT
অফার টাইপ: minutes, internet, bundle, ratecutter, entertainment

API এন্ডপয়েন্ট

নিচের endpoint-এ request পাঠিয়ে Drive Offer API ব্যবহার করতে হবে।

POST / GET
https://refillo.top/api/drive-offer
একই endpoint-এ action পরিবর্তন করে ভিন্ন ভিন্ন কাজ সম্পন্ন করা যাবে।

অ্যাকশনসমূহ

এই API-তে মোট ৩টি action রয়েছে।

১. drive_check

সব অফার অথবা নির্দিষ্ট অপারেটর কোড ও অফার টাইপ অনুযায়ী অফার তালিকা দেখাবে।

২. submit

নির্দিষ্ট অফার আইডি এবং মোবাইল নম্বর পাঠিয়ে অফার সাবমিট করা যাবে।

৩. status_check

transaction_id ব্যবহার করে পূর্বের সাবমিটকৃত রিকোয়েস্টের বর্তমান অবস্থা জানা যাবে।

অপারেটর কোড

রিকোয়েস্ট পাঠানোর সময় নিচের অপারেটর কোডগুলোর যেকোনো একটি ব্যবহার করতে হবে।

কোড অপারেটর
BLবাংলালিংক
GPগ্রামীণফোন
RBরবি
ATএয়ারটেল
TTটেলিটক

অফার টাইপ

নির্দিষ্ট ধরনের অফার দেখতে চাইলে নিচের type-গুলোর যেকোনো একটি পাঠানো যাবে।

Type অর্থ
minutesমিনিট অফার
internetইন্টারনেট অফার
bundleবান্ডেল অফার
ratecutterরেট কাটার অফার
entertainmentএন্টারটেইনমেন্ট অফার

রিকোয়েস্ট প্যারামিটার

প্রতিটি action অনুযায়ী প্রয়োজনীয় প্যারামিটার নিচে দেওয়া হলো।

ফিল্ড আবশ্যক ব্যবহার বর্ণনা
api_key হ্যাঁ সব action API access key
api_secret হ্যাঁ সব action API secret key
action হ্যাঁ সব action drive_check, submit, status_check
operator_code না drive_check নির্দিষ্ট অপারেটরের অফার দেখতে
type না drive_check নির্দিষ্ট অফার টাইপ অনুযায়ী ফলাফল দেখতে
offer_id হ্যাঁ submit সাবমিট করতে চাওয়া অফারের আইডি
mobile হ্যাঁ submit গ্রাহকের মোবাইল নম্বর
transaction_id হ্যাঁ status_check সাবমিটের পর পাওয়া ট্রানজেকশন আইডি

drive_check রেসপন্সে অফার ফিল্ড

drive_check action-এ অফার তালিকার প্রতিটি item-এ নিচের তথ্য পাওয়া যাবে।

ফিল্ড বর্ণনা
idঅফারের ইউনিক আইডি
operator_codeঅপারেটর কোড
prefixপ্রযোজ্য নাম্বার প্রিফিক্স
operator_nameঅপারেটরের নাম
offer_typeঅফারের ধরন
offer_nameঅফারের নাম
validityঅফারের মেয়াদ
offer_priceঅফারের মূল্য
currency_codeকারেন্সি কোড
user_commissionব্যবহারকারীর কমিশন
promo_textপ্রোমো টেক্সট

drive_check উদাহরণ

সব অফার অথবা নির্দিষ্ট অপারেটর ও টাইপ অনুযায়ী অফার দেখতে এইভাবে request পাঠান।

drive_check
curl -X POST "https://refillo.top/api/drive-offer" \
-H "Accept: application/json" \
-d "api_key=YOUR_API_KEY" \
-d "api_secret=YOUR_API_SECRET" \
-d "action=drive_check" \
-d "operator_code=GP" \
-d "type=internet"

submit উদাহরণ

নির্দিষ্ট offer_id এবং mobile পাঠিয়ে অফার সাবমিট করতে পারবেন।

submit
curl -X POST "https://refillo.top/api/drive-offer" \
-H "Accept: application/json" \
-d "api_key=YOUR_API_KEY" \
-d "api_secret=YOUR_API_SECRET" \
-d "action=submit" \
-d "offer_id=12" \
-d "mobile=017XXXXXXXX"

status_check উদাহরণ

transaction_id দিয়ে পূর্বের request-এর বর্তমান স্ট্যাটাস যাচাই করা যাবে।

status_check
curl -X POST "https://refillo.top/api/drive-offer" \
-H "Accept: application/json" \
-d "api_key=YOUR_API_KEY" \
-d "api_secret=YOUR_API_SECRET" \
-d "action=status_check" \
-d "transaction_id=DRV20260411153030ABC123"

সফল রেসপন্স উদাহরণ

বিভিন্ন action সফল হলে নিচের মতো response পাওয়া যেতে পারে।

১. drive_check সফল রেসপন্স
drive_check success
{
  "status": true,
  "message": "Drive offer তালিকা সফলভাবে পাওয়া গেছে।",
  "user": {
    "id": 5,
    "name": "Demo User",
    "balance": 1500.0000
  },
  "total": 2,
  "data": [
    {
      "id": 12,
      "operator_code": "GP",
      "prefix": "017",
      "operator_name": "Grameenphone",
      "offer_type": "internet",
      "offer_name": "1GB Internet Pack",
      "validity": "3 Days",
      "offer_price": "29.0000",
      "currency_code": "BDT",
      "user_commission": "2.0000",
      "promo_text": "HOT OFFER"
    }
  ]
}
২. submit সফল রেসপন্স
submit success
{
  "status": true,
  "message": "Drive recharge request সফলভাবে গ্রহণ করা হয়েছে।",
  "data": {
    "transaction_id": "DRV20260411153030ABC123",
    "offer_id": 12,
    "recipient_phone": "017XXXXXXXX",
    "operator_code": "GP",
    "operator_name": "Grameenphone",
    "offer_type": "internet",
    "offer_name": "1GB Internet Pack",
    "validity": "3 Days",
    "amount": 29.0000,
    "commission_amount": 2.0000,
    "status": "PENDING",
    "operator_transaction_id": null,
    "balance_before": 1500.0000,
    "balance_after": 1471.0000
  }
}
৩. status_check সফল রেসপন্স
status_check success
{
  "status": true,
  "message": "Drive recharge status সফলভাবে পাওয়া গেছে।",
  "data": {
    "transaction_id": "DRV20260411153030ABC123",
    "user_id": 5,
    "offer_id": 12,
    "recipient_phone": "017XXXXXXXX",
    "operator_code": "GP",
    "operator_name": "Grameenphone",
    "offer_type": "internet",
    "offer_name": "1GB Internet Pack",
    "validity": "3 Days",
    "amount": 29.0000,
    "commission_amount": 2.0000,
    "status": "PENDING",
    "operator_transaction_id": null,
    "failure_reason": null,
    "created_at": "2026-04-11 15:30:30",
    "updated_at": "2026-04-11 15:30:30"
  }
}
নোট: status পরিবর্তনের উপর ভিত্তি করে response-এ প্রয়োজনীয় তথ্য দেখানো হবে। সফল অবস্থায় operator transaction id পাওয়া যেতে পারে, আর ব্যর্থ অবস্থায় failure_reason পাওয়া যেতে পারে।

ত্রুটি রেসপন্স উদাহরণ

অনুরোধে ভুল থাকলে বা তথ্য পাওয়া না গেলে নিচের মতো response আসতে পারে।

১. API credentials ভুল
Invalid credentials
{
  "status": false,
  "message": "অবৈধ API credentials।"
}
২. action দেওয়া হয়নি
Missing action
{
  "status": false,
  "message": "action প্রয়োজন।"
}
৩. offer পাওয়া যায়নি
Offer not found
{
  "status": false,
  "message": "নির্বাচিত offer পাওয়া যায়নি।"
}
৪. মোবাইল নম্বর সঠিক নয়
Invalid mobile
{
  "status": false,
  "message": "সঠিক mobile number দিন।"
}
৫. পর্যাপ্ত ব্যালেন্স নেই
Insufficient balance
{
  "status": false,
  "message": "পর্যাপ্ত ব্যালেন্স নেই।"
}
৬. transaction পাওয়া যায়নি
Transaction not found
{
  "status": false,
  "message": "Transaction পাওয়া যায়নি।"
}
গুরুত্বপূর্ণ: request পাঠানোর আগে সব প্যারামিটার সঠিকভাবে পাঠানো হয়েছে কিনা নিশ্চিত করুন। বিশেষ করে action, api_key, api_secret এবং action অনুযায়ী প্রয়োজনীয় ফিল্ডগুলো অবশ্যই সঠিক হতে হবে।