ড্রাইভ অফার API ব্যবহারের সম্পূর্ণ বাংলা গাইড
এই API ব্যবহার করে ড্রাইভ অফার তালিকা দেখা, নির্দিষ্ট অফার সাবমিট করা এবং সাবমিটকৃত রিকোয়েস্টের বর্তমান অবস্থা যাচাই করা যাবে। API ব্যবহারের জন্য api_key এবং api_secret বাধ্যতামূলক। একই endpoint-এ ভিন্ন action ব্যবহার করে আলাদা কাজ সম্পন্ন করা হবে।
API এন্ডপয়েন্ট
নিচের endpoint-এ request পাঠিয়ে Drive Offer API ব্যবহার করতে হবে।
অ্যাকশনসমূহ
এই 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 পাঠান।
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 পাঠিয়ে অফার সাবমিট করতে পারবেন।
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-এর বর্তমান স্ট্যাটাস যাচাই করা যাবে।
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 সফল রেসপন্স
{
"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 সফল রেসপন্স
{
"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": 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"
}
}
ত্রুটি রেসপন্স উদাহরণ
অনুরোধে ভুল থাকলে বা তথ্য পাওয়া না গেলে নিচের মতো response আসতে পারে।
১. API credentials ভুল
{
"status": false,
"message": "অবৈধ API credentials।"
}
২. action দেওয়া হয়নি
{
"status": false,
"message": "action প্রয়োজন।"
}
৩. offer পাওয়া যায়নি
{
"status": false,
"message": "নির্বাচিত offer পাওয়া যায়নি।"
}
৪. মোবাইল নম্বর সঠিক নয়
{
"status": false,
"message": "সঠিক mobile number দিন।"
}
৫. পর্যাপ্ত ব্যালেন্স নেই
{
"status": false,
"message": "পর্যাপ্ত ব্যালেন্স নেই।"
}
৬. transaction পাওয়া যায়নি
{
"status": false,
"message": "Transaction পাওয়া যায়নি।"
}