Schnellstart

Zwei Tracks: in unter fünfzehn Minuten von null zu live.

Track 1 bringt Sie von einem frischen Konto zum ersten API-Aufruf. Track 2 bringt Sie vom offiziellen App-Skeleton zur veröffentlichten App auf einem Screen. Wählen Sie den passenden Track.

Track 1: Erster API-Aufruf

~5 Minuten. Key anlegen, Env-Variable setzen, Screens listen und eine Test-Notification senden.Track 1 starten

Track 2: Erste veröffentlichte App

~10 Minuten. Vom offiziellen Skeleton starten, umbenennen, lokal testen, ZIP bauen, in Studio hochladen.Track 2 starten

Voraussetzungen

Ein ScreenWay-Konto

Anmelden unter studio.screenway.com. Owner- oder Konto-Mitglied-Rolle reicht für beide Tracks.

Eine Shell mit curl

macOS, Linux oder WSL. Track 1 akzeptiert auch JavaScript (Node 18+) oder Python 3.10+ mit requests.

Track 1 · Erster API-Aufruf

Ziel: ein erfolgreicher GET /api/v1/screens-Request und eine Notification an alle Screens, die der Key erreichen darf.

1. API-Key anlegen

  1. Öffnen Sie Einstellungen → API Keys im Studio.
  2. Klicken Sie „API-Key anlegen“, vergeben Sie einen klaren Namen und einen Scope.
  3. Kopieren Sie den swk_…-Token sofort. Er wird nur einmal angezeigt.

Keys wie Passwörter behandeln

Studio speichert nur den Bcrypt-Hash und die ersten 12 Zeichen. Den Original-Token gibt es nach Schließen des Dialogs nicht mehr.

2. Env-Variable setzen

So bleibt der Token aus Shell-History und Git fern.

shell
# Den nach dem Anlegen einmalig angezeigten Key einsetzen
export SCREENWAY_API_KEY=swk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

3. Ersten Aufruf machen

Wählen Sie die Sprache, die Sie ohnehin nutzen. Alle drei Beispiele rufen denselben Endpoint auf und geben eine kurze Konto-Übersicht aus.

GET /api/v1/screens
curl https://studio.screenway.com/api/v1/screens \
  -H "Authorization: Bearer $SCREENWAY_API_KEY"

Erwartete Antwort

Eine 200-Antwort enthält ein data-Array mit Screens und ein meta-Objekt mit Pagination. Leere Konten liefern ein leeres Array, das ist normal.

4. Notification senden

Notifications sind die sicherste Schreiboperation zum Einstieg: kein persistenter Status, sofort sichtbares Feedback auf jedem Online-Screen.

POST /api/v1/notifications
curl -X POST https://studio.screenway.com/api/v1/notifications \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SCREENWAY_API_KEY" \
  -d '{
    "title": "Hallo von der API",
    "message": "Erster Request funktioniert.",
    "category": "INFO",
    "priority": "NORMAL",
    "duration_seconds": 15
  }'
  • Notifications ohne explizites targets-Array nutzen den Key-Scope
  • Ein 403 heißt: Ihre Targets liegen außerhalb des Key-Scope. Request verengen oder Key erweitern
  • Ein 404 mit „No screens found" bedeutet: kein Online-Screen erreichbar
  • action_url und action_label ermöglichen einen Tap-Through-CTA auf Touch-Kiosken

Track 2 · App veröffentlichen

Ziel: das offizielle Skeleton nehmen, mit Ihrer Marke versehen, lokal testen, paketieren und in Studio als neue App hochladen.

1. Skeleton laden

Das Skeleton enthält bereits Universal App Scaler, eine via postMessage verdrahtete config.html, deutsche und englische Locales und das Safe-Default-Boot-Pattern. Nutzen Sie es; das spart Stunden Plumbing.

entpacken
# In einem leeren Ordner
unzip ~/Downloads/app-skeleton.zip -d my-first-app
cd my-first-app

2. Umbenennen und konfigurieren

In app.json einen stabilen slug wählen, version auf 1.0.0 setzen und die Config-Felder definieren, die Nutzer später im Studio bearbeiten.

app.json
{
  "name": "Lobby Welcome",
  "slug": "lobby-welcome",
  "version": "1.0.0",
  "category": "utility",
  "is_free": true,
  "config_schema": {
    "fields": [
      { "key": "title", "type": "text", "default": "Willkommen", "required": true }
    ]
  }
}

Alle sichtbaren Texte in locales/de.json verschieben. Deutsch ist der universelle Fallback; jede andere Locale fällt für fehlende Schlüssel darauf zurück.

locales/de.json
{
  "description": "Freundliche Begrüßungsanzeige für Eingangsbereiche.",
  "featured": {
    "title": "Ein warmer Gruß auf jedem Bildschirm",
    "description": "Editierbarer Titel, transparenter Overlay, in Minuten einsatzbereit."
  },
  "config_schema": {
    "fields": {
      "title": { "label": "Headline" }
    }
  },
  "runtime": {
    "fallback": { "title": "Willkommen", "subtitle": "In den App-Einstellungen konfigurieren." }
  }
}

Slug ist endgültig

Der Slug wird zum Storage-Pfad und API-Identifier. Einmal wählen, dabei bleiben.

3. Lokal testen

Beliebigen statischen File-Server im App-Ordner starten. Ohne Studio-iFrame nutzt das Skeleton seine Inline-Defaults, und Ihre URL-Parameter überschreiben sie.

server
python3 -m http.server 8000
# Runtime: http://localhost:8000/
# Settings-Formular: http://localhost:8000/config.html
# URL-Parameter überschreiben Defaults: ?title=Hi&fontSize=180
  • index.html rendert die Runtime-UI
  • config.html rendert das Settings-Formular (Studio rahmt es normalerweise in einem iFrame)
  • URL-Parameter ändern die Config ohne Rebuild
  • window.APP_CONFIG ist im Standalone-Modus undefined (genau so geplant)

4. Paketieren und einreichen

version in app.json bumpen, banner.png (1200×400) und featured.png (1920×1080) ins Bundle-Root legen, dann ein flaches ZIP aus dem App-Ordner heraus packen.

paketieren
# Aus dem App-Ordner heraus. build.sh liegt im Skeleton
cd my-first-app
./build.sh --bump-patch
# → my-first-app-v1.0.1.zip im aktuellen Verzeichnis

ZIP an apps@screenway.com senden, mit App-Slug, Ziel-Locales und einem Einzeiler zur Änderung. Das ScreenWay-Team validiert das Bundle, lädt es in den Katalog und antwortet mit dem Live-Link.

Self-Service-Uploads sind in Planung

Ein Studio-Flow zum eigenständigen Verwalten Ihrer Apps ist in Vorbereitung. Bis dahin laufen Submissions über das Team, damit ein Reviewer Bundle, Locales und Store-Assets prüfen.

Wie geht es weiter

API-Referenz

Vollständige Endpoint-Übersicht, Fehlercodes, Pagination und Parameter pro Endpoint. /developer/de/api →

App-Referenz

Bundle-Aufbau, Runtime-Config-Contract, postMessage-Handshake, Build-Flow. /developer/de/apps →

KI + MCP

Codex, Claude Desktop, Cursor oder beliebige andere MCP-Clients an dieselbe API anschließen. /developer/de/ai →

Notifications senden

Overlays an Screens, Spaces, Gruppen oder Konto-Targets pushen, optional mit CTA.

Designer automatisieren

Designer-Projekte zu PNG/JPEG rendern und Thumbnails über die API aktualisieren.

Key-Hygiene

Ein Key pro Integration. Jeden Key auf die Screens beschränken, die die Integration anfassen darf.