مستندات رسمی API

راهنمای استفاده از API لیست سرورها

با API ندکسکو می‌توانید فهرست بازی‌ها و برنامه‌ها، آمار کلی و اطلاعات سرورهای هر آیتم را به‌صورت JSON دریافت کنید. تمام درخواست‌ها فقط خواندنی هستند و برای استفاده به API Token نیاز دارند.

دریافت API Token

شروع سریع

آدرس پایه API:

https://nedxco.com/serverlist/api/v1

برای هر درخواست، توکن خود را در Header با روش Bearer ارسال کنید.

curl "https://nedxco.com/serverlist/api/v1/items" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
در تمام نمونه‌ها مقدار YOUR_API_TOKEN را با توکنی که دریافت کرده‌اید جایگزین کنید.

احراز هویت با Token

توکن باید در Header درخواست ارسال شود:

Authorization: Bearer YOUR_API_TOKEN

اگر Token اشتباه، غیرفعال یا منقضی شده باشد، API پاسخ 401 برمی‌گرداند.

توکن را داخل JavaScript سمت مرورگر، سورس HTML یا مخزن عمومی قرار ندهید. بهتر است درخواست API از Backend سایت یا برنامه شما ارسال شود.

دریافت لیست بازی‌ها و برنامه‌ها

GEThttps://nedxco.com/serverlist/api/v1/items

این Endpoint همه آیتم‌های فعال را همراه با اطلاعات عمومی، تگ‌ها و آمار خلاصه سرورها برمی‌گرداند.

نمونه پاسخ

{
  "success": true,
  "data": {
    "games": [
      {
        "id": 1,
        "name": "Counter-Strike: Source",
        "name_fa": "کانتر استرایک سورس",
        "slug": "counter-source",
        "short_name": "CS:S",
        "description": "لیست سرورهای ایرانی کانتر سورس",
        "theme_color": "#ff6a00",
        "server_count": 4,
        "player_count": 88,
        "min_ping": 19,
        "tags": ["کلاسیک", "زامبی", "دث‌مچ"]
      }
    ]
  }
}
فیلدتوضیح
server_countتعداد سرورهای فعال آیتم
player_countمجموع بازیکنان آنلاین سرورهای فعال
min_pingکمترین پینگ ثبت‌شده بین سرورهای آنلاین
tagsتگ‌های ثبت‌شده برای بازی یا برنامه

دریافت اطلاعات یک بازی و سرورهای آن

GEThttps://nedxco.com/serverlist/api/v1/items/{slug}

به‌جای {slug} اسلاگ بازی یا برنامه را قرار دهید. برای مثال:

GEThttps://nedxco.com/serverlist/api/v1/items/counter-source

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

نمونه پاسخ

{
  "success": true,
  "data": {
    "game": {
      "id": 1,
      "name": "Counter-Strike: Source",
      "slug": "counter-source",
      "stats": {
        "servers": 4,
        "players": 88,
        "min_ping": 19
      },
      "recommended_server": {
        "id": 1,
        "name": "Nedxco Public #1",
        "address": "play.example.com:27015",
        "online": true,
        "players": 28,
        "max_players": 32,
        "ping": 19,
        "map": "de_dust2"
      },
      "servers": [
        {
          "id": 1,
          "name": "Nedxco Public #1",
          "host": "play.example.com",
          "port": 27015,
          "address": "play.example.com:27015",
          "join_url": "steam://connect/play.example.com:27015",
          "online": true,
          "players": 28,
          "max_players": 32,
          "bots": 2,
          "ping": 19,
          "map": "de_dust2",
          "boost": 100,
          "is_pinned": true,
          "is_recommended": true,
          "display_status": "online",
          "tags": ["پابلیک", "کلاسیک"]
        }
      ]
    }
  }
}
فیلد سرورتوضیح
onlineوضعیت آنلاین یا آفلاین سرور
playersتعداد بازیکنان فعلی
max_playersحداکثر ظرفیت سرور
botsتعداد Botهای گزارش‌شده توسط Socket
pingپینگ ثبت‌شده برای سرور
mapمپ یا نقشه فعلی، در صورت پشتیبانی Socket
boostمقدار اولویت نمایش سرور
is_pinnedمشخص می‌کند Pin سرور در حال حاضر فعال است یا نه
is_recommendedمشخص می‌کند سرور در بازه فعلی به‌عنوان سرور پیشنهادی انتخاب شده یا نه
join_urlلینک ورود مستقیم، در صورتی که برای آیتم تعریف شده باشد
ترتیب آرایه servers همان ترتیب نمایش پیشنهادی است: ابتدا سرورهای Pin شده و سپس سرورها بر اساس Boost بیشتر.

نمونه استفاده با PHP

پیشنهاد می‌شود Token در Backend نگه‌داری شود و درخواست از سمت سرور شما به API ارسال شود.

<?php

$token = 'YOUR_API_TOKEN';
$url = 'https://nedxco.com/serverlist/api/v1/items/counter-source';

$ch = curl_init($url);

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Authorization: Bearer ' . $token,
    ],
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);

if (!empty($data['success'])) {
    foreach ($data['data']['game']['servers'] as $server) {
        echo $server['name'] . ' - ';
        echo $server['players'] . '/' . $server['max_players'];
        echo '<br>';
    }
}

کدهای پاسخ و خطاها

کدمعنی
200درخواست با موفقیت انجام شده است.
401Token معتبر نیست، غیرفعال شده یا منقضی شده است.
404Endpoint یا آیتم موردنظر پیدا نشده است.
405متد درخواست مجاز نیست. API فعلی فقط GET را قبول می‌کند.
500خطای داخلی در API رخ داده است.

نمونه خطای Token

{
  "success": false,
  "error": "توکن API معتبر نیست یا منقضی شده است."
}
آدرس سرور کپی شد.