API یک درگاه برنامهنویسی است که به سایت، ربات یا اپلیکیشن شما امکان سفارش خدمات منصة العرب را میدهد خودکار بدون ورود به پنل — سفارش ثبت میکند، وضعیت را پیگیری میکند و قیمتها و موجودی را میخواند؛ همه اینها طی چند ثانیه و شبانهروزی.
services، add، status، balance، refill، cancel).
اگر اسکریپت دارید SMM آماده یا سایتی که به پنل دیگری وصل است، فقط لینک را قرار دهید API و کلید شما، و بدون هیچ تغییر برنامهنویسی فوراً کار میکند.| لینک API | https://arb0.com/api/v2 |
|---|---|
| روش سفارش | POST |
| قالب ارسال | application/x-www-form-urlencoded یا JSON |
| قالب پاسخ | JSON |
| کلید API | از صفحه حساب (نیاز به ورود دارد) |
رابط با قالب پنلها سازگار است SMM استاندارد (API v2)، بنابراین با اکثر اسکریپتهای آماده نمایندگی کار میکند.
services| پارامتر | توضیحات |
|---|---|
key | کلید API |
action | services |
[
{
"service": "1",
"name": "رشق أعضاء تيليجرام",
"type": "Default",
"category": "تيليجرام",
"rate": "0.9000",
"min": "50",
"max": "10000",
"refill": false,
"cancel": false
}
]
add| پارامتر | توضیحات |
|---|---|
key | کلید API |
action | add |
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 |
action | status |
order | شماره سفارش |
{
"charge": "0.2782",
"start_count": "3572",
"status": "Partial",
"remains": "157",
"currency": "USD"
}
status (multi)| پارامتر | توضیحات |
|---|---|
key | کلید API |
action | status |
orders | شمارهها سفارشها جداشده با کاما (حداکثر ۱۰۰) |
{
"1": {"charge": "0.2782", "start_count": "3572", "status": "Partial", "remains": "157", "currency": "USD"},
"10": {"error": "Incorrect order ID"}
}
cancel| پارامتر | توضیحات |
|---|---|
key | کلید API |
action | cancel |
orders | شمارهها سفارشها جداشده با کاما (حداکثر ۱۰۰) |
[
{"order": 9, "cancel": 1},
{"order": 2, "cancel": {"error": "لا يمكن إيقاف هذا الطلب."}}
]
refill| پارامتر | توضیحات |
|---|---|
key | کلید API |
action | refill |
order | شماره سفارش |
{
"refill": "1"
}
refill (multi)| پارامتر | توضیحات |
|---|---|
key | کلید API |
action | refill |
orders | شمارهها سفارشها جداشده با کاما (حداکثر ۱۰۰) |
[
{"order": 1, "refill": 1},
{"order": 3, "refill": {"error": "هذه الخدمة لا تدعم إعادة التعبئة."}}
]
refill_status| پارامتر | توضیحات |
|---|---|
key | کلید API |
action | refill_status |
refill | شماره ریفیل (جبران ریزش) (یا refills برای چند شماره) |
{
"status": "Completed"
}
balance| پارامتر | توضیحات |
|---|---|
key | کلید API |
action | balance |
{
"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"}}
}
- اگر گزینه را نفرستید، مقدار پیشفرض استفاده میشود.
- اگر مقدار نادرست بفرستید، سفارش با پیام خطای واضح رد میشود و هیچ موجودی کسر نمیشود.
- گزینههایی که سرویس پشتیبانی نمیکند نادیده گرفته میشوند، پس اسکریپتهای استاندارد بدون تغییر کار میکنند.
| مقدار | نوع | توضیح |
|---|---|---|
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
$post = ['key' => 'YOUR_KEY', 'action' => 'add', 'service' => 21,
'link' => 'https://t.me/group', 'quantity' => 100,
'message' => 'مرحبا بكم', 'server' => 2];
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()
همه سرویس در action=services شامل فیلد link که مشخص میکند چه چیزی پذیرفته میشود:
"link": {"platform": "telegram", "input": "link", "access": "private", "kind": "post"}
| فیلد | مقادیر |
|---|---|
platform | any هر لینک https · telegram · youtube · tiktok · instagram · facebook · x · snapchat · whatsapp · threads · twitch · kick · discord · spotify · linkedin |
input | link فقط لینک · both لینک یا یوزرنیم @name · user فقط یوزرنیم · any هر متنی |
access (تلگرام) | both · public عمومی (t.me/name) · private خصوصی (شروع با https://t.me/+) |
kind (تلگرام) | "" هر قالبی · channel t.me/news · post t.me/news/55 · story t.me/news/s/12 · comment t.me/news/55?comment=7 |
# post in a private channel (access=private, kind=post) -d link=https://t.me/+xeED-wNL/8 # post in a public channel + topic (topic) -d link=https://t.me/news/55/77 # username (input=both or user) -d link=@my_channel # YouTube -d link=https://youtu.be/dQw4w9WgXcQ or https://www.youtube.com/shorts/abcDEF12345 # TikTok -d link=https://vm.tiktok.com/ZMabc123/ or https://www.tiktok.com/@user/video/7234567890123456789
answer# a value from action=choices (as is) -d answer=0 # first poll option (option bytes) -d answer=vote_ali # contest button (callback data) -d answer=👍 # reaction -d answer=1 # 🎲 random reactions (if options.answer.random = true)
{"error": "هذه الخدمة للقنوات الخاصة فقط — ضع رابط الدعوة الذي يبدأ بـ https://t.me/+"}
{"error": "ضع رابط المنشور مع رقم الرسالة، مثل https://t.me/news/55"}
{"error": "رقم الإجابة يحتوي على رموز غير مسموحة (مثل ' \" ; < > { } $ `)."}
{"error": "Request blocked: forbidden characters or code"} # HTTP 400
🔒 هر درخواستی که حاوی کد (HTML/JavaScript/SQL/دستورات سیستمی) باشد خودکار رد و ثبت میشود. لینکها و متن را همانطور که هست بدون کدگذاری اضافه بفرستید.
برای سرویسهایی که نیاز دارند 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.
حداکثر: ۱۲۰ درخواست در دقیقه برای هر کلید.
همان آدرس و همان کلید — سایت یا ربات شما میتواند شماره فعالسازی را خودکار به مشتریان بفروشد: فهرست سرویسها و کشورها، خرید شماره، دریافت کد و لغو با بازپرداخت اگر کدی نرسد.
| action | پارامترها | عملکرد |
|---|---|---|
sms_services | — | همه شمارههای موجود: id، سرویس، کشور، country_iso، قیمت، موجودی، price_tiers (آیا چند قیمت دارد) |
sms_tiers | id | پلههای قیمت برای یک شماره (مثلاً 0.25 / 0.30 / 0.55) با موجودی هر قیمت |
sms_buy | id، tier (اختیاری)، max_price (اختیاری) | خرید شماره — قیمت از موجودی شما کسر میشود و برمیگرداند order وphone |
sms_status | order | وضعیت شماره و کدهای دریافتی (codes) و زمان باقیمانده به ثانیه |
sms_cancel | order | لغو با بازپرداخت کامل (فقط اگر کدی نرسیده باشد و ۲ دقیقه پس از خرید) |
sms_again | order | درخواست کد دیگر روی همان شماره (برای سرویسهایی که پشتیبانی میکنند) |
sms_finish | order | پایان سفارش پس از دریافت کد |
sms_orders | — | ۱۰۰ شماره آخر شما |
statuswaiting در انتظار کد · received کد رسید · finished تکمیلشده · cancelled / expired / failed = لغو و خودکار بازپرداخت شد.
- فهرست را دریافت کنید با
sms_servicesو با قیمت خودتان به مشتریان نشان دهید (سود خود را اضافه کنید رویprice). - وقتی مشتری سفارش داد بفرستید
sms_buyباidشماره، و به او بدهیدphone. - بررسی کنید
sms_statusهر ۵ ثانیه تا زمانی کهcodesخالی نباشد، سپس کد را برای مشتری بفرستید. - اگر زمان بدون کد تمام شود، شماره لغو و مبلغ خودکار به موجودی شما برمیگردد — یا خودتان لغو کنید با
sms_cancel.
sms_buy{"order": 1542, "phone": "+6281234567890", "service": "Telegram", "country": "إندونيسيا",
"price": "0.33", "status": "waiting", "codes": [], "time_left": 1200, "can_cancel": true}
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)
$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 / پیامهای واضح مانند «فعلاً شمارههای این سرویس تمام شده است».
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}
$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);