مستندات API

این مستندات شامل تمامی endpointهای موجود در سیستم به همراه پارامترهای ورودی، نمونه پاسخ و کدهای خطا می‌باشد.

مقدمه

این وبسرویس برای شارژ اکانت استیم به صورت مستقیم و اتوماتیک میباشد که فقط با ارسال نام کاربری اکانت استیم (Username) صورت می‌گیرد. شارژ اکانت نهایتا در چند دقیقه و به صورت خودکار انجام شده و نیاز به لوگین و ایپی کشور مقصد نخواهد داشت.

این سرویس فقط روی ریجن‌های زیر قابل سفارش و انجام میباشد:

Russia, Azerbaijan, Armenia, Belarus, Kazakhstan, Kyrgyzstan, Moldova, Tajikistan, Turkmenistan, Uzbekistan, Georgia, Ukraine

توجه داشته باشید که این سرویس روی اکانت های تازه ساخته شده و اکانت هایی که هنوز ریجنشون ثبت نشده است جوابگو نیست و ابتدا باید با یک گیفت کارت 0.5 دلاری ریجن اکانت ثبت و مشخص شود.

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

احراز هویت

همه درخواست‌ها باید شامل هدر X-API-KEY با کلید API معتبر باشند. کلید API شما شناسه منحصر به فردی است که برای احراز هویت درخواست‌های شما استفاده می‌شود.

نرخ محدود درخواست

سیستم محدودیت نرخ درخواست دارد (۱ درخواست در ثانیه برای هر API Key). در صورت تجاوز از این نرخ محدودیت، خطای 429 بازگردانده می‌شود.

قالب داده‌ها

تمامی درخواست‌های POST باید با هدر Content-Type: application/json ارسال شوند و داده‌ها باید در قالب JSON باشند.

مدیریت خطاها

همیشه پاسخ‌های API را برای کدهای وضعیت و پیام‌های خطا بررسی کنید. خطاها ممکن است به دلیل عدم موجودی، پارامترهای نامعتبر یا مشکلات سرور رخ دهند.

بررسی موجودی

قبل از ایجاد سفارش، موجودی خود را بررسی کنید. در صورت عدم موجودی کافی، درخواست ایجاد سفارش با خطای 402 مواجه خواهد شد.

زمان‌بندی سفارشات

سفارشات ایجاد شده دارای زمان انقضا هستند (معمولاً ۱۰ دقیقه). پس از انقضا، سفارش قابل پرداخت نیست و باید یک سفارش جدید ایجاد کنید.

توجه: تمامی endpointها نیاز به احراز هویت با API Key دارند که باید در هدر درخواست با کلید X-API-KEY ارسال شود.
توجه: ادرس مسیر وبسرویس https://fastkeys.ir/api است و باید به این ادرس درخواست ها ارسال شود
GET /info
دریافت اطلاعات بازرگان

این endpoint برای دریافت اطلاعات پایه استفاده می‌شود.

پارامترهای ورودی

این endpoint هیچ پارامتر ورودی نیاز ندارد.

نمونه پاسخ موفق

{
  "status": "success",
  "message": "",
  "data": {
    "name": "محمد جواد باقری",
    "email": "youremail@gmail.com",
    "phone": "09xxxxxxxxxx",
    "tg_username": "@fastkeys_ir",
    "balance": "100.00",
    "hold": "0.00",
    "active": 1,
    "fee": "0.04"
  }
}
                

خطاهای ممکن

code 500: خطای سرور داخلی

GET /balance
دریافت موجودی بازرگان

این endpoint برای دریافت موجودی استفاده می‌شود.

پارامترهای ورودی

این endpoint هیچ پارامتر ورودی نیاز ندارد.

نمونه پاسخ موفق

{
  "status": "success",
  "message": "",
  "data": {
    "balance": "100.00"
  }
}
                

خطاهای ممکن

code 500: خطای سرور داخلی

GET /services
دریافت لیست خدمات

این endpoint برای دریافت لیست سرویس های فعال استفاده می‌شود.

پارامترهای ورودی

این endpoint هیچ پارامتر ورودی نیاز ندارد.

نمونه پاسخ موفق

{
  "status": "success",
  "message": "",
  "data": [
    {
      "id": 1,
      "name": "Steam Top-up",
      "min": "0.3",
      "max": "150",
      "description": "Direct Steam Top-up",
      "active": 1
    },
    ...
  ]
}
                

خطاهای ممکن

code 500: خطای سرور داخلی

POST /create-order
ایجاد سفارش جدید

این endpoint برای ایجاد یک سفارش جدید استفاده می‌شود.

پارامترهای ورودی

پارامتر نوع وضعیت توضیحات
service_id integer الزامی ایدی سرویس مورد نظر
steam_login string الزامی نام کاربری استیم (username)
amount numeric الزامی مبلغ سفارش (بین 0.3 تا 150)

نمونه درخواست

{
    "service_id": 1,
    "steam_login": "example_user",
    "amount": 10.50
}
                

نمونه پاسخ موفق

{
    "status": "success",
    "message": "",
    "data": {
        "order_id": "a1b2c3d4e5f6g7h8i9j0",
        "status": "active",
        "amount": "10.50",
        "fee": "0.315",
        "steam_login": "example_user",
        "createdAt": "2024-04-18T17:36:55.453116"
        "expiredAt": "2024-04-18T17:36:55.453116"
    }
}
                

خطاهای ممکن

code 402: موجودی ناکافی

code 422: پارامترهای ورودی نامعتبر

code 500: خطای سرور داخلی

POST /pay-order
پرداخت سفارش

این endpoint برای پرداخت یک سفارش ایجاد شده استفاده می‌شود.

پارامترهای ورودی

پارامتر نوع وضعیت توضیحات
order_id string الزامی ایدی سفارش
amount numeric الزامی مبلغ سفارش (بین 0.3 تا 150)

نمونه درخواست

{
    "order_id": "a1b2c3d4e5f6g7h8i9j0",
    "amount": 10.50
}
                

نمونه پاسخ موفق

{
    "status": "success",
    "message": "",
    "data": {
        "order_id": "a1b2c3d4e5f6g7h8i9j0",
        "status": "queued",
        "amount": "10.50",
        "fee": "0.315",
        "steam_login": "example_user",
        "createdAt": "2025-09-06 19:09:54",
        "expiredAt": "2025-09-06 19:19:51"
    }
}
                

خطاهای ممکن

code 402: موجودی ناکافی یا سفارش منقضی شده

code 404: سفارش یافت نشد

code 422: پارامترهای ورودی نامعتبر یا مبلغ مطابقت ندارد

code 500: خطای سرور داخلی

GET /get-order
دریافت اطلاعات سفارش

این endpoint برای دریافت اطلاعات یک سفارش خاص استفاده می‌شود.

پارامترهای ورودی

پارامتر نوع وضعیت توضیحات
order_id string الزامی شناسه سفارش (به عنوان پارامتر Path)

نمونه درخواست

GET /get-order/a1b2c3d4e5f6g7h8i9j0

نمونه پاسخ موفق

{
    "status": "success",
    "message": "",
    "data": {
        "order_id": "a1b2c3d4e5f6g7h8i9j0",
        "status": "completed",
        "amount": "10.50",
        "fee": "0.315",
        "steam_login": "example_user",
        "createdAt": "2025-09-06 19:09:54",
        "expiredAt": "2025-09-06 19:19:51",
        "completedAt": "2025-09-06 19:11:03"
    }
}
                

خطاهای ممکن

code 404: سفارش یافت نشد

code 422: پارامترهای ورودی نامعتبر

code 500: خطای سرور داخلی

GET /get-orders
دریافت لیست سفارشات

این endpoint برای دریافت لیست سفارشات بازرگان با امکان صفحه‌بندی استفاده می‌شود.

پارامترهای ورودی (Query Parameters)

پارامتر نوع وضعیت توضیحات مقدار پیش‌فرض
page integer اختیاری شماره صفحه مورد نظر 1
limit integer اختیاری تعداد رکوردها در هر صفحه (حداکثر 100) 50

نمونه درخواست

GET /get-orders?page=1&limit=50

نمونه پاسخ موفق

{
    "status": "success",
    "message": "",
    "data": {
        "data": [
            {
                "order_id": "a1b2c3d4e5f6g7h8i9j0",
                "status": "completed",
                "amount": "10.50",
                "fee": "0.315",
                "steam_login": "example_user",
                "createdAt": "2025-09-06 19:09:54",
                "expiredAt": "2025-09-06 19:19:51",
                "completedAt": "2025-09-06 19:11:03"
            },
            {
                "order_id": "b2c3d4e5f6g7h8i9j0k1",
                "status": "active",
                "amount": "5.25",
                "fee": "0.157",
                "steam_login": "another_user",
                "createdAt": "2025-09-06 19:09:54",
                "expiredAt": "2025-09-06 19:19:51",
                "completedAt": null
            }
        ],
        "total": 45,
    }
}
                

خطاهای ممکن

code 500: خطای سرور داخلی

GET /rates
دریافت نرخ‌های استیم

این endpoint برای دریافت نرخ‌های تقریبی استیم استفاده می‌شود.

پارامترهای ورودی

این endpoint هیچ پارامتر ورودی نیاز ندارد.

نمونه پاسخ موفق

{
  "status": "success",
  "message": "",
  "data": [
    {
      "id": 15821,
      "currency_code": "RUB",
      "base_currency_code": "USD",
      "exchange_rate": 81.361,
      "date": "2025-09-06T00:00:00"
    },
    {
      "id": 15823,
      "currency_code": "UAH",
      "base_currency_code": "USD",
      "exchange_rate": 41.25,
      "date": "2025-09-06T00:00:00"
    },
    ...
  ]
}
                

خطاهای ممکن

code 500: خطای سرور داخلی

خطا ها و وضعیت ها

وضعیت های سرویس

وضعیت سفارش ها ممکن است یکی از موارد زیر باشد

وضعیت توضیحات
active سفارش در حال فعال قرار دارد و میتوان سفارش رو ادامه داد
queued سفارش در صف انجام قرار دارد
completed سفارش انجام شده است
expired سفارش منقضی شده است
error خطا در سفارش (با پشتیبانی برای بررسی تماس بگیرید)
failed سفارش انجام نشده است (با پشتیبانی برای بررسی تماس بگیرید)

خطا های سرویس

خطا توضیحات
Invalid API key کلید api اشتباه است
Order Not Found سفارش پیدا نشد
Insufficient balance موجودی نا کافی است
Service not active سرویس غیر فعال است
Order expired سفارش منقضی شده است
Amount does not match مقدار وارد شده با مقدار سفارش یکی نیست
Service error - contact support خطای داخلی سرور - باید با پشتیبانی تماس بگیرید
توجه: در وبسرویس ممکن است خطا های دیگری با کد 500 دریافت کنید که خطای سمت سرور و سرویس میباشد، لطفا در صورت مشاهده با پشتیبانی تماس بگیرید