smmbilan.uz
USD
تسجيل الدخول التسجيل
v2 + v3

دليل الواجهة البرمجية

تتوفر نسختان: v2 هي معيار الصناعة (نصوصك الحالية تعمل دون تعديل)، وv3 هي REST حديثة (JSON وعدم التكرار وترقيم بالمؤشر و5 لغات).

لا تُعرض الأسعار ومعرّفات الخدمات في هذا المستند العام: فالسعر يُحسب لكل عميل وفق مجموعة أسعاره. بعد التسجيل ستحصل في اللوحة على مثال جاهز يحمل معرّفاتك وأسعارك الخاصة.

العناوين

انقر على العنوان لنسخه.

POST v2 مفعّل
https://smmbilan.uz/api/v2

المصادقة: حقل `key` في جسم الطلب

REST v3 مفعّل
https://smmbilan.uz/api/v3

المصادقة: `Authorization: Bearer <المفتاح>`

حد الطلبات: 600 طلب في الدقيقة لكل مفتاح. ويُحفظ مفتاح عدم التكرار 24 ساعة.

بداية سريعة

أربع خطوات — دقائق قليلة حتى أول طلب.

  1. سجّل وادخل إلى اللوحة.
  2. أنشئ مفتاحًا جديدًا في قسم «مفاتيح API». يُعرض المفتاح مرة واحدة فقط — احفظه فورًا.
  3. اطلب الكتالوج وخذ معرّف الخدمة الذي تحتاجه.
  4. أرسل الطلب. تابع الحالة بالاستعلام أو عبر webhook.
GET الكتالوج — v3
curl https://smmbilan.uz/api/v3/services \
  -H "Authorization: Bearer <KALITINGIZ>"

v2 — معيار الصناعة

يُنصح باستخدام POST. لا يزال GET/query القديم مقبولًا للتوافق لكنه مهمل. يعود الخطأ المنطقي مع HTTP 200 و `{"error":"..."}` — هذا جزء من المعيار وتعتمد عليه السكربتات الحالية.

لا يزال GET/query القديم مقبولًا للتوافق لكنه مهمل: المفتاح في الرابط قد يتسرب إلى السجلات وسجل المتصفح. في التكاملات الجديدة استخدم جسم POST أو Bearer الخاص بـ v3.
POST https://smmbilan.uz/api/v2
curl -X POST https://smmbilan.uz/api/v2 \
  -d "key=<KALITINGIZ>" \
  -d "action=add" \
  -d "service=<XIZMAT_ID>" \
  -d "link=https://t.me/kanalim" \
  -d "quantity=1000"

# Javob: {"order": 100123}
POST action=balance — 200

رصيد الحساب. عادةً يستدعيه الموزّع قبل كل طلب.

POST الطلب
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=balance'
200 رد
{
    "balance": "125.4000",
    "currency": "USD"
}
POST action=services — 200

الكتالوج بالكامل. لا يوجد تقسيم صفحات، لذا الاستجابة كبيرة — خزّنها مؤقتًا.

POST الطلب
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=services'
200 رد
[
    {
        "service": "<XIZMAT_ID>",
        "name": "Telegram kanal a'zolari",
        "type": "Default",
        "category": "Telegram",
        "rate": "1.20000000",
        "min": "100",
        "max": "100000",
        "refill": true,
        "cancel": true,
        "dripfeed": true
    }
]
POST action=add service, link, quantity 200

إنشاء طلب. القيمة `order` في الاستجابة هي الرقم المستخدم في الطلبات اللاحقة.

POST الطلب
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=add' \
  -d 'service=<XIZMAT_ID>' \
  -d 'link=https://t.me/kanalim' \
  -d 'quantity=100'
200 رد
{
    "order": 100123,
    "charge": "1.2000",
    "currency": "USD"
}
POST action=status order 200

حالة طلب واحد. جميع القيم نصوص، بما في ذلك `remains`.

POST الطلب
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=status' \
  -d 'order=100123'
200 رد
{
    "charge": "1.2000",
    "start_count": "3572",
    "status": "In progress",
    "remains": "157",
    "currency": "USD"
}
POST action=status orders 200

حالة جماعية: حتى 100 لكل طلب. المفاتيح هي المعرّفات التي طلبتها.

POST الطلب
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=status' \
  -d 'orders=100123,100124'
200 رد
{
    "100123": {
        "charge": "1.2000",
        "start_count": "3572",
        "status": "Completed",
        "remains": "0",
        "currency": "USD"
    },
    "100124": {
        "error": "Incorrect order ID"
    }
}
POST action=refill order 200

طلب ضمان. تابع حالته عبر `refill_status` باستخدام المعرّف من الاستجابة.

POST الطلب
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=refill' \
  -d 'order=100123'
200 رد
{
    "refill": 5
}
POST action=refill_status refill 200

حالة الضمان. الحالة `Error` تظهر أيضًا كـ `Pending` — المحاولات مستمرة.

POST الطلب
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=refill_status' \
  -d 'refill=5'
200 رد
{
    "status": "Completed"
}
POST action=cancel orders 200

طلب إلغاء. القيمة `cancel: 1` تعني أن الطلب قُبل، وليس أن الطلب أُلغي.

POST الطلب
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=cancel' \
  -d 'orders=100123,100124'
200 رد
[
    {
        "order": 100123,
        "cancel": 1
    },
    {
        "order": 100124,
        "cancel": {
            "error": "Incorrect order status"
        }
    }
]
POST action=special_services — 200

كتالوج الخدمات الخاصة: أرقام Telegram و Stars و Premium. السعر لوحدة واحدة، أما `rate` في `services` فهو لكل 1000.

POST الطلب
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=special_services'
200 رد
[
    {
        "variant": "12",
        "kind": "number",
        "slug": "UZ",
        "name": "O'zbekiston",
        "price": "1.2000",
        "currency": "USD",
        "dial_code": "+998",
        "stock": "35",
        "stars": null,
        "months": null,
        "recipient": false,
        "max_quantity": "10"
    }
]
POST action=special_add kind, variant, quantity, recipient 200

طلب خاص. الحقلان `kind` و `variant` إلزاميان؛ ويحتاج Stars و Premium إلى `recipient` أيضًا. انتبه إلى `status` في الرد: قد ينتظر Stars و Premium تعبئة الرصيد.

POST الطلب
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=special_add' \
  -d 'kind=stars' \
  -d 'variant=31' \
  -d 'recipient=@mijoz_nomi'
200 رد
{
    "order": 900123,
    "charge": "0.9900",
    "currency": "USD",
    "status": "Pending"
}
POST action=special_status order (yoki orders) 200

طلب خاص واحد — مع رمز SMS وكلمة مرور 2FA. في الطلب الجماعي (`orders=`) تكون هذه الحقول `null`.

POST الطلب
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=special_status' \
  -d 'order=900123'
200 رد
{
    "charge": "1.2000",
    "status": "Completed",
    "currency": "USD",
    "kind": "number",
    "variant": "O'zbekiston",
    "quantity": "1",
    "recipient": null,
    "phone_number": "+998901234567",
    "refunded": "0.0000",
    "sms_code": "84921",
    "two_fa_password": null,
    "has_code": true
}
POST action=special_code order 200

رمز SMS للرقم المُشترى. استدعِه فقط بعد أن يُدخل العميل الرقم في Telegram — فالرمز تنتهي صلاحيته في دقائق.

POST الطلب
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=special_code' \
  -d 'order=900123'
200 رد
{
    "sms_code": "84921",
    "two_fa_password": null,
    "phone_number": "+998901234567",
    "attempts_left": "4"
}
200 خطأ منطقي — يُعاد مع HTTP 200
{
    "error": "Not enough funds"
}

v3 — REST

رموز HTTP حقيقية واستجابة خطأ مُهيكلة وترويسة `X-Request-Id` ورسالة خطأ بخمس لغات (`Accept-Language`).

POST https://smmbilan.uz/api/v3/orders
curl -X POST https://smmbilan.uz/api/v3/orders \
  -H "Authorization: Bearer <KALITINGIZ>" \
  -H "Idempotency-Key: 3f9c1e40-…" \
  -H "Content-Type: application/json" \
  -d '{"service_id": <XIZMAT_ID>, "link": "https://t.me/kanalim", "quantity": 1000}'
`Idempotency-Key` إلزامي عند تقديم الطلب: فإذا انقطعت الشبكة وأعدت الإرسال فلن يُنشأ طلب ثانٍ ولن يُخصم المال مرتين.
402 شكل رد الخطأ
{
    "error": {
        "code": "insufficient_balance",
        "message": "Balansingizda yetarli mablag' yo'q.",
        "details": {
            "required": "1.2000",
            "available": "0.3000"
        }
    },
    "request_id": "01K3XZQ8V4N7Y2M9P6R1T5W0AB"
}

نقاط النهاية

GET /api/v3/me — 200

معلومات المفتاح والحساب. يُستدعى مرة واحدة عند إعداد التكامل.

GET الطلب
curl -X GET 'https://smmbilan.uz/api/v3/me' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 رد
{
    "data": {
        "user": {
            "username": "reseller1",
            "balance": "125.4000",
            "currency": "USD",
            "status": "active",
            "discount_percent": "5.00"
        },
        "api_key": {
            "name": "Ishlab chiqarish",
            "prefix": "smb_live_a1b2c3",
            "version": "v3",
            "sandbox": false,
            "scopes": [
                "balance:read",
                "services:read",
                "orders:read",
                "orders:write"
            ],
            "rate_limit_per_minute": 600,
            "expires_at": null
        },
        "capabilities": {
            "idempotency": true,
            "webhooks": true,
            "localization": true
        }
    }
}
GET /api/v3/balance balance:read 200

نقطة نهاية خفيفة: استعلام واحد، دون تحميل العلاقات.

GET الطلب
curl -X GET 'https://smmbilan.uz/api/v3/balance' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 رد
{
    "data": {
        "balance": "125.4000",
        "currency": "USD",
        "total_spent": "874.2000",
        "total_deposited": "1000.0000"
    }
}
GET /api/v3/services services:read 200

كتالوج بمؤشر. أرسل `next_cursor` كـ `after=` في الطلب التالي.

GET الطلب
curl -X GET 'https://smmbilan.uz/api/v3/services?limit=100&after=0' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 رد
{
    "data": [
        {
            "id": "<XIZMAT_ID>",
            "public_id": "01K3XZQ8V4N7Y2M9P6R1T5W0AB",
            "name": "Telegram kanal a'zolari",
            "description": null,
            "type": "default",
            "category": {
                "id": 3,
                "name": "Telegram"
            },
            "pricing": {
                "rate_per_1000": "1.20000000",
                "currency": "USD",
                "discount_percent": "5.00"
            },
            "quantity": {
                "min": 100,
                "max": 100000,
                "increment": 1,
                "from_input": false,
                "fixed": false
            },
            "features": {
                "refill": true,
                "refill_days": 30,
                "cancel": true,
                "dripfeed": true
            },
            "link_type": "link",
            "required_fields": [],
            "avg_time_seconds": 3600
        }
    ],
    "pagination": {
        "limit": 100,
        "has_more": true,
        "next_cursor": 148
    }
}
GET /api/v3/services/{id} services:read 200

خدمة واحدة. يُقبل `id` أو `public_id` (ULID).

GET الطلب
curl -X GET 'https://smmbilan.uz/api/v3/services/<XIZMAT_ID>' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 رد
{
    "data": {
        "id": "<XIZMAT_ID>",
        "public_id": "01K3XZQ8V4N7Y2M9P6R1T5W0AB",
        "name": "Telegram kanal a'zolari",
        "description": null,
        "type": "default",
        "category": {
            "id": 3,
            "name": "Telegram"
        },
        "pricing": {
            "rate_per_1000": "1.20000000",
            "currency": "USD",
            "discount_percent": "5.00"
        },
        "quantity": {
            "min": 100,
            "max": 100000,
            "increment": 1,
            "from_input": false,
            "fixed": false
        },
        "features": {
            "refill": true,
            "refill_days": 30,
            "cancel": true,
            "dripfeed": true
        },
        "link_type": "link",
        "required_fields": [],
        "avg_time_seconds": 3600
    }
}
POST /api/v3/orders orders:write 201

إنشاء طلب. ترويسة `Idempotency-Key` إلزامية.

POST الطلب
curl -X POST 'https://smmbilan.uz/api/v3/orders' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json' \
  -H 'Idempotency-Key: 8f14e45fceea167a5a36dedd4bea2543' \
  -H 'Content-Type: application/json' \
  -d '{"service_id":"<XIZMAT_ID>","link":"https://t.me/kanalim","quantity":100}'
201 رد
{
    "data": {
        "id": 100123,
        "public_id": "01K3XZQ8V4N7Y2M9P6R1T5W0AB",
        "service": {
            "id": "<XIZMAT_ID>",
            "name": "Telegram kanal a'zolari",
            "type": "default"
        },
        "link": "https://t.me/kanalim",
        "quantity": 100,
        "status": "pending",
        "charge": "1.2000",
        "currency": "USD",
        "start_count": null,
        "remains": null,
        "delivered": 0,
        "progress_percent": 0,
        "refunded": "0.0000",
        "dripfeed": null,
        "refill_available": false,
        "created_at": "2026-08-31T09:14:02+00:00",
        "completed_at": null
    }
}
GET /api/v3/orders orders:read 200

الطلبات بمؤشر معاكس (`before=`) — الأحدث أولًا. الطلبات الفرعية التي ينشئها النظام مستثناة.

GET الطلب
curl -X GET 'https://smmbilan.uz/api/v3/orders?limit=50' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 رد
{
    "data": [
        {
            "id": 100123,
            "public_id": "01K3XZQ8V4N7Y2M9P6R1T5W0AB",
            "service": {
                "id": "<XIZMAT_ID>",
                "name": "Telegram kanal a'zolari",
                "type": "default"
            },
            "link": "https://t.me/kanalim",
            "quantity": 100,
            "status": "pending",
            "charge": "1.2000",
            "currency": "USD",
            "start_count": null,
            "remains": null,
            "delivered": 0,
            "progress_percent": 0,
            "refunded": "0.0000",
            "dripfeed": null,
            "refill_available": false,
            "created_at": "2026-08-31T09:14:02+00:00",
            "completed_at": null
        }
    ],
    "pagination": {
        "limit": 50,
        "has_more": false,
        "next_cursor": null
    }
}
GET /api/v3/orders/{id} orders:read 200

طلب واحد. يُقبل `number` أو `public_id`.

GET الطلب
curl -X GET 'https://smmbilan.uz/api/v3/orders/100123' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 رد
{
    "data": {
        "id": 100123,
        "public_id": "01K3XZQ8V4N7Y2M9P6R1T5W0AB",
        "service": {
            "id": "<XIZMAT_ID>",
            "name": "Telegram kanal a'zolari",
            "type": "default"
        },
        "link": "https://t.me/kanalim",
        "quantity": 100,
        "status": "pending",
        "charge": "1.2000",
        "currency": "USD",
        "start_count": null,
        "remains": null,
        "delivered": 0,
        "progress_percent": 0,
        "refunded": "0.0000",
        "dripfeed": null,
        "refill_available": false,
        "created_at": "2026-08-31T09:14:02+00:00",
        "completed_at": null
    }
}
POST /api/v3/orders/{id}/refill orders:write 202

طلب ضمان. الرمز 202 يعني قُبل ولم ينتهِ بعد.

POST الطلب
curl -X POST 'https://smmbilan.uz/api/v3/orders/100123/refill' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
202 رد
{
    "data": {
        "id": 5,
        "order_id": 100123,
        "status": "pending",
        "quantity": null,
        "charge": "0.0000",
        "is_paid": false,
        "reason": null,
        "created_at": "2026-08-31T09:14:02+00:00",
        "completed_at": null
    }
}
POST /api/v3/orders/{id}/cancel orders:write 202

طلب إلغاء. تحتوي الاستجابة أيضًا على الحالة المحدَّثة للطلب.

POST الطلب
curl -X POST 'https://smmbilan.uz/api/v3/orders/100123/cancel' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
202 رد
{
    "data": {
        "accepted": true,
        "approval_status": "pending",
        "order": {
            "id": 100123,
            "public_id": "01K3XZQ8V4N7Y2M9P6R1T5W0AB",
            "service": {
                "id": "<XIZMAT_ID>",
                "name": "Telegram kanal a'zolari",
                "type": "default"
            },
            "link": "https://t.me/kanalim",
            "quantity": 100,
            "status": "pending",
            "charge": "1.2000",
            "currency": "USD",
            "start_count": null,
            "remains": null,
            "delivered": 0,
            "progress_percent": 0,
            "refunded": "0.0000",
            "dripfeed": null,
            "refill_available": false,
            "created_at": "2026-08-31T09:14:02+00:00",
            "completed_at": null
        }
    }
}
GET /api/v3/refills/{id} orders:read 200

حالة الضمان.

GET الطلب
curl -X GET 'https://smmbilan.uz/api/v3/refills/5' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 رد
{
    "data": {
        "id": 5,
        "order_id": 100123,
        "status": "pending",
        "quantity": null,
        "charge": "0.0000",
        "is_paid": false,
        "reason": null,
        "created_at": "2026-08-31T09:14:02+00:00",
        "completed_at": null
    }
}
GET /api/v3/special/services services:read 200

كتالوج الخدمات الخاصة. لا يوجد تقسيم صفحات — الأقسام ثلاثة فقط. والسعر `price` لوحدة واحدة.

GET الطلب
curl -X GET 'https://smmbilan.uz/api/v3/special/services' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 رد
{
    "data": [
        {
            "kind": "stars",
            "label": "Telegram Stars",
            "description": "Telegram Stars paketlari",
            "accepting_orders": true,
            "freeze_reason": null,
            "requires_recipient": true,
            "supports_quantity": false,
            "max_quantity": 1,
            "delivers_sms_code": false,
            "variants": [
                {
                    "id": 31,
                    "slug": "50",
                    "label": "50 Stars",
                    "price": "0.9900",
                    "currency": "USD",
                    "dial_code": null,
                    "stock": null,
                    "stars": 50,
                    "months": null
                }
            ]
        }
    ]
}
POST /api/v3/special/orders orders:write 201

طلب خاص. الترويسة `Idempotency-Key` إلزامية. والحقل `recipient` مطلوب لـ Stars و Premium.

POST الطلب
curl -X POST 'https://smmbilan.uz/api/v3/special/orders' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json' \
  -H 'Idempotency-Key: 8f14e45fceea167a5a36dedd4bea2543' \
  -H 'Content-Type: application/json' \
  -d '{"kind":"stars","variant_id":31,"recipient":"mijoz_nomi"}'
201 رد
{
    "data": {
        "id": 900123,
        "public_id": "01K3XZQ8V4N7Y2M9P6R1T5W0AB",
        "kind": "stars",
        "variant": {
            "id": 31,
            "label": "50 Stars",
            "country_code": null,
            "dial_code": null,
            "stars": 50,
            "months": null
        },
        "recipient": "mijoz_nomi",
        "quantity": 1,
        "status": "pending",
        "charge": "0.9900",
        "currency": "USD",
        "refunded": "0.0000",
        "delivery": {
            "phone_number": null,
            "sms_code": null,
            "two_fa_password": null,
            "has_code": false
        },
        "code_available": false,
        "code_attempts_left": 0,
        "waiting_for_funds": false,
        "created_at": "2026-08-31T09:14:02+00:00",
        "completed_at": null
    }
}
GET /api/v3/special/orders orders:read 200

الطلبات الخاصة، المؤشر يتحرك إلى الخلف (`before=`). في القائمة يكون رمز SMS وكلمة مرور 2FA دائمًا `null` — راجع `has_code` واطلب الطلب منفردًا.

GET الطلب
curl -X GET 'https://smmbilan.uz/api/v3/special/orders?limit=50' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 رد
{
    "data": [
        {
            "id": 900123,
            "public_id": "01K3XZQ8V4N7Y2M9P6R1T5W0AB",
            "kind": "stars",
            "variant": {
                "id": 31,
                "label": "50 Stars",
                "country_code": null,
                "dial_code": null,
                "stars": 50,
                "months": null
            },
            "recipient": "mijoz_nomi",
            "quantity": 1,
            "status": "pending",
            "charge": "0.9900",
            "currency": "USD",
            "refunded": "0.0000",
            "delivery": {
                "phone_number": null,
                "sms_code": null,
                "two_fa_password": null,
                "has_code": false
            },
            "code_available": false,
            "code_attempts_left": 0,
            "waiting_for_funds": false,
            "created_at": "2026-08-31T09:14:02+00:00",
            "completed_at": null
        }
    ],
    "pagination": {
        "limit": 50,
        "has_more": false,
        "next_cursor": null
    }
}
GET /api/v3/special/orders/{id} orders:read 200

طلب خاص واحد — مع بيانات الدخول. يُقبل `number` (من 900000) أو `public_id`.

GET الطلب
curl -X GET 'https://smmbilan.uz/api/v3/special/orders/900123' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 رد
{
    "data": {
        "id": 900123,
        "public_id": "01K3XZQ8V4N7Y2M9P6R1T5W0AB",
        "kind": "number",
        "variant": {
            "id": 12,
            "label": "O'zbekiston",
            "country_code": "UZ",
            "dial_code": "+998",
            "stars": null,
            "months": null
        },
        "recipient": null,
        "quantity": 1,
        "status": "completed",
        "charge": "1.2000",
        "currency": "USD",
        "refunded": "0.0000",
        "delivery": {
            "phone_number": "+998901234567",
            "sms_code": "84921",
            "two_fa_password": null,
            "has_code": true
        },
        "code_available": true,
        "code_attempts_left": 4,
        "waiting_for_funds": false,
        "created_at": "2026-08-31T09:14:02+00:00",
        "completed_at": "2026-08-31T09:15:40+00:00"
    }
}
POST /api/v3/special/orders/{id}/code orders:write 200

رمز SMS للرقم. كل استدعاء يستهلك محاولة — حتى الفاشل. لا يُقبل `Idempotency-Key` هنا: الرد يحتوي على بيانات الدخول إلى الحساب.

POST الطلب
curl -X POST 'https://smmbilan.uz/api/v3/special/orders/900123/code' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 رد
{
    "data": {
        "phone_number": "+998901234567",
        "sms_code": "84921",
        "two_fa_password": null,
        "attempts_left": 4
    }
}

مواصفة OpenAPI 3.1: /api/v3/openapi.json — يُفتح بدون مفتاح. استورده إلى Postman أو Insomnia، أو أنشئ مكتبة عميل بمولّد شيفرة.

حالات الطلب

خريطة الحالات
v3 v2 ملاحظة
pending Pending قيد الانتظار
awaiting Pending في الطابور
in_progress In progress قيد التنفيذ
processing Processing قيد المعالجة
completed Completed مكتمل
partial Partial جزئي
canceled Canceled ملغى
refunded Canceled مُسترد
failed Canceled فاشل

تنبيه: لا توجد في v2 حالتان منفصلتان `refunded` و`failed` — كلتاهما تظهر كـ `Canceled`.

أنواع الخدمات والحقول الإلزامية

أنواع الخدمات
v3 v2 حقول إضافية الكمية
default Default — أنت تُرسل
package Package — ثابت (الأدنى = الأقصى)
custom_comments Custom Comments comments يُحسب من الدخول
custom_comments_package Custom Comments Package comments ثابت (الأدنى = الأقصى)
mentions Mentions usernames يُحسب من الدخول
mentions_hashtags Mentions with Hashtags hashtags أنت تُرسل
mentions_custom Mentions Custom List usernames يُحسب من الدخول
mentions_followers Mentions User Followers username أنت تُرسل
mentions_likers Mentions Likers username أنت تُرسل
mentions_media_likers Mentions Media Likers media_url أنت تُرسل
subscriptions Subscriptions username أنت تُرسل
poll Poll answer_number أنت تُرسل
invites Invites groups أنت تُرسل
comment_likes Comment Likes username أنت تُرسل

رموز أخطاء v3

رموز الأخطاء
الرمز HTTP ماذا حدث
invalid_api_key 401 المفتاح غير صالح أو منتهي الصلاحية أو ملغى.
wrong_api_version 401 الوصول إلى v3 بمفتاح v2 (أو العكس).
account_blocked 403 الحساب موقوف أو محجوب.
api_disabled_for_account 403 الواجهة البرمجية معطّلة على هذا الحساب — راسل الدعم.
insufficient_scope 403 لا يملك المفتاح الصلاحية المطلوبة. راجع `details.required_scope`.
not_found 404 لم يُعثر على السجل أو أنه لا يخصّك.
idempotency_key_required 422 لم تُرسل ترويسة `Idempotency-Key`. وهي إلزامية عند تقديم الطلب.
idempotency_in_progress 409 لا يزال الطلب بالمفتاح نفسه قيد المعالجة. أعد المحاولة بعد ثانية أو ثانيتين.
idempotency_key_reused 409 أُرسل المفتاح نفسه مع عملية أو معامل مسار أو جسم طلب مختلف. أنشئ مفتاحًا جديدًا لكل إجراء.
validation_failed 422 حقول الطلب غير صحيحة.
order_rejected 422 رُفض الطلب. السبب في `details.reason`.
refill_rejected 422 رُفض طلب الضمان. السبب في `details.reason`.
insufficient_balance 402 الرصيد غير كافٍ. المبلغان المطلوب والمتاح موجودان في `details`.
rate_limited 429 تم تجاوز حد الطلبات. انتظر المدة المذكورة في ترويسة `Retry-After`.
api_version_disabled 503 الواجهة البرمجية معطّلة مؤقتًا. حاول مرة أخرى.
sandbox_read_only 403 لا يستطيع مفتاح الاختبار تعديل البيانات.

احصل على مفتاحك اليوم

التسجيل مجاني. بعد إنشاء المفتاح تظهر في اللوحة نموذج جاهز بمعرّفات خدماتك وأسعارك.