Zum Hauptinhalt springen
Version: Nächste

Die Openbeehive-API

Openbeehive ist API-first und offen. Es gibt kein verstecktes Backend: Alles, was die App tut — Bienenstände anlegen, Durchsichten erfassen, Geräte synchronisieren, Statistiken lesen — läuft über eine einzige, öffentliche Connect-RPC-API. Derselbe Vertrag, der die App antreibt, steht auch Ihnen zur Verfügung.

Diese Offenheit ist bewusst gewählt. Ihre Aufzeichnungen gehören Ihnen, deshalb sollten Sie sie lesen, mit Skripten verarbeiten, aus eigenen Sensoren speisen und anderswohin verschieben können, ohne jemanden um Erlaubnis zu fragen.

Ein Vertrag, zwei Protokolle

Die API wird einmal als Protocol Buffers-Vertrag definiert und mit Connect-RPC bereitgestellt. Das bedeutet, jeder Endpunkt ist auf zwei Wegen erreichbar, von derselben URL:

StilAm besten geeignet fürSeite
HTTP + JSON (REST-artig)curl, Skripte, Webhooks, Mikrocontroller, schnelle IntegrationenREST / HTTP + JSON
gRPC / gRPC-Web / Connecttypisierte Clients, Streaming, Synchronisierung mit hohem VolumengRPC

Sie wählen das Protokoll nicht auf dem Server — Sie wählen es pro Anfrage, über die Header, die Sie senden. Nehmen Sie das, was für Ihr Werkzeug einfacher ist.

Basis-URL

Die API wird vom selben Prozess bereitgestellt, der auch die App ausliefert:

  • Gehosteter Dienst: https://app.openbeehive.org
  • Selbst gehostet: Ihr eigener Ursprung, z. B. https://bees.example.com (siehe Self-hosting)

Jede Methode liegt unter einem vorhersehbaren Pfad:

POST <base-url>/openbeehive.v1.<Service>/<Method>

Zum Beispiel: https://app.openbeehive.org/openbeehive.v1.ApiaryService/ListApiaries.

Dienste

Der Vertrag ist in Dienste gegliedert. Jeder bildet einen Teil der Domäne ab, die Sie bereits aus der App kennen:

DienstWas er abdeckt
ApiaryServiceBienenstände anlegen, lesen, aktualisieren, löschen und auflisten
HiveServiceBienenstöcke, einschließlich Umsetzen eines Stocks zwischen Bienenständen
QueenServiceKöniginnen und ihre Weisel-Historie
InspectionServiceDurchsichten / Besuche (inkl. Temperatur & Luftfeuchtigkeit), Upload-URLs für Fotos
TreatmentServiceBehandlungen / das Bestandsbuch (Produkt, Charge, Dosis, Wartezeit)
TaskServiceAufgaben und Erinnerungen
EventServiceDer reine Anfüge-Ereignis- / Verlaufsfeed
StatsServiceDashboard-Summen und Honigstatistiken
SyncServicePull, Push und ein streamendes Subscribe — die Offline-First-Synchronisierungs-Engine

:::note Implementierungsstatus (v0.1.0) ApiaryService und SyncService sind heute serverseitig vollständig angebunden. Die übrigen Dienste sind im Vertrag definiert und folgen derselben Struktur; sie werden gerade ausgearbeitet. Prüfen Sie den Vertrag für die aktuelle Quelle der Wahrheit und die Release Notes dafür, was bereits live ist. :::

Authentifizierung

  • Selbst gehostet, einzelner Benutzer: Wenn kein Login konfiguriert ist, ist die API für die Instanz offen (Sie sind der einzige Benutzer). Das ist die einfachste Einrichtung für Heimserver und Skripte. Siehe Authentication.
  • Mit aktiviertem Login / dem gehosteten Dienst: Anfragen führen eine Sitzung mit sich, die über OIDC oder einen Passkey eingerichtet wurde. Senden Sie sie als Bearer-Token: Authorization: Bearer <token>. Programmatische API-Tokens für unbeaufsichtigte Clients (Skripte, Sensoren) stehen auf der Roadmap — bis dahin ist Self-Hosting im Einzelbenutzer-Modus der reibungslose Weg für Automatisierung.

Wie die App selbst sie nutzt

Die App ist Offline-First: Sie schreibt zuerst in eine lokale Datenbank, und die Synchronisierungs-Engine gleicht über SyncService.Push / Pull mit dem Server ab. Die CRUD-Dienste (ApiaryService, InspectionService, …) sind die serverautoritativen Einstiegspunkte für direkte Integrationen, Export und Automatisierung. Beide Sichten liegen auf denselben Daten — siehe Offline & sync und die Entwickler-Architektur.

Was Sie bauen können

  • Ziehen Sie Ihre Daten in eine Tabellenkalkulation, ein Notebook oder ein BI-Dashboard.
  • Skripten Sie Massenbearbeitungen oder Migrationen aus einem anderen Imkereiwerkzeug.
  • Speisen Sie Messwerte aus automatisierten Trackern — Stockwaagen, Temperatur- und Luftfeuchtigkeitssensoren — direkt in Durchsichten ein. Siehe Automatisierte Tracker.
  • Bauen Sie Ihren eigenen Client, Bot oder Mobil-Widget gegen einen stabilen, typisierten Vertrag.

Bereit für die Details? Beginnen Sie mit REST / HTTP + JSON.