إنتقل إلى المحتوى الرئيسي

مرجع API المصادقة

مرجع كامل لنقاط نهاية API المصادقة.

الرابط الأساسي​

https://api.orcarail.com/api/v1

التسجيل​

سجّل حساب مستخدم جديدًا.

POST /auth/email/register

المصادقة​

  • غير مطلوبة

جسم الطلب​

المعاملالنوعمطلوبالوصف
emailstringنعمالبريد الإلكتروني للمستخدم
passwordstringنعمكلمة مرور المستخدم
firstNamestringلاالاسم الأول للمستخدم
lastNamestringلااسم عائلة المستخدم

الاستجابة​

204 No Content

ستُرسل رسالة تأكيد إلى البريد الإلكتروني المقدَّم.

تأكيد البريد الجديد​

أكّد عنوان بريد جديدًا بعد أن يطلب المستخدم تغيير بريده.

POST /auth/email/confirm/new

المصادقة​

  • غير مطلوبة

جسم الطلب​

المعاملالنوعمطلوبالوصف
hashstringنعمرمز التأكيد من البريد

الاستجابة​

204 No Content

تسجيل الدخول​

صادِق المستخدم واحصل على رمز JWT.

POST /auth/email/login

المصادقة​

  • غير مطلوبة

جسم الطلب​

المعاملالنوعمطلوبالوصف
emailstringنعمالبريد الإلكتروني للمستخدم
passwordstringنعمكلمة مرور المستخدم

الاستجابة​

{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "refresh_token_here",
"tokenExpires": 3600,
"user": {
"id": 1,
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe"
}
}

تأكيد البريد​

أكّد عنوان بريد باستخدام رمز التأكيد.

POST /auth/email/confirm

المصادقة​

  • غير مطلوبة

جسم الطلب​

المعاملالنوعمطلوبالوصف
hashstringنعمرمز التأكيد من البريد

الاستجابة​

204 No Content

تحديث الرمز​

احصل على رمز وصول جديد باستخدام رمز التحديث.

POST /auth/refresh

المصادقة​

  • رمز Bearer (JWT) — يلزم رمز التحديث

الاستجابة​

{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "new_refresh_token_here",
"tokenExpires": 3600
}

الحصول على المستخدم الحالي​

احصل على معلومات المستخدم المصادَق عليه.

GET /auth/me

المصادقة​

  • رمز Bearer (JWT) — مطلوب

الاستجابة​

{
"id": 1,
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe",
"role": "user",
"status": "active",
"createdAt": "2024-01-01T00:00:00.000Z"
}

تحديث المستخدم الحالي​

حدّث معلومات المستخدم المصادَق عليه.

PATCH /auth/me

المصادقة​

  • رمز Bearer (JWT) — مطلوب

جسم الطلب​

كل الحقول اختيارية. ضمّن فقط الحقول المراد تحديثها.

المعاملالنوعمطلوبالوصف
firstNamestringلاالاسم الأول المحدّث
lastNamestringلااسم العائلة المحدّث
emailstringلاالبريد المحدّث (يتطلب تأكيدًا)

الاستجابة​

{
"id": 1,
"email": "[email protected]",
"firstName": "Jane",
"lastName": "Doe",
"updatedAt": "2024-01-01T12:00:00.000Z"
}

تسجيل الخروج​

سجّل الخروج وأبطل الجلسة الحالية.

POST /auth/logout

المصادقة​

  • رمز Bearer (JWT) — مطلوب

الاستجابة​

204 No Content

حذف المستخدم الحالي​

احذف حساب المستخدم المصادَق عليه نهائيًا (حذف منطقي).

DELETE /auth/me

المصادقة​

  • رمز Bearer (JWT) — مطلوب

الاستجابة​

204 No Content

نسيت كلمة المرور​

اطلب بريدًا لإعادة تعيين كلمة المرور.

POST /auth/forgot/password

المصادقة​

  • غير مطلوبة

جسم الطلب​

المعاملالنوعمطلوبالوصف
emailstringنعمالبريد الإلكتروني للمستخدم

الاستجابة​

204 No Content

سيُرسل بريد إعادة تعيين كلمة المرور إلى العنوان المقدَّم.

إعادة تعيين كلمة المرور​

أعد تعيين كلمة المرور باستخدام رمز إعادة التعيين.

POST /auth/reset/password

المصادقة​

  • غير مطلوبة

جسم الطلب​

المعاملالنوعمطلوبالوصف
hashstringنعمرمز إعادة التعيين من البريد
passwordstringنعمكلمة المرور الجديدة

الاستجابة​

204 No Content

رموز الحالة​

رمز الحالةالوصف
200نجاح
204لا يوجد محتوى
400طلب غير صالح
401غير مصرّح
404غير موجود
500خطأ داخلي في الخادم

صيغة استجابة الخطأ​

{
"statusCode": 400,
"message": "Invalid email or password",
"error": "Bad Request"
}

انتهاء صلاحية الرموز​

  • رمز الوصول: تنتهي صلاحيته بعد ساعة واحدة (3600 ثانية)
  • رمز التحديث: تنتهي صلاحيته بعد 7 أيام

عند انتهاء صلاحية رمز، ستتلقى استجابة 401 Unauthorized. استخدم نقطة نهاية تحديث الرمز للحصول على رمز وصول جديد.

انظر أيضًا​