هر درخواست با کلید اپ احراز هویت میشود. کلید هنگام ساخت اپ در پنل یکبار نمایش داده میشود، با پیشوند fx-ntz-v1- شروع میشود و ۴۰ کاراکتر تصادفی دارد. نِت اَرز فقط هش SHA-256 آن را نگه میدارد.
ارسال کلید
Authorization: Bearer fx-ntz-v1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# معادل، برای ابزارهایی که هدر Authorization را نمیپذیرند:
X-API-Key: fx-ntz-v1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
پارامتر ?key= فقط برای ویجت است که خودش با قفل دامنه محافظت میشود. برای API همیشه از هدر استفاده کنید تا کلید در لاگها و تاریخچهٔ مرورگر نماند.
کلید، دامنه و اپ
در این سرویس هر اپ دقیقاً یک کلید و یک دامنهٔ اصلی دارد. اگر دو سایت دارید، دو اپ بسازید؛ هر کدام سهمیه، آمار و طرح خودش را دارد و طرح پرو بهازای هر اپ خریده میشود.
| روی اپ | چیست |
|---|---|
| دامنهٔ اصلی | هاستی که باید مالکیتش را ثابت کنید؛ درخواستهای مرورگر از آن پذیرفته میشوند. |
| دامنههای اضافی | هاستهای دیگر یا *.example.com که همان کلید را میپذیرند (بدون تأیید جداگانه). |
| IPهای مجاز | برای فراخوانی سمت سرور که Origin/Referer ندارد. |
| طرح | رایگان یا پرو تا تاریخ مشخص، با تمدید خودکار اختیاری. |
چرخهٔ عمر کلید
- ساخت: با ساخت اپ. تا تأیید دامنه، کلید
domain_not_verifiedبرمیگرداند. - توقف موقت: از پنل؛ درخواستها با
app_disabledرد میشوند و هر وقت خواستید دوباره فعال میشود. - چرخش: «چرخش کلید» کلید تازه میدهد و قدیمی را بلافاصله باطل میکند. اول کلید جدید را مستقر کنید، بعد بچرخانید — یا در لحظهٔ کمترافیک.
- حذف اپ: کلید، هشدارها و آمار حذف میشوند (اپ با پروی فعال قابل حذف نیست).
بررسی کلید و طرح
GET /me بگوید کلید با کدام اپ و طرح کار میکند و چقدر از سهمیهٔ امروز مانده:
curl https://netarz.ir/api/fx/v1/me \
-H "Authorization: Bearer $NETARZ_FX_KEY"
{
"data": {
"app": { "id": 12, "name": "سایت فروشگاه", "domain": "example.com", "domains": ["example.com", "*.example.com"], "allowed_ips": ["185.12.34.5"], "verified": true, "key": "fx-ntz-v1-ab12…cd34" },
"plan": { "name": "pro", "pro_until": "2026-10-05T10:00:00+03:30", "auto_renew": true, "delayed_minutes": 0, "history_window_minutes": 576000,
"features": { "realtime": true, "history": true, "ohlc": true, "stats": true, "alerts": true, "stream": true, "widget": true } },
"limits": { "rpm": 600, "daily": 200000, "used_today": 1432, "remaining_today": 198568 }
}
}
خطاهای احراز هویت
| HTTP | code | معنا |
|---|---|---|
| 401 | missing_api_key | هدر Authorization / X-API-Key ارسال نشده. |
| 401 | invalid_api_key | کلید وجود ندارد. پس از ۲۰ کلید اشتباه در ۱۰ دقیقه، آن IP موقتاً مسدود میشود. |
| 401 | app_disabled | اپ از پنل متوقف شده. |
| 403 | app_suspended | اپ توسط نِت اَرز معلق شده (دلیل در پیام). |
| 403 | domain_not_verified | مالکیت دامنه هنوز تأیید نشده. |
| 403 | origin_not_allowed / origin_required / ip_not_allowed | قفل دامنه — توضیح. |
نکات امنیتی
- کلید را میتوانید در فرانتاند بگذارید — به لطف قفل دامنه از جای دیگری کار نمیکند — ولی برای سرور، در متغیر محیطی نگه دارید.
- برای هر محیط (production / staging) اپ جداگانه بسازید تا چرخش یکی، دیگری را از کار نیندازد.
- اگر گمان میکنید کلید لو رفته، همان لحظه بچرخانید و «آخرین مبدأ / IP» را در پنل بررسی کنید.