BIBLEIT / Dokumentation

HTTP und WebSocket

Sende einen Befehl pro HTTP-Anfrage. Nutze SSH für dauerhafte Protokollabonnements und WebSockets für Live-Ereignisse im Browser.

POST /api/cli/command

Erstelle in den Kontoeinstellungen ein Zugriffstoken und sende es als Bearer-Token. Speichere es nicht in URLs oder Browser-Speichern. Der CLI-Autorisierungsablauf nutzt einen einmaligen Code und PKCE; Browsercookies sind keine Bearer-Token.

Befehl / Anfrage

curl --request POST http://localhost:8080/api/cli/command \
  --header "Authorization: Bearer $BIBLEIT_TOKEN" \
  --header 'Content-Type: application/json' \
  --data '{"command":"PING"}'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8

OK pong=true

Ein gültiger ausgeführter Befehl liefert HTTP 200 mit text/plain-Protokollausgabe, auch bei Domainfehlern ERR. Fehlende oder ungültige Token liefern 401, ein fehlender Benutzername 403, ungültige Befehle und SSH-Abonnements 400. Prüfe HTTP-Status und Antwortblock.

WebSocket /ws?live=<id>

Verbinde dich mit /ws?live=LIVE_ID für Zuschauerereignisse; bei geschützten Lives ist das Live-Cookie nötig. push benötigt zusätzlich eine gültige Browsersitzung, live.update und Zugriff auf das Live. Textbefehle sind auf 4 KiB begrenzt. Erfolg liefert push_result, Fehler liefern error mit code.

Befehl / Anfrage

{"type":"push","reference":{"translation":"WEB","book":19,"chapter":23,"verse":1}}

Beispielantwort

{
  "type": "push_result",
  "live": "demoLive01",
  "verse": {
    "translation": "web", "book": "Psalms",
    "chapter": 23, "verse": 1,
    "reference": "Psalms 23:1",
    "text": "The LORD is my shepherd; I shall lack nothing.",
    "publisher_id": "demo-account", "sequence": 1,
    "translations": [{
      "translation": "web", "book": "Psalms",
      "chapter": 23, "verse": 1,
      "reference": "Psalms 23:1",
      "text": "The LORD is my shepherd; I shall lack nothing."
    }]
  }
}
{"type":"error","live":"demoLive01","code":"invalid_reference"}
{"type":"clear","live":"demoLive01"}
{"type":"paused","live":"demoLive01"}
{"type":"closed","live":"demoLive01"}
HTTP und WebSocket ↗