نِت اَرز · مستندات API هوش مصنوعی
همهٔ مستندات
مدل‌ها و قیمت‌ها مرجع تعاملی دریافت کلید

احراز هویت

کلیدهای پروژه (sk-ntz-v1-…) و هدر Authorization در API هوش مصنوعی نِت اَرز؛ محدودیت‌های هر کلید، چرخش کلید و این‌که کلید را کجا نگه دارید تا لو نرود.

base_url: https://netarz.ir/api/ai/v1 به‌روزرسانی: 1405/07/06

هر درخواست به API با یک کلید پروژه احراز هویت می‌شود. کلید را از پنل کاربری ← «API هوش مصنوعی» ← پروژهٔ موردنظر بسازید. کلید با پیشوند sk-ntz-v1- شروع می‌شود و پس از آن ۴۰ کاراکتر تصادفی دارد.

ارسال کلید

کلید را در هدر Authorization با طرح Bearer بفرستید — دقیقاً همان‌طور که برای OpenAI می‌فرستید:

HTTP header
Authorization: Bearer sk-ntz-v1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
جایگزین
# معادل (برای ابزارهایی که هدر Authorization را پشتیبانی نمی‌کنند):
X-API-Key: sk-ntz-v1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

در SDK رسمی OpenAI کافی است متغیرهای محیطی زیر را تنظیم کنید تا بدون هیچ تغییری در کد، درخواست‌ها به نِت اَرز بروند:

.env
# .env
NETARZ_API_KEY=sk-ntz-v1-...

# اگر از SDK رسمی OpenAI استفاده می‌کنید، همین دو متغیر کافی است:
OPENAI_API_KEY=sk-ntz-v1-...
OPENAI_BASE_URL=https://netarz.ir/api/ai/v1

ساختار حساب

سطحچیستچه چیزی روی آن تنظیم می‌شود
حساباعتبار دلاری شما (یک حساب برای هر کاربر نِت اَرز)موجودی، محدودیت همزمانی، سقف مصرف روزانه (در صورت تعیین توسط پشتیبانی)
پروژهیک محصول یا محیط (مثلاً «ربات تلگرام»، «سایت — production»)بودجهٔ ماهانه، مدل‌های مجاز، فعال/غیرفعال
کلیداعتبارنامهٔ یک سرویس یا سرور خاص داخل پروژهمدل‌های مجاز، IPهای مجاز، RPM اختصاصی، سقف هزینه، تاریخ انقضا، ابطال

هر درخواست به پروژه و کلیدی که با آن ارسال شده نسبت داده می‌شود؛ گزارش مصرف به همین تفکیک در دسترس است.

چرخهٔ عمر کلید

  • ساخت: مقدار کامل کلید فقط یک بار نمایش داده می‌شود. نِت اَرز فقط هش SHA-256 کلید را نگه می‌دارد و نمی‌تواند آن را دوباره به شما نشان دهد.
  • محدود کردن: فهرست مدل‌های مجاز (خالی = همهٔ مدل‌های مجاز پروژه)، فهرست IP مجاز (خالی = همهٔ IPها)، سقف هزینهٔ کل کلید و تاریخ انقضا.
  • غیرفعال کردن: کلید موقتاً پذیرفته نمی‌شود (api_key_disabled) و می‌توانید دوباره فعالش کنید.
  • ابطال: دائمی است (api_key_revoked). برای چرخش کلید، ابتدا کلید جدید بسازید، آن را مستقر کنید و سپس قدیمی را باطل کنید.

بررسی کلید و موجودی

برای اطمینان از درستی کلید و دیدن موجودی و محدودیت‌های مؤثر روی آن، GET /me را صدا بزنید:

cURL
curl https://netarz.ir/api/ai/v1/me \
  -H "Authorization: Bearer $NETARZ_API_KEY"
پاسخ
{
  "object": "account",
  "balance": { "usd": "12.345678", "usd_display": "$12.3457", "toman_estimate": 2469136 },
  "status": "active",
  "project": { "id": 7, "name": "ربات تلگرام" },
  "key": {
    "name": "production",
    "prefix": "sk-ntz-v1-ab12",
    "rpm_limit": 60,
    "spend_limit_usd": null,
    "spent_usd": "3.120000",
    "expires_at": null
  },
  "limits": { "concurrency": 8, "max_request_kb": 20480 }
}

خطاهای احراز هویت

HTTPcodeمعنا
401missing_api_keyهدر Authorization (یا X-API-Key) ارسال نشده است.
401invalid_api_keyکلید وجود ندارد یا اشتباه است. پس از ۲۰ کلید اشتباه در ۱۰ دقیقه، آن IP موقتاً مسدود می‌شود.
401api_key_revokedکلید باطل شده است؛ کلید جدید بسازید.
401api_key_expiredتاریخ انقضای کلید گذشته است.
401api_key_disabledکلید از پنل غیرفعال شده است.
403ip_not_allowedIP شما در فهرست IPهای مجاز این کلید نیست.
403model_not_allowedاین کلید یا پروژه اجازهٔ استفاده از مدل درخواستی را ندارد.
429too_many_failed_attemptsتلاش‌های ناموفق بیش از حد از این IP؛ چند دقیقه صبر کنید.

نکات امنیتی

کلید را هرگز در مرورگر یا اپ موبایل قرار ندهید

هر کسی که کد فرانت‌اند شما را ببیند می‌تواند با اعتبار شما درخواست بفرستد. همیشه از سرور خودتان (یا یک تابع بدون سرور) به نِت اَرز وصل شوید و کلید را در متغیر محیطی نگه دارید.

  • برای هر محیط (development / staging / production) و هر سرویس، کلید جداگانه بسازید تا ابطال یک کلید بقیه را از کار نیندازد.
  • برای کلیدهای سرور، IPهای مجاز را تنظیم کنید (IP دقیق، پیشوند مثل 185.12.34. یا CIDR مثل 185.12.34.0/24).
  • برای هر کلید سقف هزینه و برای هر پروژه بودجهٔ ماهانه بگذارید تا یک باگ یا نشت کلید، کل اعتبار را خرج نکند.
  • مدل‌های مجاز را به آن‌هایی که واقعاً استفاده می‌کنید محدود کنید.
  • اگر گمان می‌کنید کلیدی لو رفته، بلافاصله آن را باطل کنید و در گزارش درخواست‌ها، IP و زمان استفاده‌ها را بررسی کنید.