Zum Inhalt

Änderungsbenachrichtigungen über GraphQL API

Gen. 24 Enterprise

GraphQL und Subscriptions: Wie bekomme ich Änderungsbenachrichtigungen über die GraphQL API?

Eine Frage, die uns häufig in Zusammenhang mit der GraphQL API erreicht hat: Wie lassen sich Änderungen an Datensätzen nachvollziehen, insbesondere im Hinblick auf Subscriptions oder WebHooks. Auf dieser Seite erfahren Sie, wie dieses Szenario sauber umgesetzt werden kann.

Gibt es Subscriptions oder WebHooks in der GraphQL API?

  • Keine Subscriptions/WebHooks: Die GraphQL API bietet derzeit keine Subscriptions oder WebHooks. Es gibt somit keine Möglichkeit, sich direkt benachrichtigen zu lassen, wenn sich ein Datensatz ändert.

  • Alternative Lösung: Eine Änderungsprotokollierung lässt sich über eine separate Freie Tabelle nutzen, die gezielt für diesen Zweck konfiguriert wird.

Technisches Konzept: Änderungsprotokollierung

  • Freie Datenbanktabelle: Änderungen an relevanten Feldern (z.B. Name, Preis, Bezeichnung) werden in einer eigenen Tabelle protokolliert. Diese Tabelle kann individuell konfiguriert werden, um nur die gewünschten Felder und Events (z.B. Änderung oder Löschungen) zu erfassen.

  • Granularität: Sie können selbst festlegen, für welche Datenbereiche und Felder eine Änderungshistorie geführt werden soll.

  • Abfrage über GraphQL: Die Änderungsprotokoll-Tabelle kann über die GraphQL API abgefragt werden, um alle relevanten Änderungen auszulesen.

  • Synchronisation über Zeitstempel: Sie müssen sich lediglich das Datum des letzten Abgleichs merken und können ab diesem Zeitpunkt alle seitdem protokollierten Änderungen über die Änderungsprotokoll-Tabelle in Ihrem System nachverfolgen und übernehmen.

Vorteile der Lösung über eine Änderungsprotokollierung

  • Flexibilität: Sie bestimmen selbst, welche Änderungen protokolliert werden und wie granular die Historie sein soll.

  • Unabhängigkeit vom Push-Prinzip: Sie sind nicht auf Echtzeit-Benachrichtigungen angewiesen, sondern können Änderungen abrufen, wann immer es für Ihr System sinnvoll ist.

  • Transparenz: Die Änderungshistorie ist für alle Nutzer im Programm einsehbar und kann auch über die GraphQL API abgefragt werden.

Zusammenfassend

Die GraphQL API bietet keine Subscriptions oder WebHooks, aber mit einer individuell konfigurierbaren Änderungsprotokollierung steht eine flexible und technisch saubere Lösung zur Verfügung, um Änderungen effizient und nachvollziehbar zu erfassen und auszulesen.