تتيح الواجهة البرمجية العامة لجديرون لنظام تخطيط الموارد (ERP) أو نظام الموارد البشرية أو منصة البيانات لديك إرسال كل السجلات الأساسية في مساحة عملك وقراءتها: الهيكل التنظيمي والوظيفي، والوظائف، والموظفون، والمرشحون، والشواغر، والطلبات، والمقابلات، والعروض. تُبلغ خطافات الويب أنظمتك بكل تغيير، ويحمّل الإدراج المجمّع حتى 1,000 سجل في الطلب الواحد لأغراض الترحيل، ويبثّ سجل التدقيق إلى نظام SIEM لديك.
تطبّق الواجهة البرمجية قواعد التطبيق نفسها. فالسجل المكتوب عبرها يمر بالتحقق نفسه وفحوص الصلاحيات نفسها والآثار الجانبية نفسها التي يمر بها الإجراء ذاته على الشاشة، ويُسجَّل في سجل التدقيق باسم تكاملك فاعلًا.
العنوان الأساسي والصيغة
- المسار الأساسي:
https://<نطاق جديرون لديك>/api/v1، مثلhttps://jadiroon.com/api/v1. - صيغة JSON فقط في الطلب والاستجابة (
Content-Type: application/json). أسماء الحقول بصيغة camelCase، والنص ثنائي اللغة بصيغة{ "ar": "…", "en": "…" }، والأوقات بصيغة ISO 8601 بتوقيت UTC. - الوصف القابل للقراءة آليًا متاح في
/api/v1/openapi.json(OpenAPI 3.1، بلا مفتاح). وتعرضه صفحة مرجع الواجهة البرمجية. - المعرّفات والترقيم والأخطاء ومنع التكرار تتبع الأعراف.
التكاملات ومفاتيح الواجهة البرمجية
التكامل عميل آلي له اسم، مثل "Oracle HCM – الإنتاج". ويملك:
- نطاق صلاحيات (الوحدات التي يحق له قراءتها أو تغييرها)،
- مفتاح واجهة برمجية واحدًا أو أكثر،
- قائمة عناوين IP مسموحة اختيارية،
- صفرًا أو أكثر من نقاط استقبال خطافات الويب.
لا يدير التكاملات إلا من يحمل دور مسؤول مساحة العمل المقفل، من الإعدادات ← التكاملات (انظر التكاملات). تحتاج كل بيئة (مثل مساحة عمل للاختبار وأخرى للإنتاج) إلى تكامل ومفاتيح خاصة بها.
المفاتيح
- يبدأ المفتاح بـ
jdr_live_ويليه 40 حرفًا ورقمًا. ويظهر مرة واحدة عند إنشائه؛ ولا يحفظ جديرون إلا بصمة SHA-256 وأول 12 حرفًا (البادئة التي تراها في القائمة وفي سجل التدقيق). - يمكن أن يكون للمفتاح تاريخ انتهاء. ويتلقى المفتاح الملغى أو المنتهي
401 unauthorized. - يمكن أن يحمل التكامل عدة مفاتيح في الوقت نفسه، فتستطيع التدوير دون انقطاع: أنشئ مفتاحًا جديدًا وانشره، وتحقق من وقت آخر استخدام، ثم ألغِ القديم.
- احفظ المفاتيح في مخزن أسرار، ولا تضعها في الشيفرة المصدرية أو تطبيقات المتصفح.
المصادقة
أرسل المفتاح رمزًا من نوع Bearer في كل طلب:
curl https://jadiroon.com/api/v1/ping -H "Authorization: Bearer $JADIROON_KEY"
لا يحتاج GET /api/v1/ping إلى أي صلاحية، ويرد بالتكامل الذي يتبعه المفتاح، فهو مناسب كأول طلب:
{ "ok": true, "actor": { "kind": "integration", "integrationId": "cmv…", "name": "Oracle HCM – production", "keyPrefix": "jdr_live_8Gq" }, "workspaceId": "cmv…" }
النطاقات (الصلاحيات)
يحمل التكامل مفاتيح صلاحيات مساحة العمل من الكتالوج نفسه المستخدم في تبويب الأدوار: عرض وتنفيذ لكل وحدة، إضافة إلى بعض المفاتيح المسماة. ونطاق بياناته دائمًا مساحة العمل كاملة.
| المفتاح | ما يتيحه في الواجهة البرمجية |
|---|---|
structure.org.view / structure.org.act | قراءة / كتابة الوحدات التنظيمية والوظائف |
structure.functional.view / structure.functional.act | قراءة الهيكل الوظيفي (القطاعات والقطاعات الفرعية والعائلات الوظيفية) والأوصاف الوظيفية / كتابة الأوصاف الوظيفية |
structure.functional.salary | قراءة سلالم الرواتب وحقول الأجر في الوظائف والأوصاف الوظيفية (ومن دونها تكون null في الاستجابات وحمولات خطافات الويب، وتُستبعد تغييرات الأجر من سجل التدقيق)، وكتابة حقول الأجر |
people.view / people.act | قراءة / كتابة الموظفين |
recruitment.view / recruitment.act | قراءة المرشحين والشواغر والطلبات والمقابلات والعروض / إنشاء المرشحين والطلبات والمقابلات وتعديلها |
recruitment.hiring.open | فتح الشواغر وإغلاقها |
recruitment.offer.issue | نقل الطلب إلى مرحلة العرض |
recruitment.hire | تعيين المرشح (ويحتاج أيضًا recruitment.candidate.contact) |
recruitment.candidate.contact | رؤية بريد المرشح وهاتفه ورقم هويته؛ ومن دونه تُخفى في الاستجابات وحمولات خطافات الويب، ويُعيد تنزيل السيرة الذاتية وخطاب العرض 403 |
users.view | قراءة مستخدمي الطاقم والأدوار |
audit.view | قراءة سجل التدقيق والاشتراك في audit.recorded |
قواعد تأتي مع الكتالوج:
- التنفيذ يشمل العرض للوحدة نفسها. ولا يتضمن
recruitment.candidate.contactأي صلاحية أخرى. - المفتاح الذي لا يملك الصلاحية التي تحتاجها النقطة يتلقى
403 forbidden، وتسردdetails.requiredالمفاتيح المطلوبة. - تتبع خطافات الويب النطاق نفسه: لا تتلقى نقطة الاستقبال إلا أحداث الموارد التي يستطيع تكاملها قراءتها.
- تسرد صفحة كل مورد الصلاحية الدقيقة لكل نقطة، وكذلك المرجع (
x-permission).
حدود المعدل
- 600 طلب في الدقيقة لكل مفتاح، تُحسب في نوافذ ثابتة مدتها دقيقة مشتركة بين جميع الخوادم.
- فوق الحد ترد الواجهة البرمجية بـ
429 rate_limitedمع الترويسةRetry-After(الثواني المتبقية حتى النافذة التالية). انتظر هذه المدة ثم تابع. - يُحسب طلب الإدراج المجمّع طلبًا واحدًا أيًّا كان عدد صفوفه.
- لكل مفتاح رصيده الخاص؛ وتدوير المفاتيح لا يؤثر في رصيد غيرها.
قائمة عناوين IP المسموحة
يستطيع مسؤول مساحة العمل حصر التكامل في عناوين IP أو نطاقات CIDR (IPv4 أو IPv6)، من تبويب الوصول في التكامل. والطلب القادم من أي عنوان آخر يتلقى 403 forbidden ("Request IP is not on the integration allowlist"). والقائمة الفارغة تسمح بكل العناوين لتكامل مساحة العمل. أما تكامل القراءة على مستوى النشر فيجب أن تكون له قائمة دائمًا.
العنوان الذي يُفحص هو عنوان IP العام للعميل كما يراه الخادم. في سحابة جديرون يأتي من حافة الاستضافة التي تستبدل ترويستي X-Forwarded-For وX-Real-IP، فلا يستطيع العميل تزويره بإرسال هاتين الترويستين. وفي النشر الذاتي يضبط المشغّل TRUSTED_PROXY على عدد الوكلاء العكسيين (reverse proxies) أمام جديرون (مثل 1) أو على قائمة مفصولة بفواصل بعناوين IP الوكلاء أو نطاقات CIDR الخاصة بهم؛ فيُقرأ عنوان العميل من يمين X-Forwarded-For متجاوزًا هؤلاء الوكلاء، وتُهمل القيم التي أضافها العميل على اليسار. يجب على النشر الذاتي خلف وكيل ضبط TRUSTED_PROXY. فدونه لا يثق النشر بأي ترويسة تمرير: يتلقى كل تكامل له قائمة عناوين 403 forbidden، وتُطبَّق حدود تسجيل الدخول على كل حساب بدل كل عنوان (فمن يعرف البريد الإلكتروني لحساب يستطيع إبقاء ذلك الحساب محدود المعدّل).
استجابات توقف كل الطلبات
| الحالة والرمز | متى |
|---|---|
401 unauthorized | لا توجد ترويسة Authorization: Bearer، أو المفتاح غير معروف، أو ملغى، أو منتهٍ. |
403 forbidden | التكامل موقوف مؤقتًا، أو عنوان الطلب ليس في قائمته المسموحة. يتلقى ذلك كل مفتاح للتكامل حتى يُستأنف أو تُصحَّح القائمة. |
403 workspace_inactive | مساحة العمل موقوفة أو محذوفة. |
429 rate_limited | طلبات كثيرة في هذه الدقيقة؛ انظر Retry-After. |
ما الذي يُسجَّل
- تُسجَّل كل عملية كتابة في سجل تدقيق مساحة العمل بالفاعل تكامل · (اسم التكامل)، مع بادئة المفتاح وعنوان IP ووكيل المستخدم للطلب. وتظهر في الإعدادات ← سجل التدقيق وفي لوحة السجل التاريخي للسجل.
- لا تُسجَّل عمليات القراءة.
- تُسجَّل تغييرات المفاتيح والصلاحيات والقائمة المسموحة ونقاط الاستقبال بإجراءات
settings.integration.*.
الخطوة التالية
- الأعراف: المعرّفات، والمعرّفات الثابتة (slug)، والترقيم، و
updatedSince، وسجل المحذوفات، والأخطاء، ومنع التكرار. - دليل المزامنة مع ERP: اربط سجلاتك بالمعرّفات الخارجية وأبقِ الطرفين متطابقين.
- الترحيل المجمّع: تحميل قوى عاملة قائمة.
- خطافات الويب وفهرس الأحداث.
- سجل التدقيق لأنظمة SIEM.
- صفحات المراحل، من الإعداد والتهيئة إلى التهيئة الوظيفية.