تخطَّ إلى المحتوى
المحتويات
بيانات مساحة العمل

مساحات العمل

مساحة العمل هي المستأجر: كل قناة وجهة اتصال ومحادثة ومفتاح وفاتورة تخص واحدة بالضبط، ولا شيء يعبر بينها. وهي أيضًا مالكة الساعة التي تُقاس بها بقية المنصّة.

مساحة العمل

قد ينتمي الشخص إلى عدة مساحات، فرمز وصول المستخدم وحده لا يكفي لتحديد واحدة — بل X-Workspace-Id هو ما يحددها. أما مفتاح API فيسمّي مساحته أصلًا ويتجاهل الترويسة.

الحقلالنوعالوصف
idstringالمعرّف العام لمساحة العمل، وقيمة X-Workspace-Id.
name, slugstringالاسم المعروض ومعرّفه النصي.
statusstringنشطة أو موقوفة.
is_personalbooleanهل هي مساحة العمل الشخصية المنشأة مع الحساب.
localestringاللغة الافتراضية للنصوص التي تولّدها المنصّة.
timezonestringالساعة الوحيدة. انظر أدناه.
rolestringدور المتصل فيها. يظهر في المسارات التي تحلّ عضوية.
permissionsstring[]تصاريح المتصل المحلولة. وهي إشارة للواجهة فقط — إذ يعيد الخادم اشتقاقها في كل طلب.

المنطقة الزمنية ليست تفضيل عرض

هي الساعة التي تُقيَّم بها ساعات العمل، والساعة التي يقرر بها رد الغياب، والساعة التي تُقصّ بها كل فترة في التحليلات. وتغييرها يحرّك الثلاثة. وهي ليست منطقة متصفح المتصل أبدًا، واشتقاق واحدة محليًا هو الخطأ الذي وُجدت تلك الميزات لمنعه.

نقاط النهاية

GET/v1/workspacesPOST/v1/workspacesGET/v1/workspaces/{workspaceId}PATCH/v1/workspaces/{workspaceId}DELETE/v1/workspaces/{workspaceId}
curl
curl -X POST https://whats.azzamkh.sa/api/v1/workspaces \
  -H "Authorization: Bearer <access token>" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Acme", "locale": "ar", "timezone": "Asia/Riyadh" }'

# 201 Created — role and permissions are resolved for THIS user.
# {
#   "id": "ws_...",
#   "name": "Acme",
#   "slug": "acme",
#   "status": "active",
#   "is_personal": false,
#   "locale": "ar",
#   "timezone": "Asia/Riyadh",
#   "created_at": "2026-08-14T09:00:00.000Z",
#   "role": "owner",
#   "permissions": ["workspace.read", "workspace.manage", ...]
# }
  • كل مسار في هذا القسم معلن لـ sessionToken وحده — فمفتاح API يخص مساحة عمل ولا يستطيع إنشاء واحدة ولا سردها ولا أرشفتها. انظر المصادقة.
  • الطلب DELETE يؤرشف. ويجيب بالمعرّف والحالة الجديدة، ولا يتلف بيانات المستأجر.
  • إنشاء مساحة عمل محدود بـ 20 في الساعة لكل شخص.
  • المسار GET /v1/auth/me يعيد المستخدم فقط. أما العضويات فتأتي من GET /v1/workspaces، وهو أيضًا موضع role وpermissions المحلولة.

تسمية مساحة العمل في الطلب

سياق المستأجر صريح في كل مكان. ولا يوجد افتراضي ضمني، عن قصد: فالمفتاح الذي صُكّ في مساحة العمل الخطأ لا يمكن استرجاعه. انظر المصادقة.

بيانات الاعتمادHeaderالنتيجة
API keyالمفتاح يسمّي مساحته. والترويسة مُتجاهَلة.
Access tokenX-Workspace-Idالترويسة هي التي تقرر، وهي مطلوبة.
Access token‏400 WORKSPACE_CONTEXT_REQUIRED.

الأشخاص والمال

الأعضاء والأدوار والدعوات والفرق كلها موارد فرعية لمساحة العمل ولها صفحتها: الفرق والدعوات. أما الاشتراك وكشوفه ففي الفوترة.

الأخطاء المهمة هنا

الرمزHTTPمتى يحدث
WORKSPACE_NOT_FOUND404لا توجد مساحة عمل بهذا المعرّف، أو أن المتصل ليس عضوًا فيها. والحالتان جواب واحد عن قصد.
WORKSPACE_CONTEXT_REQUIRED400استُخدم رمز وصول مستخدم بلا X-Workspace-Id في مسار يحتاجها.
WORKSPACE_SUSPENDED403مساحة العمل موقوفة. وقد تعمل القراءات، أما ما يترتب عليه إرسال فلا.
OWNER_REQUIRED403لا يجوز ذلك إلا لمالك مساحة العمل.

كل رمز وحالته في صفحة الأخطاء.