smmbilan.uz
USD
Kirish Ro'yxatdan o'tish
v2 + v3

API hujjati

Ikki versiya mavjud: v2 — sanoat standarti (mavjud skriptlaringiz o'zgarishsiz ishlaydi), v3 — zamonaviy REST (JSON, idempotentlik, kursorli sahifalash, 5 til).

Bu ochiq hujjatda narx va xizmat ID lari ko'rsatilmaydi: narx har mijoz uchun uning narx guruhiga qarab hisoblanadi. Ro'yxatdan o'tgach panelda O'Z ID va narxlaringiz bilan tayyor namunani olasiz.

Manzillar

Manzil ustiga bosib nusxa oling.

POST v2 yoqilgan
https://smmbilan.uz/api/v2

Autentifikatsiya: tananing `key` maydoni

REST v3 yoqilgan
https://smmbilan.uz/api/v3

Autentifikatsiya: `Authorization: Bearer <kalit>`

So'rov chegarasi: kalitga 600 so'rov/daqiqa. Idempotentlik kaliti 24 soat saqlanadi.

Tez boshlash

To'rt qadam — birinchi so'rovgacha bir necha daqiqa.

  1. Ro'yxatdan o'tib panelga kiring.
  2. «API kalitlari» bo'limida yangi kalit yaratasiz. Kalit BIR MARTA ko'rsatiladi — darhol saqlab qo'ying.
  3. Katalogni so'rab o'zingizga kerakli xizmat ID sini olasiz.
  4. Buyurtma yuborasiz. Holatni so'rov bilan yoki webhook orqali kuzatasiz.
GET Katalog — v3
curl https://smmbilan.uz/api/v3/services \
  -H "Authorization: Bearer <KALITINGIZ>"

v2 — sanoat standarti

POST tavsiya etiladi. Legacy GET/query moslik uchun deprecated holda qabul qilinadi. Biznes xatosi HTTP 200 va `{"error":"..."}` bilan qaytadi — bu standartning bir qismi va mavjud skriptlar shunga tayanadi.

Legacy GET/query moslik uchun vaqtincha qabul qilinadi, lekin deprecated: URLdagi kalit loglar va brauzer tarixiga sizishi mumkin. Yangi integratsiyada POST so'rov tanasi yoki v3 Bearer ishlating.
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

Hisob balansi. Reseller odatda har buyurtmadan oldin chaqiradi.

POST So'rov
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=balance'
200 Javob
{
    "balance": "125.4000",
    "currency": "USD"
}
POST action=services — 200

Butun katalog. Sahifalash YO'Q — javob katta bo'ladi, shu sababli uni keshlang.

POST So'rov
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=services'
200 Javob
[
    {
        "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

Buyurtma berish. Javobdagi `order` — keyingi so'rovlarda ishlatiladigan raqam.

POST So'rov
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 Javob
{
    "order": 100123,
    "charge": "1.2000",
    "currency": "USD"
}
POST action=status order 200

Bitta buyurtma holati. Barcha qiymatlar MATN — `remains` ham.

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

Ommaviy holat: bir so'rovda 100 tagacha. Kalitlar — SO'RALGAN ID lar.

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

Kafolat so'rash. Javobdagi ID bilan holatni `refill_status` orqali kuzatasiz.

POST So'rov
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=refill' \
  -d 'order=100123'
200 Javob
{
    "refill": 5
}
POST action=refill_status refill 200

Kafolat holati. `Error` holati ham `Pending` bo'lib ko'rinadi — qayta urinish davom etadi.

POST So'rov
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=refill_status' \
  -d 'refill=5'
200 Javob
{
    "status": "Completed"
}
POST action=cancel orders 200

Bekor qilish SO'ROVI. `cancel: 1` — so'rov qabul qilindi, bekor qilindi degani EMAS.

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

Maxsus xizmatlar katalogi: Telegram raqami, Stars, Premium. Narx BIR DONA uchun — `services` dagi `rate` esa 1000 dona uchun.

POST So'rov
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=special_services'
200 Javob
[
    {
        "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

Maxsus buyurtma. `kind` va `variant` majburiy; Stars/Premium uchun `recipient` ham. Javobdagi `status` — Stars/Premium balans kutishi mumkin.

POST So'rov
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 Javob
{
    "order": 900123,
    "charge": "0.9900",
    "currency": "USD",
    "status": "Pending"
}
POST action=special_status order (yoki orders) 200

Bitta maxsus buyurtma — SMS kodi va 2FA paroli BILAN. `orders=` bilan ommaviy so'ralsa sirlar `null` bo'ladi.

POST So'rov
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=special_status' \
  -d 'order=900123'
200 Javob
{
    "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

Sotib olingan raqam uchun SMS kodi. FAQAT mijoz raqamni Telegram'ga kiritgandan KEYIN chaqiring — kod bir necha daqiqada eskiradi.

POST So'rov
curl -X POST https://smmbilan.uz/api/v2 \
  -d 'key=<KALITINGIZ>' \
  -d 'action=special_code' \
  -d 'order=900123'
200 Javob
{
    "sms_code": "84921",
    "two_fa_password": null,
    "phone_number": "+998901234567",
    "attempts_left": "4"
}
200 Biznes xatosi — HTTP 200 bilan
{
    "error": "Not enough funds"
}

v3 — REST

Haqiqiy HTTP kodlari, tuzilgan xato javobi, `X-Request-Id` sarlavhasi va xato xabari 5 tilda (`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` buyurtma berishda MAJBURIY: tarmoq uzilib qayta yuborilganda ikkinchi buyurtma yaratilmaydi va pul ikki marta yechilmaydi.
402 Xato javobi shakli
{
    "error": {
        "code": "insufficient_balance",
        "message": "Balansingizda yetarli mablag' yo'q.",
        "details": {
            "required": "1.2000",
            "available": "0.3000"
        }
    },
    "request_id": "01K3XZQ8V4N7Y2M9P6R1T5W0AB"
}

So'nggi nuqtalar

GET /api/v3/me — 200

Kalit va hisob haqida. Integratsiyani sozlashda BIR MARTA chaqiriladi.

GET So'rov
curl -X GET 'https://smmbilan.uz/api/v3/me' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 Javob
{
    "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

Yengil uch nuqta: bitta so'rov, munosabatlar yuklanmaydi.

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

Katalog, kursorli. `next_cursor` ni keyingi so'rovda `after=` ga qo'yasiz.

GET So'rov
curl -X GET 'https://smmbilan.uz/api/v3/services?limit=100&after=0' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 Javob
{
    "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

Bitta xizmat. `id` yoki `public_id` (ULID) qabul qilinadi.

GET So'rov
curl -X GET 'https://smmbilan.uz/api/v3/services/<XIZMAT_ID>' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 Javob
{
    "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

Buyurtma berish. `Idempotency-Key` sarlavhasi MAJBURIY.

POST So'rov
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 Javob
{
    "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

Buyurtmalar, kursor TESKARI (`before=`) — eng yangisi birinchi. Tizim yaratgan bola buyurtmalar chiqarilmaydi.

GET So'rov
curl -X GET 'https://smmbilan.uz/api/v3/orders?limit=50' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 Javob
{
    "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

Bitta buyurtma. `number` yoki `public_id` qabul qilinadi.

GET So'rov
curl -X GET 'https://smmbilan.uz/api/v3/orders/100123' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 Javob
{
    "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

Kafolat so'rash. 202 — qabul qilindi, hali tugamadi.

POST So'rov
curl -X POST 'https://smmbilan.uz/api/v3/orders/100123/refill' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
202 Javob
{
    "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

Bekor qilish so'rovi. Javobda buyurtmaning YANGILANGAN holati ham keladi.

POST So'rov
curl -X POST 'https://smmbilan.uz/api/v3/orders/100123/cancel' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
202 Javob
{
    "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

Kafolat holati.

GET So'rov
curl -X GET 'https://smmbilan.uz/api/v3/refills/5' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 Javob
{
    "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

Maxsus xizmatlar katalogi. Sahifalash YO'Q — bo'lim uchta. `price` BIR DONA uchun.

GET So'rov
curl -X GET 'https://smmbilan.uz/api/v3/special/services' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 Javob
{
    "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

Maxsus buyurtma. `Idempotency-Key` MAJBURIY. Stars/Premium uchun `recipient` shart.

POST So'rov
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 Javob
{
    "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

Maxsus buyurtmalar, kursor TESKARI (`before=`). RO'YXATDA SMS kodi va 2FA paroli HAR DOIM `null` — `has_code` ga qarab yakka so'rov yuboring.

GET So'rov
curl -X GET 'https://smmbilan.uz/api/v3/special/orders?limit=50' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 Javob
{
    "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

Bitta maxsus buyurtma — SIRLAR BILAN. `number` (900000 dan) yoki `public_id` qabul qilinadi.

GET So'rov
curl -X GET 'https://smmbilan.uz/api/v3/special/orders/900123' \
  -H 'Authorization: Bearer <KALITINGIZ>' \
  -H 'Accept: application/json'
200 Javob
{
    "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

Raqam uchun SMS kodi. Har chaqiruv urinishni sarflaydi — XATO holatda ham. `Idempotency-Key` bu yerda QABUL QILINMAYDI: javobda hisobga kirish ma'lumoti bor.

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

OpenAPI 3.1 spek: /api/v3/openapi.json — kalitsiz ochiladi. Postman yoki Insomnia ga import qiling, yoki kod generatori bilan tayyor mijoz kutubxonasini yasang.

Buyurtma holatlari

Holatlar xaritasi
v3 v2 Izoh
pending Pending Kutilmoqda
awaiting Pending Navbatda
in_progress In progress Bajarilmoqda
processing Processing Jarayonda
completed Completed Bajarildi
partial Partial Qismi bajarildi
canceled Canceled Bekor qilindi
refunded Canceled Pul qaytarildi
failed Canceled Xato

Diqqat: v2 da `refunded` va `failed` alohida holat sifatida YO'Q — ikkisi ham `Canceled` bo'lib ko'rinadi.

Xizmat turlari va majburiy maydonlar

Xizmat turlari
v3 v2 Qo'shimcha maydonlar Miqdor
default Default — siz yuborasiz
package Package — qat'iy (min = max)
custom_comments Custom Comments comments kirishdan hisoblanadi
custom_comments_package Custom Comments Package comments qat'iy (min = max)
mentions Mentions usernames kirishdan hisoblanadi
mentions_hashtags Mentions with Hashtags hashtags siz yuborasiz
mentions_custom Mentions Custom List usernames kirishdan hisoblanadi
mentions_followers Mentions User Followers username siz yuborasiz
mentions_likers Mentions Likers username siz yuborasiz
mentions_media_likers Mentions Media Likers media_url siz yuborasiz
subscriptions Subscriptions username siz yuborasiz
poll Poll answer_number siz yuborasiz
invites Invites groups siz yuborasiz
comment_likes Comment Likes username siz yuborasiz

v3 xato kodlari

Xato kodlari
Kod HTTP Nima bo'ldi
invalid_api_key 401 Kalit yaroqsiz, muddati o'tgan yoki bekor qilingan.
wrong_api_version 401 v2 kaliti bilan v3 ga (yoki teskarisiga) murojaat.
account_blocked 403 Hisob to'xtatilgan yoki bloklangan.
api_disabled_for_account 403 Hisobda API o'chirilgan — qo'llab-quvvatlashga yozing.
insufficient_scope 403 Kalitda kerakli ruxsat yo'q. `details.required_scope` ni ko'ring.
not_found 404 Yozuv topilmadi yoki sizga tegishli emas.
idempotency_key_required 422 `Idempotency-Key` sarlavhasi yuborilmagan. Buyurtma berishda u MAJBURIY.
idempotency_in_progress 409 Ayni kalitli so'rov hali ishlanmoqda. 1-2 sekunddan keyin qayta urinib ko'ring.
idempotency_key_reused 409 Ayni kalit boshqa operatsiya, route parametri yoki payload bilan yuborildi. Har amal uchun yangi kalit yasang.
validation_failed 422 So'rov maydonlari to'g'ri emas.
order_rejected 422 Buyurtma rad etildi. `details.reason` sababni beradi.
refill_rejected 422 Kafolat rad etildi. `details.reason` sababni beradi.
insufficient_balance 402 Balans yetmadi. `details` da kerakli va mavjud summa.
rate_limited 429 So'rov chegarasi oshdi. `Retry-After` sarlavhasini kuting.
api_version_disabled 503 API vaqtincha o'chirilgan. Qayta urinib ko'ring.
sandbox_read_only 403 Sinov kaliti ma'lumotni o'zgartira olmaydi.

Kalitni bugun oling

Ro'yxatdan o'tish bepul. Kalit yaratilganda panelda O'Z xizmat ID va narxlaringiz bilan tayyor namunani ko'rasiz.