MLBB Check API v1
Token olish

Nickname va regionni bir so'rovda oling

Mobile Legends: Bang Bang akkauntining ID va server (zone) ID si bo'yicha o'yinchi nickname'i, region (davlat) va server turini qaytaradigan tezkor API.

Cloudflare edge Kesh: 30 daqiqa Limit: 60 so'rov / daqiqa Token bilan

1Tezkor boshlash

BASEhttps://mlbb.nurali.uz/v1

Birinchi so'rov:

bash
curl -H "Authorization: Bearer mlbb_SIZNING_TOKENINGIZ" \
  "https://mlbb.nurali.uz/v1/check?id=1290132154&zone=15246"
200 OK · application/json
{
  "ok": true,
  "account_id": "1290132154",
  "zone_id": "15246",
  "nickname": "Wader〆",
  "region": "Uzbekistan",
  "server_type": "Original Server"
}

2Token olish

API faqat token bilan ishlaydi. Token admin tomonidan beriladi.

  1. Telegram orqali @vafoyev_n ga yozing: loyihangiz nomi va kutilayotgan so'rovlar sonini ayting.
  2. Sizga mlbb_ bilan boshlanadigan token beriladi. U faqat bir marta ko'rsatiladi — xavfsiz joyda saqlang.
  3. Har bir so'rovda tokenni Authorization sarlavhasida yuboring.

Token muddatli (odatda 1 yil). Muddati tugasa yoki token oshkor bo'lsa — yangisini olish uchun @vafoyev_n ga yozing; eski token bekor qilinadi.

3Sinab ko'rish

So'rov to'g'ridan-to'g'ri brauzeringizdan API'ga yuboriladi. Token faqat shu sahifada qoladi (belgilasangiz — brauzer yopilguncha).

cURL

          
Javob shu yerda chiqadi

Tokeningiz yo'qmi? Telegram orqali @vafoyev_n ga yozing. Ikkinchi marta yuborsangiz X-Cache: HIT-* va vaqt keskin qisqarganini ko'rasiz.

4Autentifikatsiya

Token uch usulda qabul qilinadi (birinchisi tavsiya etiladi):

UsulMisolIzoh
Bearer sarlavhaAuthorization: Bearer mlbb_…Tavsiya etiladi
Maxsus sarlavhaX-API-Token: mlbb_…Bearer ishlatib bo'lmasa
Query parametr?token=mlbb_…Token loglarda qolishi mumkin — faqat test uchun

5GET /v1/check

Akkaunt nickname'i va regionini qaytaradi. Ikki xil yozilishi bor:

GET/v1/check?id={account_id}&zone={zone_id}
GET/v1/check/{account_id}/{zone_id}

Parametrlar

NomiTuriMajburiyTavsif
id (yoki account_id)raqam, 1–12 belgihaO'yindagi akkaunt ID. Masalan 1290132154
zone (yoki zone_id, server)raqam, 1–8 belgihaServer (zone) ID — profildagi qavs ichidagi raqam. Masalan 15246
tokensatryo'qSarlavha o'rniga (qarang: Autentifikatsiya)

O'yinda ID odatda 1290132154 (15246) ko'rinishida beriladi: birinchisi id, qavs ichidagisi zone.

Holat so'rovi

GET /v1 — token talab qilmaydi; servis ishlayotganini va limitni qaytaradi. Monitoring uchun qulay.

6Javob maydonlari

MaydonTuriTavsif
okbooleanMuvaffaqiyatli bo'lsa true
account_idstringSo'ralgan akkaunt ID
zone_idstringSo'ralgan server ID
nicknamestringO'yinchi nickname'i (Unicode belgilar bo'lishi mumkin)
regionstring | nullAkkaunt davlati, masalan Uzbekistan. Ba'zan null
server_typestringOriginal Server yoki Advanced Server (zone ID bo'yicha)

Xato bo'lganda: {"ok": false, "error": "kod", "message": "izoh"}. Dasturda error kodiga tayaning — message matni o'zgarishi mumkin.

7Xato kodlari

HTTPerrorSababiQayta yuborish?
200—Topildi—
400invalid_paramsid yoki zone yo'q / raqam emasYo'q — so'rovni tuzating
401token_requiredToken yuborilmaganYo'q
401token_invalidToken formati noto'g'riYo'q
401token_not_foundBunday token yo'qYo'q — @vafoyev_n
401token_revokedToken bekor qilinganYo'q — @vafoyev_n
401token_expiredToken muddati tugaganYo'q — @vafoyev_n
404account_not_foundBu ID + zone bo'yicha akkaunt yo'qYo'q — ID/zone'ni tekshiring
405method_not_allowedFaqat GET qabul qilinadiYo'q
429rate_limitedDaqiqalik limit tugadiHa — Retry-After dan keyin
502upstream_unavailableManba servis vaqtincha javob bermadiHa — kutib (backoff)
503auth_unavailableToken tekshiruvi vaqtincha ishlamadiHa — kutib (backoff)

8Javob sarlavhalari

SarlavhaQiymatMa'nosi
X-CacheHIT-MEM · HIT-EDGE · MISS · STALEJavob qayerdan olingani (qarang: Kesh)
X-RateLimit-Limit60Daqiqasiga ruxsat etilgan so'rovlar
Retry-AftersoniyaFaqat 429 da: shuncha kutib qayta yuboring
Server-Timingtotal;dur=3Server ichida ketgan vaqt (ms)

9Limitlar

60
so'rov / daqiqa — har bir token uchun
1
so'rov = 1 akkaunt (batch yo'q)
6 s
eng uzoq kutish (keshda bo'lmasa)
  • Limit token boshiga hisoblanadi va har 60 soniyada yangilanadi. Keshdan qaytgan javoblar ham hisobga kiradi.
  • Limitdan oshsa — 429 rate_limited va Retry-After: 60 qaytadi. Bu vaqtda yuborilgan so'rovlar ham rad etiladi, shuning uchun to'xtab turing.
  • Limit Cloudflare tarmog'ining har bir hududida alohida hisoblanadi, shuning uchun chegara atrofida bir oz farq bo'lishi mumkin — 60 ga yaqin ishlamang, o'z tomoningizda navbat (queue) qiling.
  • Ko'proq kerak bo'lsa (masalan, ommaviy tekshiruv) — Telegram orqali @vafoyev_n ga yozing.

Limitni chetlab o'tish uchun bir nechta tokendan navbat bilan foydalanish yoki suiiste'mol aniqlansa, token ogohlantirishsiz bekor qilinadi.

10Qayta yuborish (retry) qoidalari

JavobNima qilish kerak
200Natijani o'z tomoningizda ham keshlang (kamida 5–30 daqiqa).
400 / 401 / 404 / 405Qayta yubormang. Natija o'zgarmaydi — so'rov yoki tokenni tuzating. 404 ni ham qisqa muddat keshlang.
429Retry-After soniya kuting, keyin bitta so'rov yuboring. Parallel oqimlarni kamaytiring.
502 / 503 / tarmoq xatosiEksponensial kutish: 1 s → 2 s → 4 s (+ tasodifiy 0–500 ms), ko'pi bilan 3 marta. Keyin foydalanuvchiga xato ko'rsating.
  • So'rov uchun 8–10 soniya timeout qo'ying.
  • Bir xil id + zone ni bir vaqtda qayta-qayta yubormang — bitta javobni kuting.
  • Foydalanuvchi kiritayotgan har bir harf uchun emas, faqat "Tekshirish" bosilganda so'rov yuboring.
JavaScript — to'g'ri retry
async function checkMlbb(id, zone) {
  for (let attempt = 0; attempt < 4; attempt++) {
    let res;
    try {
      res = await fetch(`https://mlbb.nurali.uz/v1/check?id=${id}&zone=${zone}`, {
        headers: { Authorization: `Bearer ${process.env.MLBB_API_TOKEN}` },
        signal: AbortSignal.timeout(10_000),
      });
    } catch {
      res = null; // tarmoq xatosi / timeout
    }

    if (res && res.status < 500 && res.status !== 429) return res.json(); // 2xx/4xx — qayta yubormaymiz
    if (attempt === 3) break;

    const wait = res?.status === 429
      ? Number(res.headers.get("retry-after") || 60) * 1000
      : 1000 * 2 ** attempt + Math.random() * 500;
    await new Promise((r) => setTimeout(r, wait));
  }
  throw new Error("MLBB API vaqtincha ishlamayapti");
}

11Kesh — nega tez

API Cloudflare tarmog'ida, sizga eng yaqin serverda ishlaydi. Javob uch qavatdan qidiriladi:

X-CacheManbaOdatiy vaqt
HIT-MEMServer xotirasi~1 ms
HIT-EDGECloudflare keshi (hududiy)~5 ms
MISSManba servisdan yangi olindi0.5–1.5 s
STALEManba ishlamayapti — oxirgi ma'lum javob~5 ms
  • Topilgan nickname 30 daqiqa keshda saqlanadi. O'yinchi nickname'ini o'zgartirsa, yangisi 30 daqiqagacha kechikib ko'rinadi.
  • "Topilmadi" (404) javobi 2 daqiqa saqlanadi.
  • Manba servis ishlamay qolsa, 24 soatgacha oxirgi ma'lum javob qaytariladi (X-Cache: STALE).
  • Bir vaqtda kelgan bir xil so'rovlar manbaga bitta murojaat sifatida boradi.

12Xavfsizlik

Tokenni brauzer yoki mobil ilova kodiga qo'ymang. Uni ko'rgan har kim sizning limitingizni ishlatadi. So'rovni o'z serveringizdan yuboring va natijani foydalanuvchiga uzating.

  • Tokenni muhit o'zgaruvchisida saqlang (MLBB_API_TOKEN), git'ga qo'shmang.
  • Faqat HTTPS orqali ishlaydi.
  • Token oshkor bo'lsa — darhol @vafoyev_n ga yozing; u bekor qilinadi (1 daqiqa ichida kuchga kiradi) va yangisi beriladi.

13OpenAPI (JSON)

API'ning to'liq mashina o'qiy oladigan tavsifi — OpenAPI 3.1. Uni Postman, Insomnia, Swagger yoki kod generatorlariga (openapi-generator, orval) import qiling.

JSONhttps://docs-mlbb.nurali.uz/openapi.json
openapi.json
Yuklanmoqda…

14Kod namunalari

curl -sS \
  -H "Authorization: Bearer $MLBB_API_TOKEN" \
  "https://mlbb.nurali.uz/v1/check/1290132154/15246"

15Aloqa

Token, limit oshirish va savollar

API'dan foydalanish uchun Telegram orqali @vafoyev_n ga murojaat qiling: token ochib beriladi yoki limit oshiriladi. Xato topsangiz — so'rov vaqti va javobdagi error kodini yuboring.

@vafoyev_n
Nusxalandi