RailBot
مستندات توسعه‌دهنده · نسخهٔ ۱

راهنمای وب‌سرویس RailBot

اپ‌های ثبت‌شده‌ت رو در ابزارهای خودت استفاده کن. از موجودی کیف پول تا دریافت اطلاعات اپ، همهٔ مسیرها اینجان.

اولین درخواست
شروع سریع

شروع و احراز هویت

  1. از منوی ربات، پنل حساب رو باز کن و یک کلید API بساز.
  2. برای درخواست پولی، از بخش کیف پول در پنل وب اعتبار بها بگیر.
  3. کلید رو در هدر Authorization بفرست و فقط سمت سرور نگهش دار.
Authorization: Bearer $KEY
Accept: application/json

موجودی کیف پول

GET/api/v1/wallet

موجودی تتر، تعرفهٔ هر پاسخ موفق و مصرف کلیدی که فرستادی رو برمی‌گردونه. رایگانه.

{
  "data": {
    "balance": "10.00",
    "currency": "USDT",
    "request_price": "0.05",
    "token": {
      "used": 0,
      "quota": 100
    }
  }
}

فهرست اپ‌ها

GET/api/v1/apps?page=1

هر صفحه تا ۲۵ اپ از حساب خودت با شناسهٔ RailBot، اسم و کد کشور برمی‌گردونه. رایگانه.

{
  "data": {
    "apps": [
      {"id": 17,
       "label": "My app",
       "country": "IR"}
    ],
    "page": 1,
    "has_more": false
  }
}

دریافت اطلاعات اپ

POST/api/v1/apps/{id}/credentials

شناسهٔ اپ رو از فهرست بگیر. هر پاسخ موفق جدید، یک واحد از سقف کلید و تعرفهٔ اعلام‌شده از موجودی کم می‌کنه.

برای هر درخواست تازه، یک Idempotency-Key یکتا (۸ تا ۱۲۸ کاراکتر ASCII شامل حرف، عدد یا . _ : -) بفرست. اگر ارتباط قطع شد همون مقدار رو دوباره بفرست تا دوباره هزینه کم نشه.

در مثال، BASE آدرس RailBot و KEY کلید وب‌سرویس خودته.

curl -X POST \
  -H "Authorization: Bearer $KEY" \
  -H 'Idempotency-Key: read-17-0001' \
  "$BASE/api/v1/apps/17/credentials"
{
  "data": {
    "app_id": 17,
    "api_id": 12345,
    "api_hash":
    "0123456789abcdef0123456789abcdef",
    "charged": "0.05",
    "currency": "USDT",
    "balance_after": "9.95"
  }
}

پاسخ تکراری با هدر Idempotent-Replay: true مشخص می‌شه. موجودی داخل پاسخ، موجودی زمان ثبت همون تراکنشه.

کدهای خطا

برای مدیریت خطا از error.code استفاده کن. درخواست ناموفق از موجودی یا سقف کلید کم نمی‌کنه.

HTTPکدمعنی
401
invalid_token
کلید اشتباهه یا لغو شده.
402
insufficient_balance
اعتبار کافی نیست.
403
account_blocked
دسترسی حساب محدود شده.
404
app_not_found
اپ در حساب پیدا نشد.
409
idempotency_conflict
Idempotency-Key قبلاً برای اپ دیگری استفاده شده.
409
app_changed
اطلاعات اپ تغییر کرده. Idempotency-Key تازه بفرست.
422
invalid_idempotency_key
هدر Idempotency-Key خالی یا نامعتبره.
429
token_quota_exhausted
سقف درخواست‌های موفق این کلید پر شده.
429
rate_limited
درخواست‌ها زیاده. بعداً دوباره تلاش کن.
500
server_error
خطای سرور. با همان Idempotency-Key دوباره تلاش کن.