توثيق API

الإصدار 1.0 | آخر تحديث: December 11, 2025

المقدمة

مرحباً بك في نظام إدارة اللافتات الرقمية API. يتيح لك هذا API الشامل التكامل مع منصتنا لإدارة محتوى الشاشات ومعالجة الطلبات وإدارة الطوابير. تم تصميم API ليكون RESTful وآمن وسهل الاستخدام.

جميع نقاط نهاية API نسبية إلى عنوان URL الأساسي للتطبيق.

المصادقة

معظم نقاط نهاية API تتطلب المصادقة. نحن ندعم طرق مصادقة مختلفة حسب حالة الاستخدام.

مصادقة الشاشة

تستخدم الشاشات الرقمية مصادقة Bearer token مع رمز API الفريد الخاص بها. يتم إنشاء هذا الرمز تلقائياً عند تسجيل الشاشة.

Authorization: Bearer YOUR_SCREEN_API_TOKEN

مصادقة المستخدم

يمكن للمستخدمين المصادق عليهم الوصول إلى نقاط النهاية المحمية باستخدام رموز API الشخصية الخاصة بهم المحصل عليها من لوحة التحكم.

Authorization: Bearer YOUR_USER_API_TOKEN

API محتوى الشاشة

يسمح API محتوى الشاشة للشاشات الرقمية باسترداد المحتوى المجدول وإبلاغ حالتهم.

الحصول على محتوى الشاشة

يسترد جميع جداول المحتوى النشطة لشاشة محددة، بما في ذلك بيانات المحتوى والمعلومات الوصفية.

GET /api/screens/{screen_id}/content
الرؤوس:
Authorization: Bearer {screen_api_token}
مثال على الاستجابة:
{
  "screen_id": 1,
  "version_hash": "abc123def456",
  "schedules": [
    {
      "id": 1,
      "priority": 1,
      "is_active": true,
      "content": {
        "id": 1,
        "name": "Welcome Message",
        "content_type": "text_block",
        "duration": 10,
        "transition": "fade",
        "data": {
          "title": "Welcome to Our Restaurant",
          "content": "Enjoy your meal!",
          "text_color": "#000000",
          "background_color": "#ffffff"
        }
      }
    }
  ]
}

نبض الشاشة

يحدث الطابع الزمني الأخير المرئي للشاشة ويبلغ عن حالتها عبر الإنترنت.

POST /api/screens/{screen_id}/ping
الرؤوس:
Authorization: Bearer {screen_api_token}

API إدارة الطلبات

يُمكّن API الطلبات وظيفة الطلب عبر الهاتف المحمول للعملاء باستخدام رموز QR.

تقديم طلب

إنشاء طلب عميل جديد من تفاعلات القائمة المحمولة.

POST /api/orders
نص الطلب:
{
  "qr_code_id": 1,
  "shop_id": 1,
  "customer_name": "John Doe",
  "customer_phone": "+966501234567",
  "table_number": "12",
  "notes": "No onions please",
  "items": [
    {
      "menu_item_id": 1,
      "quantity": 2,
      "price": 25.99
    },
    {
      "menu_item_id": 2,
      "quantity": 1,
      "price": 15.50
    }
  ]
}
استجابة النجاح:
{
  "success": true,
  "order_id": 123,
  "order_number": "ORD-20250101-ABC123",
  "message": "Order placed successfully",
  "estimated_time": 25
}

API إدارة الطوابير

إدارة خدمات الطوابير والعدادات لعمليات خدمة العملاء.

إدارة الخدمات

GET /api/queue/services
POST /api/queue/services

إدارة العدادات

GET /api/queue/counters
POST /api/queue/counters

أنواع المحتوى

يدعم النظام أنواع محتوى مختلفة لشاشات اللافتات الرقمية.

text_block

محتوى نصي بسيط مع تصميم قابل للتخصيص

static_image

عرض الصور الثابتة من مكتبة الوسائط

static_video

تشغيل محتوى الفيديو مع إمكانية التكرار

menu

عرض القائمة الديناميكي مع الفئات والعناصر

instagram_feed

عرض منشورات و قصص إنستغرام

weather

عرض معلومات الطقس الحالية

معالجة الأخطاء

يستخدم API رموز حالة HTTP القياسية ويعيد رسائل خطأ مفصلة.

401 غير مصرح - رمز مصادقة غير صالح أو مفقود
403 محظور - صلاحيات غير كافية
404 غير موجود - المورد غير موجود
422 خطأ في التحقق - بيانات طلب غير صالحة
500 خطأ في الخادم الداخلي - خطأ خادم غير متوقع

حدود المعدل

لضمان الاستخدام العادل واستقرار النظام، نطبق تحديد المعدل على نقاط نهاية API الخاصة بنا.

  • طلبات محتوى الشاشة: 60 في الدقيقة لكل شاشة
  • تقديم الطلبات: 10 في الدقيقة لكل IP
  • طلبات OTP: 3 في الساعة لكل بريد إلكتروني

مكتبات SDK

نقدم مكتبات SDK رسمية لتبسيط التكامل مع API الخاص بنا.

الدعم والمساعدة

تحتاج مساعدة في تكامل API؟ فريق الدعم لدينا هنا لمساعدتك.

البريد الإلكتروني: api@digitalsignage.com

توثيق المطور: عرض التوثيق الكامل

حالة API: التحقق من حالة API