المتصفح داخل ERP
استخدم جلسة تسجيل الدخول الحالية مع CSRF للطلبات التي تغيّر البيانات. حماية CSRF الخاصة بالجلسة تستمر؛ تجاوز CSRF يقتصر على طلب API الذي اجتاز فحص Bearer الصحيح.
https://demo.harplink.net ↗ · اسم المستخدم: demo · كلمة المرور: demo
بيئة مشتركة للفحص ببيانات تجريبية. تظهر نتائج عمليات الكتابة داخل ERP وقد يغيّرها مستخدمون آخرون؛ استخدم بيانات وهمية. كل طلب API يتطلب توكناً والصلاحيات اللازمة. لربط شركة فعلية غيّر عنوان ERP واستخدم حسابها المخوّل.
اختر العملية وافحصها من المتصفح ←ابدأ بالمصادقة، تعرّف على سياق الشركة، ثم استخدم واجهات المنصة لبناء تكامل يمكن الاعتماد عليه.
Postman اختياري. افتح عملية من مرجع ERP API، وأدخل عنوان ERP، ثم سجّل الدخول من قسم «الحصول على توكن من المتصفح». يجهز التوكن في الشاشة نفسها؛ بعدها اضغط «إرسال الطلب» لعرض النتيجة. يمكنك أيضاً إدخال توكن صادر سابقاً. لا يُحفظ التوكن عند مغادرة الصفحة، ومسحه محلياً لا يلغيه في ERP.
ابدأ التجربة من المتصفحأرسل اسم المستخدم وكلمة المرور إلى تثبيت ERP عبر HTTPS. الحساب يجب أن يكون فعالاً، وله شركة وفرع صحيحان وفترة وصول صالحة وترخيص صالح عند تفعيل الترخيص السحابي.
ERP_BASE_URL="https://demo.harplink.net"
curl -X POST "$ERP_BASE_URL/api/auth/token/" \
-H "Content-Type: application/json" \
--data '{"username":"demo","password":"demo"}'استجابة توضيحية؛ التوكن الحقيقي يصدر عند نجاح تسجيل الدخول.
{
"access_token": "hlp_...",
"token_type": "Bearer",
"expires_in": 900,
"expires_at": "2026-10-07T12:15:00+00:00",
"company_id": 1,
"branch_id": 1
}المدة الافتراضية 15 دقيقة. التوكن عشوائي وتُحفظ بصمته فقط في قاعدة البيانات. انتهاء الصلاحية أو إلغاؤه أو تغيير كلمة المرور أو تعطيل الحساب يمنع استخدامه. لا يوجد refresh token في هذه المرحلة؛ أعد المصادقة بعد انتهاء المدة.
Authorization: Bearer <access_token>
Accept: application/json
Content-Type: application/jsonالتوكن يثبت الهوية ولا يمنح صلاحيات إضافية. تستمر قواعد صلاحيات ERP داخل كل مسار. سياق الطلب يأتي من شركة وفرع ملف المستخدم الحالي؛ توكن المستخدم لا يسمح باختيار شركة أخرى عبر ترويسة أو قيمة يرسلها العميل.
curl "$ERP_BASE_URL/api/auth/me/" \
-H "Authorization: Bearer $ERP_ACCESS_TOKEN"
curl "$ERP_BASE_URL/sales/api/invoices/list/?page_size=25" \
-H "Authorization: Bearer $ERP_ACCESS_TOKEN"يجب تطبيق حدود الشركة والفرع أيضاً عند اختيار الموارد داخل العملية. تختلف تغطية هذه القواعد بين المسارات الحالية؛ اختبر عزل الموارد للتكامل الذي تنشره ولا تعتمد على المصادقة وحدها.
curl -X POST "$ERP_BASE_URL/api/auth/revoke/" \
-H "Authorization: Bearer $ERP_ACCESS_TOKEN"يلغى التوكن المستخدم فوراً، ولا تُلغى توكنات الأجهزة الأخرى بهذا الطلب. لا يلغيه تسجيل الخروج من جلسة المتصفح تلقائياً.
استخدم جلسة تسجيل الدخول الحالية مع CSRF للطلبات التي تغيّر البيانات. حماية CSRF الخاصة بالجلسة تستمر؛ تجاوز CSRF يقتصر على طلب API الذي اجتاز فحص Bearer الصحيح.
استخدم Bearer عبر HTTPS. احفظه في التخزين الآمن للنظام على الجوال أو بيئة الخادم، وبالذاكرة للتطبيق المتصفح. لا تضعه في الرابط أو السجلات أو localStorage. تكامل خادم دائم يستخدم حساب خدمة محدود الصلاحيات.
| 400 | بيانات طلب غير صحيحة؛ صحح الحقول وفق رسالة المسار. |
|---|---|
| 401 | مصادقة مفقودة أو توكن منتهٍ أو ملغى؛ أعد تسجيل الدخول. |
| 403 | صلاحية أو ترخيص غير كافٍ؛ لا تعالجها بتكرار الطلب. |
| 429 | تجاوز حد المحاولات؛ انتظر المدة المحددة في Retry-After. |
إصدار التوكن محدود بعشر محاولات في الدقيقة لكل عنوان IP عبر cache. في الإنتاج استخدم cache مشتركة بين العمال وحدوداً إضافية عند بوابة الشبكة. الاتصال من متصفح على نطاق مختلف يحتاج قائمة CORS صريحة؛ لا تفتح جميع النطاقات.
جميع واجهات API للنواة والإضافات تتطلب مصادقة، بما فيها روابط العملاء والأجهزة وWebhooks. الاستثناء هو إرسال بيانات تسجيل الدخول فقط. اعتماد HarplinkPlugin مخصص لـ Platform API؛ بقية الواجهات تستعمل جلسة أو Bearer صالحاً. توقيعات الأجهزة وWebhooks لا تعفي من المصادقة المركزية.
ملفات التنزيل تحتوي أماكن فارغة للاعتمادات. بعد إدخال أسرارك في Postman لا تشارك Environment أو تصدّره مع القيم السرية.
أدخل عنوان ERP الخاص بك. يجب أن يسمح إعداد CORS في ذلك النظام بنطاق المنصة وترويسة Authorization وContent-Type وطرق HTTP المطلوبة. إذا منع المتصفح الاتصال، استخدم Postman؛ لا تعطل حماية API.
يمكن لمسؤول ERP السماح باتصالات التطبيقات الخارجية أو رفضها من إعدادات النظام ← الربط الخارجي وAPI، لكل النظام أو لكل وحدة. عند الإيقاف تعود 403 مع external_api_disabled حتى لو كان التوكن صالحاً. اطلب مراجعة السياسة من مسؤول الشركة؛ إعادة تسجيل الدخول لا تفتح الوحدة المغلقة.
| الاتصال | الاعتماد المطلوب |
|---|---|
| التطبيقات الخارجية وبيئة الفحص | Authorization: Bearer مع توكن ERP صالح؛ تبقى صلاحيات المستخدم وسياسة الربط الخارجي مطبقة. |
| Platform API للإضافات | Bearer أو HarplinkPlugin مع نطاقات الإضافة وصلاحيات مستخدم ERP. |
| واجهات ERP الداخلية | جلسة مستخدم فعال؛ طلبات التغيير تحتاج CSRF حتى في الواجهات القديمة. |
| الحصول على التوكن | اسم المستخدم وكلمة المرور عبر HTTPS؛ لا يحتاج توكناً سابقاً. |
| وكيل الحضور والأرشفة | اعتماد خاص بالجهاز؛ ليس توكن مستخدم ERP العادي. |
رفض المستخدم غير المصادق هو القاعدة؛ السماح بجلسة ERP الداخلية يعني أن الواجهات ليست «توكن فقط». طلب CORS OPTIONS قد ينجح دون توكن لأنه تفاوض ترويسات، ولا يمنح الوصول إلى بيانات العملية.