API برای توسعه‌دهندگان — سازگار با پنل‌های SMM Panel
چیست API منصة العرب؟ و چطور از آن بهره ببرید؟

API یک درگاه برنامه‌نویسی است که به سایت، ربات یا اپلیکیشن شما امکان سفارش خدمات منصة العرب را می‌دهد خودکار بدون ورود به پنل — سفارش ثبت می‌کند، وضعیت را پیگیری می‌کند و قیمت‌ها و موجودی را می‌خواند؛ همه این‌ها طی چند ثانیه و شبانه‌روزی.

پنل را باز کنید SMM مخصوص شماسایت خود را به منصة العرب وصل کنید، قیمت‌های خود را بالاتر از قیمت ما بگذارید و از هر سفارشی که مشتریانتان پرداخت می‌کنند سود ببرید.
ربات تلگرام افزایشکاری کنید ربات شما سفارش‌ها را بگیرد، مستقیم برای ما بفرستد و وضعیت را خودکار به مشتری اطلاع دهد.
خودکارسازی کسب‌وکار شماهزاران سفارش را بدون دخالت دستی اجرا کنید، با بازپرداخت خودکار بخش اجرانشده و ریفیل برای سرویس‌های پشتیبانی‌شده.
همان قالب پنل‌های SMM Panel مشهور (API v2): همان نام دستورها، فیلدها و پاسخ‌ها (services، add، status، balance، refill، cancel). اگر اسکریپت دارید SMM آماده یا سایتی که به پنل دیگری وصل است، فقط لینک را قرار دهید API و کلید شما، و بدون هیچ تغییر برنامه‌نویسی فوراً کار می‌کند.
اطلاعات تماس
لینک APIhttps://arb0.com/api/v2
روش سفارشPOST
قالب ارسالapplication/x-www-form-urlencoded یا JSON
قالب پاسخJSON
کلید APIاز صفحه حساب (نیاز به ورود دارد)

رابط با قالب پنل‌ها سازگار است SMM استاندارد (API v2)، بنابراین با اکثر اسکریپت‌های آماده نمایندگی کار می‌کند.

فهرست سرویس‌ها services
پارامترتوضیحات
keyکلید API
actionservices
نمونه پاسخ
[
  {
    "service": "1",
    "name": "رشق أعضاء تيليجرام",
    "type": "Default",
    "category": "تيليجرام",
    "rate": "0.9000",
    "min": "50",
    "max": "10000",
    "refill": false,
    "cancel": false
  }
]
ساختن سفارش add
پارامترتوضیحات
keyکلید API
actionadd
serviceشماره سرویس
linkلینک
quantityتعداد
answerشماره پاسخ (فقط برای سرویس‌های رأی)
speedاختیاری — سرعت به ثانیه: 0 یا max = حداکثر سرعت، یا 1 به 300
langاختیاری — نوع حساب‌ها (نشان‌دهنده زبان سیستم حساب): ar / en — جدول انواع را ببینید
genderاختیاری — ۰ مختلط، 1 دختران (female)، ۲ پسر (male)
messageفقط برای سرویس‌های پیام — متن پیام (همچنین می‌پذیرد comments)
serverاختیاری — 1 فیک (fake) یا ۲ واقعی (real)
نمونه پاسخ
{
  "order": 23501
}
وضعیت سفارش status
پارامترتوضیحات
keyکلید API
actionstatus
orderشماره سفارش
نمونه پاسخ
{
  "charge": "0.2782",
  "start_count": "3572",
  "status": "Partial",
  "remains": "157",
  "currency": "USD"
}
وضعیت چند سفارش status (multi)
پارامترتوضیحات
keyکلید API
actionstatus
ordersشماره‌ها سفارش‌ها جداشده با کاما (حداکثر ۱۰۰)
نمونه پاسخ
{
  "1": {"charge": "0.2782", "start_count": "3572", "status": "Partial", "remains": "157", "currency": "USD"},
  "10": {"error": "Incorrect order ID"}
}
توقف سفارش‌ها cancel
پارامترتوضیحات
keyکلید API
actioncancel
ordersشماره‌ها سفارش‌ها جداشده با کاما (حداکثر ۱۰۰)
نمونه پاسخ
[
  {"order": 9, "cancel": 1},
  {"order": 2, "cancel": {"error": "لا يمكن إيقاف هذا الطلب."}}
]
ریفیل refill
پارامترتوضیحات
keyکلید API
actionrefill
orderشماره سفارش
نمونه پاسخ
{
  "refill": "1"
}
ریفیل چند سفارش refill (multi)
پارامترتوضیحات
keyکلید API
actionrefill
ordersشماره‌ها سفارش‌ها جداشده با کاما (حداکثر ۱۰۰)
نمونه پاسخ
[
  {"order": 1, "refill": 1},
  {"order": 3, "refill": {"error": "هذه الخدمة لا تدعم إعادة التعبئة."}}
]
وضعیت ریفیل (جبران ریزش) refill_status
پارامترتوضیحات
keyکلید API
actionrefill_status
refillشماره ریفیل (جبران ریزش) (یا refills برای چند شماره)
نمونه پاسخ
{
  "status": "Completed"
}
موجودی balance
پارامترتوضیحات
keyکلید API
actionbalance
نمونه پاسخ
{
  "balance": "100.8429",
  "currency": "USD"
}
گزینه‌های سفارش (سرعت، نوع حساب‌ها، جنسیت...)

هر سرویس گزینه‌های قابل پشتیبانی خود را تعیین می‌کند. درخواست دهید action=services و برای هر سرویس این فیلد را پیدا می‌کنید options با مقادیر مجاز و پیش‌فرض:

"options": {
  "answer": {"required": true, "type": "integer"},
  "speed":  {"required": false, "default": 0, "min": 0, "max": 300, "unit": "seconds", "note": "0 = max speed"},
  "lang":   {"required": false, "default": "ar", "values": {"ar": "...", "en": "..."}},
  "gender": {"required": false, "default": 0, "values": {"0": "mixed", "1": "female", "2": "male"}}
}
  • اگر گزینه را نفرستید، مقدار پیش‌فرض استفاده می‌شود.
  • اگر مقدار نادرست بفرستید، سفارش با پیام خطای واضح رد می‌شود و هیچ موجودی کسر نمی‌شود.
  • گزینه‌هایی که سرویس پشتیبانی نمی‌کند نادیده گرفته می‌شوند، پس اسکریپت‌های استاندارد بدون تغییر کار می‌کنند.
انواع حساب‌های موجود (lang) — زبان سیستم حساب را نشان می‌دهد
مقدارنوعتوضیح
arحساب‌های عربی (ar)حساب‌های عربی — زبان سیستم حساب: عربی
enحساب‌های عربی (en)حساب‌های عربی — زبان سیستم حساب: انگلیسی
مثال: رأی با حساب‌های عربی دختر، با سرعت ۱۵ ثانیه
curl -X POST https://arb0.com/api/v2 \
  -d key=YOUR_KEY -d action=add -d service=20 \
  -d link=https://t.me/channel/123 -d quantity=500 \
  -d answer=2 -d lang=ar -d gender=1 -d speed=15
مثال به زبان PHP
$post = ['key' => 'YOUR_KEY', 'action' => 'add', 'service' => 21,
         'link' => 'https://t.me/group', 'quantity' => 100,
         'message' => 'مرحبا بكم', 'server' => 2];
مثال به زبان Python
requests.post("https://arb0.com/api/v2", data={"key": "YOUR_KEY", "action": "add", "service": 22,
    "link": "https://t.me/channel", "quantity": 1000, "gender": "male", "speed": "max"}).json()
دریافت گزینه‌ها (نظرسنجی / دکمه‌های مسابقه / ری‌اکشن‌ها)

برای سرویس‌هایی که نیاز دارند answer و دارای options.answer.choices در services: گزینه‌های موجود را از پست دریافت کنید و به مشتری نشان دهید، سپس مقدار را بفرستید answer گزینه انتخاب‌شده را همان‌طور که هست در action=add.

curl -X POST https://arb0.com/api/v2 -d key=YOUR_KEY -d action=choices -d service=20 -d link=https://t.me/channel/123
{"type": "poll", "title": "أفضل لاعب؟",
 "choices": [{"label": "1. ميسي", "answer": "0"}, {"label": "2. رونالدو", "answer": "1"}]}

type: poll گزینه‌های نظرسنجی · buttons دکمه‌های مسابقه (عضویت اجباری) · reactions ری‌اکشن‌های کانال (ری‌اکشن‌های ویژه مقدارشان شناسه ایموجی است). محدودیت: ۲۰ درخواست دریافت در دقیقه. کانال‌های خصوصی با لینک دعوت پشتیبانی می‌شوند (t.me/+…/رقم المنشور).

خطاها و وضعیت‌ها

در صورت خطا پاسخ به این شکل است: {"error": "رسالة الخطأ"}

مقادیر status ممکن: Pending، Processing، In progress، Completed، Partial، Canceled.

نمونه خطاهای گزینه‌ها: Invalid speed: use 0 (max) or 1-300 seconds، Invalid lang: use one of ar, en، Invalid gender: use 0 (mixed), 1 (female) or 2 (male).

در services: فیلد cancel = سرویس از توقف پشتیبانی می‌کند، وrefill = از ریفیل پشتیبانی می‌کند. وضعیت‌های ریفیل: Pending، In progress، Completed، Rejected.

حداکثر: ۱۲۰ درخواست در دقیقه برای هر کلید.

خرید شماره SMS از طریق API

همان آدرس و همان کلید — سایت یا ربات شما می‌تواند شماره فعال‌سازی را خودکار به مشتریان بفروشد: فهرست سرویس‌ها و کشورها، خرید شماره، دریافت کد و لغو با بازپرداخت اگر کدی نرسد.

actionپارامترهاعملکرد
sms_services—همه شماره‌های موجود: id، سرویس، کشور، country_iso، قیمت، موجودی، price_tiers (آیا چند قیمت دارد)
sms_tiersidپله‌های قیمت برای یک شماره (مثلاً 0.25 / 0.30 / 0.55) با موجودی هر قیمت
sms_buyid، tier (اختیاری)، max_price (اختیاری)خرید شماره — قیمت از موجودی شما کسر می‌شود و برمی‌گرداند order وphone
sms_statusorderوضعیت شماره و کدهای دریافتی (codes) و زمان باقی‌مانده به ثانیه
sms_cancelorderلغو با بازپرداخت کامل (فقط اگر کدی نرسیده باشد و ۲ دقیقه پس از خرید)
sms_againorderدرخواست کد دیگر روی همان شماره (برای سرویس‌هایی که پشتیبانی می‌کنند)
sms_finishorderپایان سفارش پس از دریافت کد
sms_orders—۱۰۰ شماره آخر شما
مقادیر status

waiting در انتظار کد · received کد رسید · finished تکمیل‌شده · cancelled / expired / failed = لغو و خودکار بازپرداخت شد.

مراحل
  1. فهرست را دریافت کنید با sms_services و با قیمت خودتان به مشتریان نشان دهید (سود خود را اضافه کنید روی price).
  2. وقتی مشتری سفارش داد بفرستید sms_buy با id شماره، و به او بدهید phone.
  3. بررسی کنید sms_status هر ۵ ثانیه تا زمانی که codes خالی نباشد، سپس کد را برای مشتری بفرستید.
  4. اگر زمان بدون کد تمام شود، شماره لغو و مبلغ خودکار به موجودی شما برمی‌گردد — یا خودتان لغو کنید با sms_cancel.
نمونه پاسخ برای sms_buy
{"order": 1542, "phone": "+6281234567890", "service": "Telegram", "country": "إندونيسيا",
 "price": "0.33", "status": "waiting", "codes": [], "time_left": 1200, "can_cancel": true}
مثال به زبان Python
import requests, time
API, KEY = "https://arb0.com/api/v2", "YOUR_KEY"
nums = requests.post(API, data={"key": KEY, "action": "sms_services"}).json()
tg = [n for n in nums if n["service"] == "Telegram"][0]
o = requests.post(API, data={"key": KEY, "action": "sms_buy", "id": tg["id"]}).json()
print("Number:", o["phone"])
while True:
    s = requests.post(API, data={"key": KEY, "action": "sms_status", "order": o["order"]}).json()
    if s["codes"]:
        print("Code:", s["codes"][-1]); break
    if s["status"] not in ("waiting", "received"):
        print("Refunded:", s["status"]); break
    time.sleep(5)
مثال PHP
$o = json_decode(file_get_contents("https://arb0.com/api/v2?" . http_build_query(
    ["key" => "YOUR_KEY", "action" => "sms_buy", "id" => "a15"])), true);
echo $o["phone"];

خطاهای احتمالی: Insufficient balance / Numbers section is disabled / پیام‌های واضح مانند «فعلاً شماره‌های این سرویس تمام شده است».

کلید شما

برای ساخت کلید وارد شوید API مخصوص شما.

ورود
مثال Python
import requests

API = "https://arb0.com/api/v2"
KEY = "YOUR_API_KEY"

r = requests.post(API, data={
    "key": KEY, "action": "add",
    "service": 1, "link": "https://t.me/channel",
    "quantity": 1000,
})
print(r.json())   # {"order": 23501}
مثال PHP
$ch = curl_init("https://arb0.com/api/v2");
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POSTFIELDS => http_build_query([
    "key" => "YOUR_API_KEY",
    "action" => "balance",
  ]),
]);
echo curl_exec($ch);