Skip to content

API المستخدمين

مرجع كامل لنقاط نهاية إدارة المستخدمين.

قائمة المستخدمين

http
GET /v1/users

معاملات الاستعلام

المعاملالنوعالوصف
rolestringتصفية حسب slug الدور أو المعرف (مثل department_head، procurement_officer)
department_idintegerتصفية حسب القسم
statusstringتصفية حسب الحالة: active، inactive، invited
pageintegerرقم الصفحة (الافتراضي: 1)
per_pageintegerعناصر لكل صفحة (الافتراضي: 15، الحد الأقصى: 100)
searchstringبحث بالاسم أو البريد

مثال الطلب

bash
curl -X GET "https://api.waqti.sa/v1/users?status=active&department_id=2&per_page=20" \
  -H "Authorization: Bearer 3|a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0" \
  -H "Accept: application/json"

مثال الاستجابة

json
{
  "data": [
    {
      "id": 12,
      "name_en": "Sara Al-Mutairi",
      "name_ar": "سارة المطيري",
      "email": "sara.mutairi@acme.sa",
      "role": {
        "id": 3,
        "name": "Department Head"
      },
      "department": {
        "id": 2,
        "name": "Operations",
        "code": "OPS"
      },
      "status": "active",
      "two_factor_enabled": true,
      "last_login_at": "2026-04-03T08:15:00Z",
      "created_at": "2025-08-20T09:00:00Z"
    },
    {
      "id": 18,
      "name_en": "Omar Hassan",
      "name_ar": "عمر حسن",
      "email": "omar.hassan@acme.sa",
      "role": {
        "id": 5,
        "name": "Procurement Officer"
      },
      "department": {
        "id": 2,
        "name": "Operations",
        "code": "OPS"
      },
      "status": "invited",
      "two_factor_enabled": false,
      "last_login_at": null,
      "created_at": "2026-04-01T11:30:00Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page": 2,
    "per_page": 20,
    "total": 34
  }
}

إنشاء مستخدم (دعوة)

http
POST /v1/users

يُنشئ سجل مستخدم ويُرسل بريد دعوة عندما تكون الحالة invited حتى أول تسجيل دخول.

جسم الطلب

json
{
  "name_en": "Layla Al-Qahtani",
  "name_ar": "ليلى القحطاني",
  "email": "layla.qahtani@acme.sa",
  "role": "procurement_officer",
  "department_id": 2,
  "phone": "+966501234567"
}

الاستجابة

json
{
  "data": {
    "id": 24,
    "name_en": "Layla Al-Qahtani",
    "name_ar": "ليلى القحطاني",
    "email": "layla.qahtani@acme.sa",
    "role": {
      "id": 5,
      "name": "Procurement Officer"
    },
    "department": {
      "id": 2,
      "name": "Operations",
      "code": "OPS"
    },
    "status": "invited",
    "two_factor_enabled": false,
    "last_login_at": null,
    "created_at": "2026-04-04T12:00:00Z"
  }
}

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

http
GET /v1/users/{id}

يُرجع الملف الكامل للمستخدم حسب المعرف.

مثال الطلب

bash
curl -X GET "https://api.waqti.sa/v1/users/12" \
  -H "Authorization: Bearer 3|a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0" \
  -H "Accept: application/json"

الاستجابة

json
{
  "data": {
    "id": 12,
    "name_en": "Sara Al-Mutairi",
    "name_ar": "سارة المطيري",
    "email": "sara.mutairi@acme.sa",
    "role": {
      "id": 3,
      "name": "Department Head"
    },
    "department": {
      "id": 2,
      "name": "Operations",
      "code": "OPS"
    },
    "status": "active",
    "two_factor_enabled": true,
    "last_login_at": "2026-04-03T08:15:00Z",
    "created_at": "2025-08-20T09:00:00Z"
  }
}

تحديث مستخدم

http
PUT /v1/users/{id}

جسم الطلب

json
{
  "name_en": "Sara Al-Mutairi",
  "name_ar": "سارة بنت عبدالله المطيري",
  "email": "sara.almutairi@acme.sa",
  "role": "department_head",
  "department_id": 4,
  "phone": "+966507654321"
}

الاستجابة

json
{
  "data": {
    "id": 12,
    "name_en": "Sara Al-Mutairi",
    "name_ar": "سارة بنت عبدالله المطيري",
    "email": "sara.almutairi@acme.sa",
    "role": {
      "id": 3,
      "name": "Department Head"
    },
    "department": {
      "id": 4,
      "name": "Finance",
      "code": "FIN"
    },
    "status": "active",
    "two_factor_enabled": true,
    "last_login_at": "2026-04-03T08:15:00Z",
    "created_at": "2025-08-20T09:00:00Z"
  }
}

تعطيل مستخدم

http
DELETE /v1/users/{id}

WARNING

التعطيل يلغي وصول المستخدم. يُحتفظ بالسجل لأغراض التدقيق؛ استخدم إجراءً إداريًا أو عملية دعم إذا لزم الحذف الكامل.

مثال الطلب

bash
curl -X DELETE "https://api.waqti.sa/v1/users/24" \
  -H "Authorization: Bearer 3|a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0" \
  -H "Accept: application/json"

الاستجابة

json
{
  "data": {
    "id": 24,
    "name_en": "Layla Al-Qahtani",
    "name_ar": "ليلى القحطاني",
    "email": "layla.qahtani@acme.sa",
    "role": {
      "id": 5,
      "name": "Procurement Officer"
    },
    "department": {
      "id": 2,
      "name": "Operations",
      "code": "OPS"
    },
    "status": "inactive",
    "two_factor_enabled": false,
    "last_login_at": null,
    "created_at": "2026-04-04T12:00:00Z"
  }
}

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

http
GET /v1/users/me

يُرجع ملف المستخدم المصادق عليه (نفس شكل الحصول على مستخدم).

مثال الطلب

bash
curl -X GET "https://api.waqti.sa/v1/users/me" \
  -H "Authorization: Bearer 3|a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0" \
  -H "Accept: application/json"

الاستجابة

json
{
  "data": {
    "id": 7,
    "name_en": "Khalid Al-Rashid",
    "name_ar": "خالد الراشد",
    "email": "khalid.rashid@acme.sa",
    "role": {
      "id": 1,
      "name": "Tenant Administrator"
    },
    "department": {
      "id": 1,
      "name": "Executive",
      "code": "EXE"
    },
    "status": "active",
    "two_factor_enabled": true,
    "last_login_at": "2026-04-04T07:45:00Z",
    "created_at": "2024-01-10T14:20:00Z"
  }
}

Built by M & L Technologies