API: احراز هویت
ثبتنام، تأیید، ورود (همراه با احراز هویت دومرحلهای)، بازیابی رمز عبور و خواندن کاربر فعلی.
این نقاط پایانی نشست میسازند و پایان میدهند و یک توکن Bearer برمیگردانند که دقیقاً مثل کلید API استفاده میشود. برای اسکریپتهای بدونمراقب، بهجای توکن ورود از یک کلید API جداگانه استفاده کنید.
ثبتنام
POST /auth/register
حساب میسازد و یک کد ۶ رقمی با ایمیل و پیامک میفرستد. شماره باید موبایل ایرانی باشد و terms_accepted باید true باشد.
احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
name |
string | بله | |
email |
string | بله | |
phone |
string | بله | |
password |
string | بله | |
terms_accepted |
boolean | بله |
پاسخها
201ایجاد شد. برمیگرداند:message(string),user_id(integer),otp_channel(string).422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی429درخواستهای بیش از حد
نمونه
curl -X POST https://veneshcloud.ir/api/auth/register \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name":"my-name","email":"you@example.com","phone":"09121234567","password":"your-password","terms_accepted":true}'
تأیید کد ثبتنام
POST /auth/verify-otp
کد را تأیید میکند و کاربر را همراه با یک توکن Bearer برمیگرداند.
احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
user_id |
integer | بله | |
code |
string | بله |
پاسخها
200موفق. برمیگرداند:user(User),token(string),dashboard(string).422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی429درخواستهای بیش از حد
نمونه
curl -X POST https://veneshcloud.ir/api/auth/verify-otp \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"user_id":1,"code":"123456"}'
ارسال مجدد کد ثبتنام
POST /auth/resend-otp
یک کد تأیید تازه میفرستد.
احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
user_id |
integer | بله |
پاسخها
200موفق429درخواستهای بیش از حد
نمونه
curl -X POST https://veneshcloud.ir/api/auth/resend-otp \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"user_id":1}'
ورود
POST /auth/login
ایمیل و رمز را بررسی میکند. بدون احراز هویت دومرحلهای کاربر و توکن برمیگرداند. اگر فعال باشد requires_2fa و یک challenge_token مبهم برای مرحلهٔ بعد (۵ دقیقه اعتبار، ۵ تلاش) برمیگرداند. حسابهایی که تأیید ثبتنام را کامل نکردهاند خطای email_not_verified میگیرند.
احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
email |
string | بله | |
password |
string | بله |
پاسخها
200موفق422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی429درخواستهای بیش از حد
نمونه
curl -X POST https://veneshcloud.ir/api/auth/login \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","password":"your-password"}'
تکمیل ورود دومرحلهای
POST /auth/login/2fa
challenge_token مرحلهٔ ورود و کد ۶ رقمی فعلی (برنامهٔ احراز هویت، ایمیل یا پیامک) را میگیرد و کاربر و توکن برمیگرداند. پنج تلاش نادرست چالش را باطل میکند.
احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
challenge_token |
string | بله | |
code |
string | بله |
پاسخها
200موفق. برمیگرداند:user(User),token(string),dashboard(string).422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی429درخواستهای بیش از حد
نمونه
curl -X POST https://veneshcloud.ir/api/auth/login/2fa \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"challenge_token":"string","code":"123456"}'
ارسال مجدد کد دومرحلهای
POST /auth/login/2fa/resend
برای حسابهایی که ایمیل یا پیامک را عامل دوم دارند کد جدید میفرستد.
احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
challenge_token |
string | بله |
پاسخها
200موفق. برمیگرداند:message(string),expires_in_minutes(integer).422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی429درخواستهای بیش از حد
نمونه
curl -X POST https://veneshcloud.ir/api/auth/login/2fa/resend \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"challenge_token":"string"}'
درخواست لینک بازیابی رمز
POST /auth/forgot-password
اگر آدرس متعلق به حسابی باشد لینک بازیابی را ایمیل میکند. پاسخ در هر دو حالت یکسان است.
احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
email |
string | بله |
پاسخها
200موفق. برمیگرداند:message(string).422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی429درخواستهای بیش از حد
نمونه
curl -X POST https://veneshcloud.ir/api/auth/forgot-password \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com"}'
تعیین رمز عبور جدید
POST /auth/reset-password
با توکن ایمیلشده رمز جدید تعیین میکند. همهٔ نشستهای موجود خارج میشوند.
احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
email |
string | بله | |
token |
string | بله | |
password |
string | بله | |
password_confirmation |
string | بله |
پاسخها
200موفق. برمیگرداند:message(string).422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
نمونه
curl -X POST https://veneshcloud.ir/api/auth/reset-password \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","token":"TOKEN_FROM_EMAIL","password":"your-password","password_confirmation":"your-new-password"}'
خروج
POST /auth/logout
توکنی را که با آن درخواست زدهاید باطل میکند.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پاسخها
200موفق
نمونه
curl -X POST https://veneshcloud.ir/api/auth/logout \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
کاربر فعلی
GET /auth/me
حسابِ مالک توکن را برمیگرداند.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پاسخها
200موفق. برمیگرداندUser.
نمونه
curl -X GET https://veneshcloud.ir/api/auth/me \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
ورود با کد بازیابی
POST /account/2fa/recovery-code
ورود دومرحلهای را با یکی از کدهای بازیابی یکبارمصرف همراه challenge_token مرحلهٔ ورود کامل میکند.
احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
challenge_token |
string | بله | |
recovery_code |
string | بله |
پاسخها
200موفق. برمیگرداند:user(User),token(string),dashboard(string).422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی429درخواستهای بیش از حد
نمونه
curl -X POST https://veneshcloud.ir/api/account/2fa/recovery-code \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"challenge_token":"string","recovery_code":"RECOVERY_CODE"}'
اشیاء
فهرست فیلدهای اشیایی که در بالا برگردانده میشوند.
User
| فیلد | نوع | مقادیر |
|---|---|---|
id |
integer | |
name |
string | |
email |
string | |
phone |
string | |
avatar_url |
string | |
role |
string | admin, support_tech, support_finance, support_sales, customer |
email_verified |
boolean | |
phone_verified |
boolean | |
two_factor_enabled |
boolean | |
two_factor_method |
string | totp, email, sms |
created_at |
string |