API Documentation

Version 1.0 | Last updated: December 9, 2025

Introduction

Welcome to the Digital Signage Management System API. This comprehensive API allows you to integrate with our platform for screen content management, order processing, and queue management. Our API is designed to be RESTful, secure, and easy to use.

All API endpoints are relative to your application base URL.

Authentication

Most API endpoints require authentication. We support different authentication methods depending on the use case.

Screen Authentication

Digital screens use Bearer token authentication with their unique API token. This token is automatically generated when a screen is registered.

Authorization: Bearer YOUR_SCREEN_API_TOKEN

User Authentication

Authenticated users can access protected endpoints using their personal API tokens obtained through the dashboard.

Authorization: Bearer YOUR_USER_API_TOKEN

Screen Content API

The Screen Content API allows digital displays to retrieve their scheduled content and report their status.

Get Screen Content

Retrieves all active content schedules for a specific screen, including content data and metadata.

GET /api/screens/{screen_id}/content
Headers:
Authorization: Bearer {screen_api_token}
Response Example:
{
  "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"
        }
      }
    }
  ]
}

Screen Ping

Updates the screen's last seen timestamp and reports its online status.

POST /api/screens/{screen_id}/ping
Headers:
Authorization: Bearer {screen_api_token}

Order Management API

The Order API enables mobile ordering functionality for customers using QR codes.

Place Order

Creates a new customer order from mobile menu interactions.

POST /api/orders
Request Body:
{
  "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 Response:
{
  "success": true,
  "order_id": 123,
  "order_number": "ORD-20250101-ABC123",
  "message": "Order placed successfully",
  "estimated_time": 25
}

Queue Management API

Manage queue services and counters for customer service operations.

Services Management

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

Counters Management

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

Content Types

The system supports various content types for digital signage displays.

text_block

Simple text content with customizable styling

static_image

Display static images from the media library

static_video

Play video content with optional looping

menu

Dynamic menu display with categories and items

instagram_feed

Display Instagram posts and stories

weather

Show current weather information

Error Handling

The API uses standard HTTP status codes and returns detailed error messages.

401 Unauthorized - Invalid or missing authentication token
403 Forbidden - Insufficient permissions
404 Not Found - Resource does not exist
422 Validation Error - Invalid request data
500 Internal Server Error - Unexpected server error

Rate Limits

To ensure fair usage and system stability, we implement rate limiting on our API endpoints.

  • Screen content requests: 60 per minute per screen
  • Order placement: 10 per minute per IP
  • OTP requests: 3 per hour per email

SDK Libraries

We provide official SDK libraries to simplify integration with our API.

JavaScript

Download SDK

Python

Download SDK

Support & Help

Need help with API integration? Our support team is here to assist you.

Email: api@digitalsignage.com

Developer Documentation: View Full Documentation

API Status: Check API Status