Developer API

🧠 Einstieg

OCS Galaxy ist ein eventbasiertes, verteiltes System.

Als Entwickler interagierst du nicht nur über klassische REST APIs – sondern über ein Netzwerk aus:

Events Objekten Modulen Nodes

🚀 Quick Start

1. Objekt abrufen
GET /api/object/{id}

Beispiel:

GET /api/object/7F4A93D2
{
  "id": "7F4A93D2",
  "name": "Alpha-9 Pump",
  "state": "active",
  "owner": "USR-001",
  "capabilities": ["temperature_read", "flow_control"],
  "history": [
    { "time": "1679093011", "event": "CREATED" },
    { "time": "1679100021", "event": "SENSOR_ATTACHED" }
  ]
}

🔐 Authentifizierung

OCS Galaxy verwendet ein Zero-Trust Auth Modell.

Jede Anfrage benötigt:

  • kryptografische Signatur
  • Nonce (Replay Protection)
  • optional Token (User / Node Kontext)
Beispiel Request Header
Authorization: OCS-SIGNATURE 0x4a9b...7f21
X-OCS-Nonce: 18928371

📦 Core API Endpoints

🧬 Object API

GET /api/object/{id}
POST /api/object
PATCH /api/object/{id}
DELETE /api/object/{id}

Verwaltung von digitalen Zwillingen (OCS Objects)

⚙️ Module API

POST /api/module/register

Registriert ein Modul im System.

Ein Modul:

  • subscribed auf Events
  • verarbeitet Daten
  • erzeugt neue Events

🌐 Node API

POST /api/node/heartbeat
POST /api/node/auth

Verwaltung von Nodes:

  • Status melden
  • Authentifizieren
  • Netzwerk synchronisieren

🔄 Event System (KERN DES SYSTEMS)

OCS Galaxy ist event-driven.

Event senden
POST /api/event
{
  "event": "O2_DOOR_SCAN",
  "payload": {
    "sensor_id": "door_hall_b",
    "status": "near"
  }
}
Event Flow
Sensor Gateway Registry Module Execution

🧠 Module Entwicklung

Ein Modul definiert:

  • welche Events es verarbeitet
  • welche Aktionen es ausführt
  • welche Objekte es verändert
Konzept:
IF event == "DOOR_SCAN"
AND user_has_access == true
THEN open_door()

🧪 System Sandbox

Developer Sandbox wird aktuell vorbereitet.

📌 Kurz gesagt

Die OCS API ist kein klassisches CRUD-System – sondern eine Schnittstelle zu einem eventbasierten, verteilten Betriebssystem.