HARPLINK ↗HARPLINK DEVELOPERSمساحة المطور ↗متجر التطبيقات ↗
OFFICIAL SANDBOX

جرّب الربط على بيئة HARPLINK التجريبية

https://demo.harplink.net ↗ · اسم المستخدم: demo · كلمة المرور: demo

بيئة مشتركة للفحص ببيانات تجريبية. تظهر نتائج عمليات الكتابة داخل ERP وقد يغيّرها مستخدمون آخرون؛ استخدم بيانات وهمية. كل طلب API يتطلب توكناً والصلاحيات اللازمة. لربط شركة فعلية غيّر عنوان ERP واستخدم حسابها المخوّل.

اختر العملية وافحصها من المتصفح ←
AUTHENTICATION

دخول آمن لكل اتصال.

ابدأ بالمصادقة، تعرّف على سياق الشركة، ثم استخدم واجهات المنصة لبناء تكامل يمكن الاعتماد عليه.

اختبر من المتصفح أو Postman

Postman اختياري. افتح عملية من مرجع ERP API، وأدخل عنوان ERP، ثم سجّل الدخول من قسم «الحصول على توكن من المتصفح». يجهز التوكن في الشاشة نفسها؛ بعدها اضغط «إرسال الطلب» لعرض النتيجة. يمكنك أيضاً إدخال توكن صادر سابقاً. لا يُحفظ التوكن عند مغادرة الصفحة، ومسحه محلياً لا يلغيه في ERP.

ابدأ التجربة من المتصفح
01 / AUTHENTICATE

سجّل الدخول واحصل على توكن

أرسل اسم المستخدم وكلمة المرور إلى تثبيت ERP عبر HTTPS. الحساب يجب أن يكون فعالاً، وله شركة وفرع صحيحان وفترة وصول صالحة وترخيص صالح عند تفعيل الترخيص السحابي.

POST /api/auth/token/
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 في هذه المرحلة؛ أعد المصادقة بعد انتهاء المدة.

02 / AUTHORIZE

أرسل التوكن مع كل طلب ERP

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"

يجب تطبيق حدود الشركة والفرع أيضاً عند اختيار الموارد داخل العملية. تختلف تغطية هذه القواعد بين المسارات الحالية؛ اختبر عزل الموارد للتكامل الذي تنشره ولا تعتمد على المصادقة وحدها.

03 / REVOKE

أنه الاتصال وألغِ التوكن

curl -X POST "$ERP_BASE_URL/api/auth/revoke/" \
  -H "Authorization: Bearer $ERP_ACCESS_TOKEN"

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

المتصفح داخل ERP

استخدم جلسة تسجيل الدخول الحالية مع 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

  1. نزّل Collection وEnvironment من مرجع ERP واستوردهما في Postman.
  2. اختر Environment واضبط base_url وusername وpassword بالقيم الفعلية.
  3. أرسل Login؛ عند نجاحه يُحفظ access_token داخل Environment ويُستخدم في الطلبات اللاحقة.
  4. اختر مساراً وأكمل معلمات الموارد والبيانات. لتفعيل عمليات الكتابة المقصودة اضبط allow_writes على true؛ لا تشغّل المجموعة كاملة على بيانات الإنتاج.
Collection ↓ Environment ↓

ملفات التنزيل تحتوي أماكن فارغة للاعتمادات. بعد إدخال أسرارك في Postman لا تشارك Environment أو تصدّره مع القيم السرية.

الفحص من المنصة عبر نطاق آخر

أدخل عنوان ERP الخاص بك. يجب أن يسمح إعداد CORS في ذلك النظام بنطاق المنصة وترويسة Authorization وContent-Type وطرق HTTP المطلوبة. إذا منع المتصفح الاتصال، استخدم Postman؛ لا تعطل حماية API.

قبول الربط من إعدادات ERP

يمكن لمسؤول ERP السماح باتصالات التطبيقات الخارجية أو رفضها من إعدادات النظام ← الربط الخارجي وAPI، لكل النظام أو لكل وحدة. عند الإيقاف تعود 403 مع external_api_disabled حتى لو كان التوكن صالحاً. اطلب مراجعة السياسة من مسؤول الشركة؛ إعادة تسجيل الدخول لا تفتح الوحدة المغلقة.

ما المصادقة المطلوبة لكل نوع اتصال؟

الاتصالالاعتماد المطلوب
التطبيقات الخارجية وبيئة الفحصAuthorization: Bearer مع توكن ERP صالح؛ تبقى صلاحيات المستخدم وسياسة الربط الخارجي مطبقة.
Platform API للإضافاتBearer أو HarplinkPlugin مع نطاقات الإضافة وصلاحيات مستخدم ERP.
واجهات ERP الداخليةجلسة مستخدم فعال؛ طلبات التغيير تحتاج CSRF حتى في الواجهات القديمة.
الحصول على التوكناسم المستخدم وكلمة المرور عبر HTTPS؛ لا يحتاج توكناً سابقاً.
وكيل الحضور والأرشفةاعتماد خاص بالجهاز؛ ليس توكن مستخدم ERP العادي.

رفض المستخدم غير المصادق هو القاعدة؛ السماح بجلسة ERP الداخلية يعني أن الواجهات ليست «توكن فقط». طلب CORS OPTIONS قد ينجح دون توكن لأنه تفاوض ترويسات، ولا يمنح الوصول إلى بيانات العملية.