ایجاد کاربر جدید
/api/v1/usersاین endpoint برای ایجاد کاربران VPN جدید استفاده میشود. هم میتوان کاربران تکی ایجاد کرد و هم به صورت گروهی.
پارامترهای درخواست (JSON):
نام کاربری برای ساخت کاربر تکی. اگر از `bulk_count` استفاده شود، نباید ارسال شود.
نوع: رشته
تعداد کاربران برای ایجاد گروهی. اگر بزرگتر از 0 باشد، `username` نادیده گرفته میشود.
نوع: عدد صحیح، پیشفرض: 0
نوع فعالسازی. مقادیر مجاز: "fixed_date" یا "flexible_days".
پیشفرض: "fixed_date"
تعداد روزهای اعتبار از زمان اولین اتصال کاربر. **فقط برای `activation_type="flexible_days"` الزامی است.**
نوع: عدد صحیح
تعداد روز تا انقضا از زمان ایجاد. **فقط برای `activation_type="fixed_date"`**
پیشفرض: 30
تاریخ انقضای مشخص با فرمت `YYYY-MM-DD`. **فقط برای `activation_type="fixed_date"`**
نوع: رشته
تعداد اتصالات همزمان مجاز برای کاربر.
نوع: عدد صحیح، پیشفرض: 1
حجم ترافیک مجاز. اگر ارسال نشود، نامحدود خواهد بود.
نوع: عدد صحیح
واحد حجم ترافیک. مقادیر مجاز: "GB" یا "MB".
نوع: رشته، پیشفرض: "GB"
ID نمایندهای که کاربر به او تعلق خواهد داشت.
نوع: عدد صحیح
آرایهای از ID نودهایی که کاربر مجاز به اتصال به آنهاست.
نوع: آرایه، مثال: `[1, 3]`
یادداشت برای کاربر.
نوع: رشته
نکات مهم:
- اگر از `bulk_count` استفاده میکنید، `username` نباید ارسال شود.
- برای `activation_type="flexible_days"`، پارامتر `pending_activation_days` الزامی است.
- اگر `sub_admin_id` مشخص شود، `data_limit` حتماً باید ارسال شود.
- اگر `username` ارسالی برای یک `sub_admin` تکراری باشد، سیستم یک نام کاربری جدید با پسوند تصادفی میسازد.
مثالهای درخواست:
ایجاد کاربر تکی با انقضای 30 روز و ترافیک 5GB:
curl -X POST "https://panel.example.com:8090/api/v1/users" \
-H "Content-Type: application/json" \
-H "X-API-KEY: AbCdEfG1234567890HiJkLmNoPqRsTuVwXyZ" \
-d '{
"username": "user123",
"expiry_days": 30,
"max_clients": 2,
"data_limit": 5,
"data_limit_unit": "GB",
"notes": "کاربر تستی",
"nodes": [1, 2]
}'
ایجاد 3 کاربر گروهی با فعالسازی انعطافپذیر:
curl -X POST "https://panel.example.com:8090/api/v1/users" \
-H "Content-Type: application/json" \
-H "X-API-KEY: AbCdEfG1234567890HiJkLmNoPqRsTuVwXyZ" \
-d '{
"bulk_count": 3,
"activation_type": "flexible_days",
"pending_activation_days": 30,
"max_clients": 1,
"data_limit": 100,
"data_limit_unit": "GB"
}'
مثال پاسخ (ایجاد موفق):
{
"success": true,
"message": "User 'user123' added successfully.",
"username": "user123"
}
مثال پاسخ (ایجاد گروهی):
{
"success": true,
"message": "3 users added successfully.",
"usernames": ["uabc1234", "udef5678", "ughi9012"]
}