راهنمای جامع برای توسعهدهندگان رباتها و سرویسهای مدیریت کاربران VPN.
هدرهای عمومی مورد نیاز:
X-API-KEY: YOUR_API_KEY
(کلید API شما)Content-Type: application/json
(برای درخواستهای POST و PUT که دارای Body هستند)bulk_count
ارائه نشده یا 0 باشد، این فیلد الزامی است. در صورت ارائه bulk_count
بزرگتر از 0، این فیلد نباید ارسال شود.
"fixed_date"
یا "flexible_days"
.
activation_type
برابر با flexible_days
باشد و باید مثبت باشد.
fixed_date
. تعداد روز تا انقضا از لحظه ایجاد. اگر expiry_date_str
نباشد، این استفاده میشود.
fixed_date
. تاریخ دقیق انقضا. بر expiry_days
اولویت دارد.
null
یعنی نامحدود.
"GB"
یا "MB"
.
[1, 3]
bulk_count
برای ساخت گروهی استفاده میکنید، پارامتر username
نباید ارسال شود.activation_type
برابر با "flexible_days"
باشد، پارامتر pending_activation_days
الزامی و باید مثبت باشد.activation_type
برابر با "fixed_date"
باشد (یا ارسال نشود)، و هیچکدام از expiry_date_str
یا expiry_days
ارسال نشوند، تاریخ انقضا پیشفرض 30 روز خواهد بود.1. ایجاد کاربر `mohammad_user` با انقضای پیشفرض و 5GB ترافیک:
2. ایجاد کاربر `maryam_node_access` با 10 روز اعتبار و دسترسی به نودهای 1 و 2:
3. ایجاد کاربر `kaveh_longterm` با تاریخ انقضای دقیق "2026-01-15":
4. ایجاد 3 کاربر گروهی با فعالسازی انعطافپذیر (45 روز پس از اولین اتصال) و 2 اتصال:
5. ایجاد کاربر `sima_flexible` با فعالسازی انعطافپذیر (20 روز) و 100MB ترافیک:
مقدار <username>
را با نام کاربری مورد نظر جایگزین کنید.
فقط فیلدهایی را که قصد تغییرشان را دارید ارسال کنید.
null
ارسال کنید."GB"
یا "MB"
."fixed_date"
یا "flexible_days"
.flexible_days
(اگر کاربر هنوز متصل نشده). باید مثبت باشد.fixed_date
)، null
ارسال کنید.[]
یعنی حذف همه.first_connection_at
دارد):
expiry_date_str
یا expiry_days
تغییر دهید."flexible_days"
بوده، به "activated_flexible"
تغییر میکند و دیگر نمیتوان activation_type
یا pending_activation_days
را تغییر داد.first_connection_at
ندارد):
activation_type
را بین "fixed_date"
و "flexible_days"
تغییر دهید.activation_type
به "flexible_days"
تغییر کند، pending_activation_days
معتبر (مثبت) الزامی است.data_limit
، سهمیه کل آن نماینده را کنترل میکند تا از حد مجاز فراتر نرود.1. افزایش اتصالات همزمان کاربر `mohammad_user` به 3:
2. تمدید اعتبار کاربر `maryam_node_access` به 15 روز دیگر و حذف محدودیت حجمی:
3. تغییر محدودیت حجمی کاربر `kaveh_longterm` به 200MB و تغییر یادداشت:
4. برای کاربر `mehran_flex_candidate` (که هنوز متصل نشده)، تغییر نوع به `flexible_days` با 45 روز اعتبار و دسترسی به نود [3, 4]:
5. نامحدود کردن تاریخ انقضای کاربر `farhad_fixed` (که نوع فعالسازیش `fixed_date` است):
6. ویرایش کاربر یک نماینده (با کنترل سهمیه نماینده):
در این مثال، اگر کاربر `reseller_customer_1` متعلق به یک نماینده باشد، سرور ابتدا بررسی میکند که آیا اختصاص 50 گیگابایت به این کاربر، از سهمیه کل آن نماینده تجاوز میکند یا خیر. در صورت عبور از سهمیه، درخواست با خطا مواجه خواهد شد.
مقدار <username>
را با نام کاربری مورد نظر جایگزین کنید.
1. دریافت اطلاعات کاربر `mohammad_user`:
2. دریافت اطلاعات کاربر `sara_vip`:
3. تلاش برای دریافت اطلاعات کاربری که وجود ندارد (`user_is_missing`):
انتظار میرود پاسخی مانند {"success": false, "message": "User not found"}
با کد وضعیت 404 دریافت شود.
این API وضعیت فعال بودن کاربر را معکوس میکند. اگر فعال باشد، غیرفعال میشود و بالعکس. اتصالات فعال کاربر نیز قطع (Kill) خواهند شد.
1. تغییر وضعیت کاربر `mohammad_user` (اگر فعال باشد، غیرفعال میشود):
2. تغییر وضعیت کاربر `parsa_active` (فرضاً فعال است، پس غیرفعال میشود):
3. تغییر وضعیت کاربر `navid_inactive` (فرضاً غیرفعال است، پس فعال میشود):
4. تلاش برای تغییر وضعیت کاربر ناموجود (`nouser`):
انتظار پاسخ خطا 404.
5. تغییر وضعیت کاربر `bahram_test`:
این عملیات کاربر را از سیستم، فایلهای OVPN و CCD حذف میکند و تغییرات را به نودها نیز اعمال میکند.
1. حذف کاربر `temp_user_123`:
2. حذف کاربر `old_account_xyz`:
3. تلاش برای حذف کاربری که وجود ندارد (`user_not_found`):
انتظار پاسخ خطا 404.
1. دریافت لینک سابسکریپشن برای کاربر `mohammad_user`:
2. دریافت لینک سابسکریپشن برای کاربر `sara_vip`:
3. تلاش برای دریافت لینک کاربری که وجود ندارد (`nouser_sub`):
انتظار پاسخ خطا 404.
این API مقادیر ترافیک مصرفی (`download_bytes` و `upload_bytes`) کاربر را در دیتابیس صفر میکند.
1. ریست کردن ترافیک مصرفی کاربر `mohammad_user`:
2. ریست کردن ترافیک مصرفی کاربر `kazem_heavyuser`:
3. تلاش برای ریست ترافیک کاربری که وجود ندارد (`phantom_userX`):
انتظار پاسخ خطا 404.