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. :::

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: Die abgerufenen Daten werden in die ausgewählte Konfiguration eingefügt. Vorhandene Artikel mit übereinstimmenden Nummern werden aktualisiert, neue Artikelnummern werden hinzugefügt und Zahlungsarten werden aus der Antwort aktualisiert.