Skip to content

Abrufprozess für Artikellisten ​

Der Artikellisten-Editor kann die aktuelle Artikelliste von einer Restaurantkasse anfordern. Dies ist ein asynchroner Prozess: Der Browser fordert das Backend auf, einen Abrufbefehl zu erstellen, die Restaurantintegration verarbeitet diesen Befehl und das Backend führt die Antwort in die ausgewählte Konfiguration zusammen.

::: note Verwendung: Admin → Artikellisten-Editor → Konfiguration abrufen. :::

Modus und Ergebnis ​

Wählen Sie Aktualisieren für Ergänzungen/Änderungen oder Ersetzen für die Übernahme als Artikelliste. Sichern Sie vorher eine Konfigurationsversion. Ersetzen verlangt Bestätigung und kann Artikel entfernen.

Wählen Sie den Quellstandort und starten Sie den Abruf. Ein eingereihter Befehl bestätigt noch keine Menüantwort. Prüfen Sie den Ablauf unter Nachrichten, danach Zusammenfassung und betroffene Menüseiten. Prüfen Sie bei Fehlern API-Schlüssel und Kassenverbindung vor einer Wiederholung.

Prozess ​

  1. Wählen Sie den Restaurantstandort in der Komponente Konfiguration abrufen aus.
  2. Klicken Sie auf Konfiguration abrufen.
  3. Das Backend erstellt einen FETCH_REMOTE_MENU-Befehl für diesen Standort und die aktuelle Konfiguration.
  4. Die Restaurantintegration empfängt den Befehl als bestellähnliche Nachricht mit exportMainData auf true gesetzt.
  5. Die Restaurantintegration ruft Stammdaten von der Kasse ab.
  6. Die Integration sendet die abgerufenen JSON-Daten an den Befehlsantwort-Endpunkt des Backends zurück.
  7. Das Backend konvertiert die Antwort in Referenzdaten, führt die Artikel in die ausgewählte Konfiguration zusammen und benachrichtigt offene Sitzungen über die geänderte Konfiguration.

An die Restaurantintegration gesendeter Befehl ​

Der Abrufbefehl wird der Integration als externe Bestellung mit exportMainData auf true gesetzt zur Verfügung gestellt.

json
{
  "number": 12345,
  "orderTime": "12:00:00",
  "state": "PLACED",
  "exportMainData": true
}

Erwartetes Antwortformat ​

Die Integration sollte eine JSON-Antwort mit Stammdaten senden, die items, paymentTypes und optional users und timestamp enthält.

json
{
  "items": [
    {
      "itemNumber": "101",
      "name": "Tomato Soup",
      "numberOfItems": 1,
      "price": 6.5,
      "station": "KITCHEN",
      "displayName": "Tomato soup with basil",
      "itemGroup": 10
    }
  ],
  "paymentTypes": [
    {
      "id": "1",
      "name": "Cash"
    }
  ],
  "users": [
    {
      "number": "1",
      "name": "Service",
      "password": "1234"
    }
  ],
  "timestamp": "2026-05-25T12:00:00"
}

Antwortfelder ​

FeldErforderlichBeschreibung
itemsJaArray von Kassenartikeln.
items[].itemNumberJaKassenartikelnummer. Wird zur internen Artikelnummer.
items[].nameJaArtikelname.
items[].displayNameNeinAnzeigetext von der Kasse. Wird zur internen Artikelbeschreibung.
items[].priceNeinDezimaler Artikelpreis, mit Punkt als Dezimaltrennzeichen.
items[].numberOfItemsNeinMengenfaktor für den Artikel. Standardmäßig 1, wenn nicht angegeben.
items[].stationNeinKassenstation. Wird zur internen Druckergruppe.
items[].itemGroupNeinWird vom Antwortparser akzeptiert, aber derzeit nicht auf den internen Artikel abgebildet.
paymentTypesJaArray von Zahlungsartenobjekten.
paymentTypes[].idJaKassenkennung der Zahlungsart.
paymentTypes[].nameJaName der Zahlungsart. Das Backend speichert Zahlungsarten als name zu id.
usersNeinWird vom Antwortparser akzeptiert. Die aktuelle Artikelzusammenführung verwendet Artikel- und Zahlungsartendaten.
timestampNeinZeitstempel von der Integration.

WARNING

Wichtig: Aktualisieren ändert passende Artikelnummern und ergänzt neue. Ersetzen entfernt zusätzlich nicht gelieferte Artikel und deren Platzierungen auf Menüseiten. Beide Modi aktualisieren Zahlungsarten aus der Antwort.