TAC Flow المرجع الفني لواجهة الشركاء OpenAPI صفحة التكامل
واجهة قراءة فقط · الإصدار الأول

TAC Flow Partner API

واجهة ربط مستقرة لسحب بيانات شركتك إلى أنظمتك — تخطيط الموارد، والمحاسبة، وإدارة الصيانة، ولوحات التقارير، والتكاملات المخصصة — مع إشعارات لحظية موقّعة عند وقوع الأحداث التشغيلية. كل الردود معزولة بشركة المفتاح وصلاحياته ووحدات الشركة المفعلة.

التوثيق

أصدر مفتاح الربط من: الإعدادات ← «الربط والتكامل» ← «إصدار مفتاح» — يظهر المفتاح مرة واحدة فقط، ويُمرر في ترويسة التخويل مع كل طلب.
curl -H "Authorization: Bearer tacp_live_..." \
  "https://tacflow.app/api/partner/v1/assets?page=1&limit=100"
⚠️ قسم غير مفعل لشركتك لا تُرجع بياناته إطلاقًا حتى لو ملك المفتاح صلاحيته — العزل بالوحدات مطبق على كل النقاط.

البدء في خمس خطوات

أصدر مفتاحًا

بالصلاحيات المطلوبة من شاشة «الربط والتكامل» واحفظه فور ظهوره.

نفّذ أول طلب

على نقطة الأصول بالأمر أعلاه — سترجع أصول شركتك خلال ثوانٍ.

رقّم وزامن

استخدم page وlimit للترقيم، وupdated_since للمزامنة التزايدية الدورية.

سجّل اشتراك إشعارات

عنوان استقبال + الأحداث المطلوبة، واحفظ سر التوقيع.

تحقق من التوقيع

لكل إشعار وارد قبل معالجته — المثال البرمجي في قسم الإشعارات أدناه.

الترقيم والمزامنة

المعاملالوصف
pageرقم الصفحة — الافتراضي 1
limitحجم الصفحة — الافتراضي 50 والأقصى 200
updated_sinceتاريخ بصيغة ISO-8601 — يرجع السجلات المُنشأة أو المحدثة بعده فقط، للمزامنة الدورية بلا سحب كامل
{ "data": [ ... ],
  "pagination": { "page": 1, "limit": 50, "total": 1234, "has_more": true } }

نقاط القراءة

ثماني نقاط تغطي كل الأقسام التشغيلية — كلها بأسلوب واحد: نفس التوثيق ونفس المظروف ونفس الترقيم.
GET /api/partner/v1/assets
الأصول Assets

سجل المعدات والمركبات بحالتها ومواقعها، شاملًا الأصول المُسقطة من الأسطول.

Scopeassets:read Modulesheavy-equipment vehicles ShapeAsset
المعاملالنوعالوصف
pageintegerرقم الصفحة (الافتراضي 1)
limitintegerحجم الصفحة (الافتراضي 50، الأقصى 200)
updated_sincedate-timeالمزامنة التزايدية — السجلات بعد هذه اللحظة فقط
asset_classstringتصفية حسب الفئة: مركبة أو معدة ثقيلة
statusstringتصفية حسب الحالة التشغيلية
include_decommissionedbooleanشمول الأصول المُسقطة (الافتراضي: نعم)
curl -H "Authorization: Bearer tacp_live_..." \
  "https://tacflow.app/api/partner/v1/assets?page=1&limit=100"
GET /api/partner/v1/maintenance-reports
تقارير الصيانة Maintenance reports

تقارير الصيانة المعتمدة بمهامها وتكاليفها وقراءات العدادات.

Scopemaintenance:read Modulespreventive reports ShapeMaintenanceReport
المعاملالنوعالوصف
pageintegerرقم الصفحة (الافتراضي 1)
limitintegerحجم الصفحة (الافتراضي 50، الأقصى 200)
updated_sincedate-timeالمزامنة التزايدية — السجلات بعد هذه اللحظة فقط
equipment_idstringتصفية حسب الأصل
fromdateمن تاريخ
todateإلى تاريخ
curl -H "Authorization: Bearer tacp_live_..." \
  "https://tacflow.app/api/partner/v1/maintenance-reports?from=2026-07-01&to=2026-07-31"
GET /api/partner/v1/incidents
البلاغات Incidents

بلاغات الأعطال بحالتها وتكاليفها.

Scopeincidents:read Modulesincidents ShapeIncident
المعاملالنوعالوصف
pageintegerرقم الصفحة (الافتراضي 1)
limitintegerحجم الصفحة (الافتراضي 50، الأقصى 200)
updated_sincedate-timeالمزامنة التزايدية — السجلات بعد هذه اللحظة فقط
equipment_idstringتصفية حسب الأصل
statusstringتصفية حسب الحالة
fromdateمن تاريخ
todateإلى تاريخ
curl -H "Authorization: Bearer tacp_live_..." \
  "https://tacflow.app/api/partner/v1/incidents?status=open"
GET /api/partner/v1/movements
الحركات والعُهد Movements & custody

حركات الأصول والعُهد: من أين إلى أين ومن المستلم.

Scopemovements:read Modulesmovements ShapeMovement
المعاملالنوعالوصف
pageintegerرقم الصفحة (الافتراضي 1)
limitintegerحجم الصفحة (الافتراضي 50، الأقصى 200)
updated_sincedate-timeالمزامنة التزايدية — السجلات بعد هذه اللحظة فقط
equipment_idstringتصفية حسب الأصل
fromdateمن تاريخ
todateإلى تاريخ
curl -H "Authorization: Bearer tacp_live_..." \
  "https://tacflow.app/api/partner/v1/movements?equipment_id=<id>"
GET /api/partner/v1/fuel/dispenses
عمليات الديزل الداخلي Internal fuel dispenses

عمليات صرف الديزل الداخلي من الصهاريج للمعدات.

Scopefuel:read Modulesfuel-internal ShapeFuelDispense
المعاملالنوعالوصف
pageintegerرقم الصفحة (الافتراضي 1)
limitintegerحجم الصفحة (الافتراضي 50، الأقصى 200)
updated_sincedate-timeالمزامنة التزايدية — السجلات بعد هذه اللحظة فقط
equipment_idstringتصفية حسب الأصل
tanker_idstringتصفية حسب الصهريج
fromdateمن تاريخ
todateإلى تاريخ
curl -H "Authorization: Bearer tacp_live_..." \
  "https://tacflow.app/api/partner/v1/fuel/dispenses?from=2026-07-01"
GET /api/partner/v1/fuel/transactions
حركات بطاقات الوقود Fuel card transactions

حركات بطاقات الوقود للمركبات (محايد لمزوّد الخدمة).

Scopefuel:read Modulesfuel-analytics ShapeFuelTransaction
المعاملالنوعالوصف
pageintegerرقم الصفحة (الافتراضي 1)
limitintegerحجم الصفحة (الافتراضي 50، الأقصى 200)
updated_sincedate-timeالمزامنة التزايدية — السجلات بعد هذه اللحظة فقط
plate_numberstringتصفية حسب رقم اللوحة
fromdateمن تاريخ
todateإلى تاريخ
curl -H "Authorization: Bearer tacp_live_..." \
  "https://tacflow.app/api/partner/v1/fuel/transactions?from=2026-07-01&to=2026-07-31"
GET /api/partner/v1/meters/readings
قراءات العدادات Meter readings

قراءات الكيلومترات وساعات التشغيل لكل أصل.

Scopemeters:read Modulesheavy-equipment vehicles ShapeMeterReading
المعاملالنوعالوصف
pageintegerرقم الصفحة (الافتراضي 1)
limitintegerحجم الصفحة (الافتراضي 50، الأقصى 200)
updated_sincedate-timeالمزامنة التزايدية — السجلات بعد هذه اللحظة فقط
equipment_idstringتصفية حسب الأصل
meter_typestringنوع العداد
fromdateمن تاريخ
todateإلى تاريخ
curl -H "Authorization: Bearer tacp_live_..." \
  "https://tacflow.app/api/partner/v1/meters/readings?equipment_id=<id>&from=2026-07-01"
GET /api/partner/v1/inspections
الفحص اليومي Daily inspections

نتائج الفحص اليومي المعتمدة بملخصها.

Scopeinspections:read Modulesdaily-inspection ShapeInspection
المعاملالنوعالوصف
pageintegerرقم الصفحة (الافتراضي 1)
limitintegerحجم الصفحة (الافتراضي 50، الأقصى 200)
updated_sincedate-timeالمزامنة التزايدية — السجلات بعد هذه اللحظة فقط
equipment_idstringتصفية حسب الأصل
resultstringتصفية حسب النتيجة
fromdateمن تاريخ
todateإلى تاريخ
curl -H "Authorization: Bearer tacp_live_..." \
  "https://tacflow.app/api/partner/v1/inspections?result=needs_action"

الصلاحيات

Scopeالوصف
assets:readقراءة الأصول
maintenance:readقراءة تقارير الصيانة
incidents:readقراءة البلاغات
movements:readقراءة الحركات
fuel:readقراءة الوقود
meters:readقراءة العدادات
inspections:readقراءة الفحص اليومي
webhooks:manageإدارة الإشعارات اللحظية

الإشعارات اللحظية

سجّل عنوان استقبال واختر الأحداث؛ يرسل النظام طلبًا موقّعًا فور وقوع الحدث، ويعيد المحاولة تلقائيًا حتى خمس محاولات بتدرج زمني عند التعذر.
Eventالحدث
incident.reportedتسجيل بلاغ عطل
maintenance_report.approvedاعتماد تقرير صيانة
movement.approvedاعتماد حركة
fuel.dispense_recordedتسجيل عملية وقود
asset.decommissionedإسقاط أصل من الأسطول
ترويسات التسليم

X-TacFlow-Event X-TacFlow-Signature: sha256=<hex> X-TacFlow-Delivery X-TacFlow-Retry

التحقق من التوقيع — Node.js
const crypto = require('crypto')

function verifyTacFlowSignature(rawBody, signatureHeader, secret) {
  // signatureHeader = 'sha256=<hex>' (X-TacFlow-Signature)
  const expected = 'sha256=' + crypto.createHmac('sha256', secret).update(rawBody).digest('hex')
  return crypto.timingSafeEqual(Buffer.from(signatureHeader), Buffer.from(expected))
}

رموز الأخطاء

كل خطأ يرجع بمظروف ثابت واحد:
{ "error": { "code": "insufficient_scope", "message": "..." } }
unauthorized key_expired key_revoked insufficient_scope module_disabled subscription_suspended invalid_request rate_limited not_found method_not_allowed server_error

حدود الطلبات

120 طلبًا في الدقيقة لكل مفتاح — عند التجاوز يرجع رمز 429 مع ترويسة Retry-After، وترويسات X-RateLimit-Limit وX-RateLimit-Remaining مرافقة لكل رد ناجح.