/api/platform/v1/capabilities/capabilities
نطاقات الوصول: مصادقة مطلوبة دون scope إضافي
https://demo.harplink.net ↗ · اسم المستخدم: demo · كلمة المرور: demo
بيئة مشتركة للفحص ببيانات تجريبية. تظهر نتائج عمليات الكتابة داخل ERP وقد يغيّرها مستخدمون آخرون؛ استخدم بيانات وهمية. كل طلب API يتطلب توكناً والصلاحيات اللازمة. لربط شركة فعلية غيّر عنوان ERP واستخدم حسابها المخوّل.
اختر العملية وافحصها من المتصفح ←ابدأ بالمصادقة، تعرّف على سياق الشركة، ثم استخدم واجهات المنصة لبناء تكامل يمكن الاعتماد عليه.
Authorization: HarplinkPlugin <client-id>.<secret>
X-Harplink-Branch-ID: <allowed-branch-id>
Content-Type: application/jsonالشركة تأتي من اعتماد العميل، والفرع من الترويسة ضمن الشركة والفروع المسموحة. بعض العمليات المالية تتطلب فرعاً. يجب توفر scope المطلوب وصلاحية مستخدم الخدمة معاً؛ منح scope وحده لا يمنح صلاحية ERP.
المدير يصدر السر مرة واحدة بالأمر التالي بعد plugins sync. لا تضعه في تطبيق متصفح أو تطبيق جوال أو مستودع الكود.
python manage.py plugin_api_client create \
--plugin example_notes --name "Integration" \
--username service_user --company-id 1 --branch-id 1 \
--scope platform.context.readدورة الاعتماد: plugin_api_client list ثم rotate أو revoke مع --client-id. النطاقات تُحدد عند الإنشاء حسب حاجة التكامل.
لا توجد مسارات مطابقة.
/api/platform/v1/capabilities/نطاقات الوصول: مصادقة مطلوبة دون scope إضافي
/api/platform/v1/context/Stable, read-only context contract for trusted external plugins.
نطاقات الوصول: platform.context.read
/api/platform/v1/permissions/check/Batch permission check without exposing permission database models.
نطاقات الوصول: platform.permissions.check
| الحقل | النوع | مطلوب | القيود |
|---|---|---|---|
codes | List | نعم |
/api/platform/v1/accounts/choices/Tenant-safe posting account choices for installed plugins.
نطاقات الوصول: accounts.chart.read
| الحقل | النوع | مطلوب | القيود |
|---|---|---|---|
type | MultipleChoice | لا | ASSET, LIABILITY, EQUITY, REVENUE, COGS, EXPENSE |
category | MultipleChoice | لا | GENERAL, CUSTOMER, SUPPLIER, CASH, BANK, INVENTORY, EMPLOYEE |
search | Char | لا | |
ids | List | لا |
/api/platform/v1/accounts/cashboxes/Cash and bank boxes visible to the actor for a requested operation.
نطاقات الوصول: accounts.cashbox.read
/api/platform/v1/partners/choices/Tenant-safe customer, supplier, driver, and carrier lookup for plugins.
نطاقات الوصول: partners.read
| الحقل | النوع | مطلوب | القيود |
|---|---|---|---|
kind | Choice | لا | customer, supplier, both, driver, carrier |
search | Char | لا | |
ids | List | لا | |
limit | Integer | لا | min: 1 max: 200 |
/api/platform/v1/currencies/choices/Enabled currencies and the effective rate to the ERP base currency.
نطاقات الوصول: currencies.read
| الحقل | النوع | مطلوب | القيود |
|---|---|---|---|
on_date | Date | لا | |
active_only | Boolean | لا |
/api/platform/v1/users/choices/Active tenant users for assignment fields exposed by installed plugins.
نطاقات الوصول: platform.users.read
| الحقل | النوع | مطلوب | القيود |
|---|---|---|---|
search | Char | لا | |
limit | Integer | لا | min: 1 max: 200 |
/api/platform/v1/notifications/send/نطاقات الوصول: notifications.send
| الحقل | النوع | مطلوب | القيود |
|---|---|---|---|
channel | Choice | نعم | internal, email, sms, whatsapp |
recipient_user_id | Integer | لا | min: 1 |
recipient | Char | لا | |
title | Char | نعم | |
message | Char | نعم | |
url | Char | لا | |
reference | Char | لا |
/api/platform/v1/journals/Idempotent journal creation boundary for trusted plugins.
نطاقات الوصول: accounts.journal.write
| الحقل | النوع | مطلوب | القيود |
|---|---|---|---|
date | Date | نعم | |
currency_code | Char | لا | |
exchange_rate | Decimal | لا | |
source_type | Regex | نعم | |
source_id | Integer | نعم | min: 1 |
description | Char | نعم | |
posting_status | Choice | لا | draft, approved, posted |
lines | ListSerializer | نعم | |
lines[].account_id | Integer | نعم | min: 1 |
lines[].debit | Decimal | لا | |
lines[].credit | Decimal | لا | |
lines[].description | Char | لا | |
lines[].cost_center_id | Integer | لا | min: 1 |
/api/platform/v1/journals/<int:entry_id>/reverse/نطاقات الوصول: accounts.journal.reverse
| الحقل | النوع | مطلوب | القيود |
|---|---|---|---|
reason | Char | نعم |
/api/platform/v1/accounts/vouchers/receipts/نطاقات الوصول: accounts.receipt.write
| الحقل | النوع | مطلوب | القيود |
|---|---|---|---|
date | Date | نعم | |
cashbox_id | Integer | نعم | min: 1 |
account_id | Integer | نعم | min: 1 |
amount | Decimal | نعم | min: 0.01 |
description | Char | نعم | |
source_type | Regex | نعم | |
source_id | Integer | نعم | min: 1 |
posting_status | Choice | لا | draft, approved, posted |
cost_center_id | Integer | لا | min: 1 |
/api/platform/v1/accounts/vouchers/payments/نطاقات الوصول: accounts.payment.write
| الحقل | النوع | مطلوب | القيود |
|---|---|---|---|
date | Date | نعم | |
cashbox_id | Integer | نعم | min: 1 |
account_id | Integer | نعم | min: 1 |
amount | Decimal | نعم | min: 0.01 |
description | Char | نعم | |
source_type | Regex | نعم | |
source_id | Integer | نعم | min: 1 |
posting_status | Choice | لا | draft, approved, posted |
cost_center_id | Integer | لا | min: 1 |
/api/platform/v1/accounts/vouchers/payments/<int:voucher_id>/reverse/Reverse a posted plugin payment with a posted counter receipt.
نطاقات الوصول: accounts.payment.reverse
| الحقل | النوع | مطلوب | القيود |
|---|---|---|---|
reason | Char | نعم |
/api/platform/v1/accounts/vouchers/receipts/<int:voucher_id>/reverse/نطاقات الوصول: accounts.receipt.reverse
| الحقل | النوع | مطلوب | القيود |
|---|---|---|---|
reason | Char | نعم |
200 للقراءة أو نتيجة موجودة، و201 لإنشاء جديد حسب المسار. استجابة context تحتوي api_version وharplink_version وuser وtenant. قوائم الاختيار تستخدم results.
400: حقول غير صحيحة أو مخالفة قواعد العملية. 401: اعتماد مفقود أو غير صالح. 403: صلاحيات غير كافية. 404: مسار أو مورد غير موجود. راجع جسم JSON لمعرفة التفاصيل.
القيد المحاسبي يتطلب سطرين على الأقل وتوازن المدين والدائن. تستخدم بعض عمليات الإنشاء source_type وsource_id للتعرف على المصدر؛ تحقق من عقد العملية قبل إعادة إرسال طلب مالي، ولا تفترض دعماً عاماً لمفتاح Idempotency-Key.