انتقل إلى المحتوى الرئيسي

واجهة برمجة التطبيقات العامة (Public API)

نظرة عامة

تمنح واجهة برمجة التطبيقات العامة لـ AutoGMS شركاء التكامل إمكانية الوصول البرمجي إلى بيانات الكراج. استخدمها لربط أدوات التشخيص ومنصات إدارة الأساطيل ولوحات المعلومات المخصصة وكتالوجات القطع وتطبيقات الجوال بحساب AutoGMS الخاص بك.

الميزات الرئيسية:

  • وصول كامل للقراءة والكتابة لجميع بيانات الكراج بما في ذلك الحجوزات والعملاء والمركبات والمخزون والفواتير والمزيد
  • الويب هوك (Webhooks) -- استلام إشعارات فورية عند حدوث أحداث في كراجك
  • مصادقة بمفتاح API مع تحديد معدل الطلبات لكل مفتاح ومستويات الصلاحيات
  • نطاق خاص بالكراج -- كل طلب مرتبط بكراج محدد
  • تسجيل النشاط -- يتم تسجيل جميع أنشطة API وعرضها في لوحة الإدارة
  • دعم كراجات متعددة -- يمكن لمفتاح واحد الوصول إلى عدة كراجات في مؤسستك

كيفية الوصول

يتم إنشاء وإدارة مفاتيح API بواسطة مسؤول AutoGMS (المسؤول الأعلى). إذا كنت بحاجة إلى الوصول عبر API، تواصل مع المسؤول لطلب مفتاح.

بمجرد استلام مفتاح API الخاص بك، يمكنك البدء بإجراء الطلبات فوراً.


البدء

الخطوة 1: طلب مفتاح API

تواصل مع مسؤول AutoGMS لطلب مفتاح API. عند تقديم طلبك، أخبرهم بما يلي:

  • الغرض من الاستخدام -- مثل "لوحة معلومات الأسطول"، "تكامل كتالوج القطع"، "أداة التشخيص".
  • مستوى الصلاحية -- قراءة فقط للوحات المعلومات والتقارير، أو قراءة وكتابة للتكاملات الكاملة.
  • الكراجات المطلوبة -- حدد إذا كنت تحتاج الوصول لكراجات معينة فقط.

سيزودك المسؤول بمفتاح API. احفظه بشكل آمن -- لا يمكن استرجاعه مرة أخرى بعد الإنشاء.

الخطوة 2: إجراء أول طلب

استخدم مفتاح API في عنوان X-API-Key:

GET https://api.autogms.com/api/v1/garages
X-API-Key: agms_pk_live_your_key_here

يُرجع هذا قائمة بجميع الكراجات التي يمكن لمفتاحك الوصول إليها.

الخطوة 3: الوصول إلى بيانات الكراج

تتطلب جميع نقاط البيانات معرّف الكراج في عنوان URL:

GET https://api.autogms.com/api/v1/garages/{garageId}/bookings
X-API-Key: agms_pk_live_your_key_here

البيانات المتاحة

توفر واجهة API وصول القراءة والكتابة لجميع المجالات الرئيسية في كراجك:

الموردالقراءةالكتابة
الكراجاتتفاصيل الموقع، معلومات الاتصال--
العملاءملفات العملاء، سجل الحجوزات، المركباتإنشاء وتحديث العملاء والمركبات
المركباتتفاصيل المركبة، فك تشفير VINإنشاء وتحديث وحذف المركبات
الحجوزاتجميع الحجوزات مع الحالة والفنيين والقطع والمراحلإنشاء وتحديث وتغيير الحالة وحذف وتعيين الفنيين والقطع
مراحل الحجزمراحل العمل مع الفنيين المعينينإنشاء وتحديث وتغيير الحالة وحذف المراحل
الفنيونقائمة الفريق، إحصائيات الأداء، العمل المُسند--
الخدماتكتالوج الخدمات مع الأسعار--
المخزونمستويات المخزون، تنبيهات المخزون المنخفض، البحث بالباركودإنشاء عناصر، تحديث التفاصيل، تعديل المخزون
الفواتيرتفاصيل الفواتير، حالة الدفع--
التقديراتتفاصيل التقديرات، حالة الموافقة، البنودإنشاء وتحديث وإرسال التقديرات
أوامر الشراءتفاصيل أوامر الشراء، إحصائيات المشتريات--
خلجان العملتوفر الخلجان والتعيينات الحالية--
الويب هوكقائمة الاشتراكات، سجل التسليمإنشاء وتحديث وحذف واختبار الويب هوك

ملاحظة: تتطلب عمليات الكتابة مفتاح API بصلاحية قراءة وكتابة. مفاتيح القراءة فقط يمكنها الوصول لنقاط GET فقط.


حالات الاستخدام الشائعة

تكامل التشخيص

ربط معدات التشخيص للبحث عن المركبات وإنشاء الحجوزات:

GET  /api/v1/garages/{garageId}/vehicles/vin-lookup?vin=JTMHY7AJ5E4012345
POST /api/v1/garages/{garageId}/bookings

لوحة معلومات إدارة الأسطول

مراقبة جميع الأعمال النشطة وأحمال عمل الفنيين وتوفر الخلجان:

GET /api/v1/garages/{garageId}/bookings/counts
GET /api/v1/garages/{garageId}/technicians
GET /api/v1/garages/{garageId}/bays

تكامل كتالوج القطع

التحقق من مستويات المخزون وتعديل المخزون والحصول على تنبيهات المخزون المنخفض:

GET  /api/v1/garages/{garageId}/inventory?lowStock=true
GET /api/v1/garages/{garageId}/inventory/barcode/6291041500123
POST /api/v1/garages/{garageId}/inventory/{itemId}/adjust

أتمتة الحجوزات

إنشاء الحجوزات وتعيين الفنيين وإدارة مراحل العمل برمجياً:

POST /api/v1/garages/{garageId}/bookings
POST /api/v1/garages/{garageId}/bookings/{bookingId}/status
POST /api/v1/garages/{garageId}/bookings/{bookingId}/technician
POST /api/v1/garages/{garageId}/bookings/{bookingId}/stages

الإشعارات الفورية (الويب هوك)

استلام إشعارات فورية عند حدوث أحداث في كراجك:

POST /api/v1/garages/{garageId}/webhooks

اشترك في أحداث مثل booking.completed و inventory.low_stock و invoice.paid والمزيد. يرسل AutoGMS طلب HTTP POST إلى عنوان URL الخاص بك عند حدوث الحدث.

التقارير المخصصة

سحب البيانات المالية لأدوات التقارير الخارجية:

GET /api/v1/garages/{garageId}/invoices?status=paid&dateFrom=2026-01-01
GET /api/v1/garages/{garageId}/purchase-orders/stats

تنسيق استجابة API

جميع الاستجابات تستخدم تنسيق JSON متسق.

استجابة ناجحة:

{
"success": true,
"data": { ... }
}

استجابة قائمة مع ترقيم الصفحات:

{
"success": true,
"data": [ ... ],
"pagination": {
"page": 1,
"limit": 20,
"total": 156,
"totalPages": 8,
"hasMore": true
}
}

استجابة خطأ:

{
"success": false,
"error": {
"type": "NotFoundError",
"message": "Booking not found",
"code": "RESOURCE_NOT_FOUND"
}
}

ترقيم الصفحات والتصفية

ترقيم الصفحات

جميع نقاط القوائم تدعم ترقيم الصفحات:

المعاملالافتراضيالحد الأقصىالوصف
page1--رقم الصفحة
limit20100عدد العناصر في الصفحة

مثال: GET /api/v1/garages/{garageId}/bookings?page=2&limit=50

الترتيب

استخدم معامل sort. أضف - في البداية للترتيب التنازلي:

  • sort=-date -- الأحدث أولاً
  • sort=name -- أبجدي

تصفية التاريخ

معظم نقاط القوائم تدعم تصفية نطاق التاريخ:

  • dateFrom=2026-01-01 -- السجلات من هذا التاريخ فصاعداً
  • dateTo=2026-01-31 -- السجلات حتى هذا التاريخ

تحديد المعدل

لكل مفتاح API حد طلبات في الدقيقة حسب مستواه:

المستوىالطلبات في الدقيقة
عادي60
متميز300
مؤسسي1,000

كل استجابة تتضمن رؤوس تحديد المعدل:

RateLimit-Limit: 60
RateLimit-Remaining: 42
RateLimit-Reset: 1706000000

إذا تجاوزت الحد، ستتلقى استجابة 429 Too Many Requests. انتظر حتى تنتهي فترة Retry-After قبل إجراء المزيد من الطلبات.


إدارة مفاتيح API

تتم إدارة مفاتيح API بواسطة مسؤول AutoGMS. إذا كنت بحاجة إلى أي مما يلي، تواصل مع المسؤول:

  • عرض إحصائيات الاستخدام -- يمكن للمسؤول عرض عدد الطلبات ومعدلات الخطأ والنشاط الأخير لكل مفتاح.
  • تدوير المفتاح -- إذا كان هناك احتمال لتسريب المفتاح، اطلب من المسؤول تدويره. يتم إنشاء مفتاح جديد وإبطال القديم.
  • إلغاء المفتاح -- لتعطيل مفتاح نهائياً، اطلب من المسؤول إلغاءه.

تدوير وإلغاء المفاتيح إجراءات نهائية يتم التعامل معها بواسطة المسؤول.


مرجع نقاط النهاية الكامل

جميع نقاط النهاية مسبوقة بـ /api/v1. نقاط الموارد تستخدم /garages/{garageId}/.

الكراجات

نقطة النهايةالوصف
GET /garagesقائمة جميع الكراجات المتاحة لهذا المفتاح
GET /garages/{garageId}تفاصيل الكراج

العملاء

نقطة النهايةالوصف
GET /garages/{gid}/customersقائمة عملاء الكراج
GET /garages/{gid}/customers/search?q=ahmedالبحث بالاسم أو البريد أو الهاتف
POST /garages/{gid}/customersإنشاء عميل
PATCH /garages/{gid}/customers/{cid}تحديث عميل
GET /garages/{gid}/customers/{cid}عرض العميل مع إحصائيات الحجوزات
GET /garages/{gid}/customers/{cid}/vehiclesقائمة مركبات العميل
POST /garages/{gid}/customers/{cid}/vehiclesإضافة مركبة للعميل
GET /garages/{gid}/customers/{cid}/bookingsقائمة حجوزات العميل

المركبات

نقطة النهايةالوصف
GET /garages/{gid}/vehiclesقائمة جميع المركبات
POST /garages/{gid}/vehiclesإنشاء مركبة
PATCH /garages/{gid}/vehicles/{vid}تحديث مركبة
DELETE /garages/{gid}/vehicles/{vid}حذف مركبة
GET /garages/{gid}/vehicles/{vid}تفاصيل المركبة
GET /garages/{gid}/vehicles/vin-lookup?vin=...فك تشفير VIN

الحجوزات

نقطة النهايةالوصف
GET /garages/{gid}/bookingsقائمة الحجوزات (تصفية حسب الحالة، التاريخ، العميل، الفني)
POST /garages/{gid}/bookingsإنشاء حجز
GET /garages/{gid}/bookings/countsعدد الحجوزات حسب الحالة
GET /garages/{gid}/bookings/{bid}تفاصيل الحجز الكاملة
PATCH /garages/{gid}/bookings/{bid}تحديث حجز
DELETE /garages/{gid}/bookings/{bid}حذف حجز (معلق/مؤكد فقط)
POST /garages/{gid}/bookings/{bid}/statusتغيير حالة الحجز
POST /garages/{gid}/bookings/{bid}/technicianتعيين فني
GET /garages/{gid}/bookings/{bid}/inventoryقائمة القطع المعينة
POST /garages/{gid}/bookings/{bid}/inventoryتعيين قطع للحجز
GET /garages/{gid}/bookings/{bid}/partsقائمة القطع المعينة (بديل)
GET /garages/{gid}/bookings/{bid}/attachmentsقائمة المرفقات
GET /garages/{gid}/bookings/{bid}/stagesقائمة مراحل المشروع
POST /garages/{gid}/bookings/{bid}/stagesإنشاء مرحلة
PATCH /garages/{gid}/bookings/{bid}/stages/{sid}تحديث مرحلة
POST /garages/{gid}/bookings/{bid}/stages/{sid}/statusتغيير حالة المرحلة
DELETE /garages/{gid}/bookings/{bid}/stages/{sid}حذف مرحلة

الفنيون

نقطة النهايةالوصف
GET /garages/{gid}/techniciansقائمة الفنيين
GET /garages/{gid}/technicians/{tid}/statsإحصائيات الأداء
GET /garages/{gid}/technicians/{tid}/bookingsالحجوزات المُسندة

الخدمات

نقطة النهايةالوصف
GET /garages/{gid}/servicesكتالوج الخدمات
GET /garages/{gid}/services/{sid}تفاصيل الخدمة
GET /garages/{gid}/services/{sid}/pricesالأسعار حسب نوع المركبة

المخزون

نقطة النهايةالوصف
GET /garages/{gid}/inventoryقائمة العناصر
POST /garages/{gid}/inventoryإنشاء عنصر مخزون
GET /garages/{gid}/inventory/{iid}عرض عنصر
PATCH /garages/{gid}/inventory/{iid}تحديث عنصر
POST /garages/{gid}/inventory/{iid}/adjustتعديل المخزون (إضافة أو خصم)
GET /garages/{gid}/inventory/low-stockالعناصر تحت الحد الأدنى
GET /garages/{gid}/inventory/categoriesالفئات مع العدد
GET /garages/{gid}/inventory/statsإحصائيات المخزون
GET /garages/{gid}/inventory/barcode/{code}البحث بالباركود

الفواتير

نقطة النهايةالوصف
GET /garages/{gid}/invoicesقائمة الفواتير
GET /garages/{gid}/invoices/{iid}تفاصيل الفاتورة

التقديرات

نقطة النهايةالوصف
GET /garages/{gid}/estimatesقائمة التقديرات
POST /garages/{gid}/estimatesإنشاء تقدير
GET /garages/{gid}/estimates/{eid}تفاصيل التقدير
PATCH /garages/{gid}/estimates/{eid}تحديث تقدير
POST /garages/{gid}/estimates/{eid}/sendإرسال تقدير للعميل

أوامر الشراء

نقطة النهايةالوصف
GET /garages/{gid}/purchase-ordersقائمة أوامر الشراء
GET /garages/{gid}/purchase-orders/{pid}تفاصيل أمر الشراء
GET /garages/{gid}/purchase-orders/statsإحصائيات المشتريات

خلجان العمل

نقطة النهايةالوصف
GET /garages/{gid}/baysقائمة الخلجان مع الحالة الحالية

الويب هوك (Webhooks)

نقطة النهايةالوصف
GET /garages/{gid}/webhooksقائمة اشتراكات الويب هوك
POST /garages/{gid}/webhooksإنشاء اشتراك ويب هوك
PATCH /garages/{gid}/webhooks/{wid}تحديث ويب هوك
DELETE /garages/{gid}/webhooks/{wid}حذف ويب هوك
POST /garages/{gid}/webhooks/{wid}/testإرسال حدث تجريبي
GET /garages/{gid}/webhooks/{wid}/deliveriesعرض سجل التسليم

قريباً

  • OAuth 2.0 -- مصادقة الطرف الثالث لتكاملات السوق

هل تحتاج مساعدة إضافية؟

  • طلب مفتاح API: تواصل مع مسؤول AutoGMS
  • مشاكل المفاتيح (تدوير، إلغاء): تواصل مع مسؤول AutoGMS
  • الدعم العام: أرسل بريداً إلكترونياً إلى support@myautogms.com