Documentation

ShopBite Plugin Konfiguration

Nach der Installation des ShopBite Plugins müssen Sie es konfigurieren, um die gastronomie-spezifischen Funktionen zu aktivieren und an Ihre Anforderungen anzupassen.

Grundkonfiguration

1. Plugin aktivieren

  1. Shopware Administration öffnen
  2. Erweiterungen > Meine Erweiterungen navigieren
  3. ShopBite Plugin finden
  4. Aktivieren klicken

2. Basis-Einstellungen

Navigieren Sie zu ShopBite > Einstellungen in der Administration:

Allgemeine Einstellungen

  • Plugin aktivieren: Hauptschalter für alle ShopBite-Funktionen
  • API-Zugang aktivieren: Ermöglicht der Storefront den Zugriff auf ShopBite-APIs
  • Debug-Modus: Aktiviert detaillierte Protokollierung (nur für Entwicklung)
  • Sales Channel-Auswahl: Wählen Sie die Vertriebskanäle, für die ShopBite aktiv sein soll

Storefront-Einstellungen

  • Storefront-URL: Die URL Ihrer ShopBite Storefront (z.B. https://Ihre-Storefront.de)
  • API-Zugangsschlüssel: Der Schlüssel für die Storefront-API-Kommunikation
  • CORS-Origin: Die erlaubten Domains für CORS (z.B. https://Ihre-Storefront.de)
  • API-Timeout: Maximale Wartezeit für API-Anfragen (Standard: 30 Sekunden)

Geschäftszeitenverwaltung

1. Geschäftszeiten einrichten

  1. ShopBite > Geschäftszeiten navigieren
  2. Neue Geschäftszeit hinzufügen klicken
  3. Folgende Felder konfigurieren:

Geschäftszeiten-Felder

FeldBeschreibungBeispiel
Sales ChannelVertriebskanal auswählen"Mein Restaurant"
WochentagTag der Woche (0=Sonntag, 1=Montag, etc.)1 (Montag)
ÖffnungszeitÖffnungszeit im Format HH:MM11:00
SchließzeitSchließzeit im Format HH:MM22:00
GeschlossenTag als geschlossen markieren

Beispielkonfiguration

Montag: 11:00 - 22:00
Dienstag: 11:00 - 22:00
Mittwoch: Geschlossen
Donnerstag: 11:00 - 23:00
Freitag: 11:00 - 00:00
Samstag: 12:00 - 00:00
Sonntag: 12:00 - 22:00

2. Sonderöffnungszeiten

Für besondere Anlässe oder saisonale Änderungen:

  1. ShopBite > Geschäftszeiten > Sonderöffnungszeiten navigieren
  2. Neue Sonderöffnungszeit hinzufügen klicken
  3. Folgende Felder konfigurieren:

Sonderöffnungszeiten-Felder

FeldBeschreibungBeispiel
Sales ChannelVertriebskanal auswählen"Mein Restaurant"
DatumDatum der Sonderöffnung24.12.2024
ÖffnungszeitSpezielle Öffnungszeit10:00
SchließzeitSpezielle Schließzeit14:00
BeschreibungOptional Beschreibung"Heiligabend - verkürzte Öffnungszeiten"

3. API-Abfrage

Die Geschäftszeiten können über die Store API abgerufen werden:

# API-Endpunkt
GET /store-api/shopbite/business-hour

# Beispielantwort
{
  "data": [
    {
      "dayOfWeek": 1,
      "openingTime": "11:00",
      "closingTime": "22:00",
      "salesChannelId": "019a36f224b0704fb6835914050392f4"
    },
    {
      "dayOfWeek": 2,
      "openingTime": "11:00",
      "closingTime": "22:00",
      "salesChannelId": "019a36f224b0704fb6835914050392f4"
    }
  ]
}

Feiertagsmanagement

1. Feiertage einrichten

  1. ShopBite > Feiertage navigieren
  2. Neuen Feiertag hinzufügen klicken
  3. Folgende Felder konfigurieren:

Feiertags-Felder

FeldBeschreibungBeispiel
NameName des Feiertags"Weihnachten"
StartdatumBeginn der Schließung24.12.2024 18:00
EnddatumEnde der Schließung26.12.2024 23:59
Sales ChannelVertriebskanal auswählen"Mein Restaurant"
Jährlich wiederholenFeiertag jährlich wiederholen
BeschreibungOptional Beschreibung"Weihnachtsferien"

Beispiel Feiertage

Neujahr: 01.01.2024 00:00 - 01.01.2024 23:59
Karfreitag: 29.03.2024 00:00 - 29.03.2024 23:59
Ostermontag: 01.04.2024 00:00 - 01.04.2024 23:59
Tag der Arbeit: 01.05.2024 00:00 - 01.05.2024 23:59
Weihnachten: 24.12.2024 18:00 - 26.12.2024 23:59

2. Wiederkehrende Feiertage

Für jährlich wiederkehrende Feiertage:

  1. Jährlich wiederholen aktivieren
  2. Monat und Tag auswählen
  3. Name eingeben (z.B. "Weihnachten")
  4. Zeitraum definieren (z.B. 24.12. - 26.12.)

3. API-Abfrage

Feiertage können über die Store API abgerufen werden:

# API-Endpunkt
GET /store-api/shopbite/holiday

# Beispielantwort
{
  "data": [
    {
      "id": "019a36f224b0704fb6835914050392f4",
      "start": "2024-12-24T18:00:00+01:00",
      "end": "2024-12-26T23:59:00+01:00",
      "salesChannelId": "019a36f224b0704fb6835914050392f4",
      "name": "Weihnachten",
      "description": "Weihnachtsferien"
    }
  ]
}

Checkout-Erweiterungen

1. Bestelltypen

ShopBite unterstützt verschiedene Bestelltypen:

  • Abholung: Kunden holen die Bestellung selbst ab
  • Lieferung: Bestellung wird geliefert
  • Vor Ort: Bestellung für den sofortigen Verzehr vor Ort

Konfigurieren Sie die verfügbaren Bestelltypen unter ShopBite > Checkout > Bestelltypen

2. Zeitfenster für Bestellungen

Legen Sie fest, wie weit im Voraus Bestellungen aufgegeben werden können:

  • Mindestvorlaufzeit: 15 Minuten (Standard)
  • Maximale Vorlaufzeit: 7 Tage (Standard)
  • Zeitfenster-Intervall: 15 Minuten (Standard)

3. Bon-Drucktypen

Das Plugin unterstützt verschiedene Bon-Drucktypen für Produkte:

  1. Custom Fields konfigurieren:
    • Navigieren Sie zu Einstellungen > Custom Fields
    • Wählen Sie ShopBite Produkt Set
    • Konfigurieren Sie Bon-Drucktyp für Produkte
  2. Drucktypen:
    • Standard: Normaler Bon-Druck
    • Küche: Küchenbon für Zubereitung
    • Bar: Barbon für Getränke
    • Kein Druck: Kein Bon-Druck erforderlich

4. Lieferzeitfaktoren

Konfigurieren Sie Lieferzeitfaktoren für Produkte:

  • Standard-Lieferzeit: 30 Minuten (konfigurierbar)
  • Produktspezifische Faktoren: Multiplikator für die Standardzeit
  • Beispiel: Pizza (Faktor 2) = 60 Minuten Lieferzeit

API-Konfiguration

1. API-Zugang einrichten

  1. Einstellungen > System > Integrationen navigieren
  2. Integration hinzufügen klicken
  3. Folgende Einstellungen konfigurieren:

API-Integrationseinstellungen

FeldWertBeschreibung
NameShopBite StorefrontName der Integration
BeschreibungAPI-Zugang für ShopBiteBeschreibung
Berechtigungenorder:read, order:write, product:readErforderliche API-Berechtigungen
ZugangstypAdmin-IntegrationVollständiger API-Zugriff

2. Webhooks einrichten

Für Echtzeit-Updates:

  1. Einstellungen > System > Webhooks navigieren
  2. Webhook hinzufügen klicken
  3. Folgende Webhooks konfigurieren:

Empfohlene Webhooks

EreignisURLBeschreibung
order.state.changedhttps://Ihre-Storefront.de/api/webhooks/order-statusBestellstatus-Änderungen
order.createdhttps://Ihre-Storefront.de/api/webhooks/order-createdNeue Bestellungen
product.changedhttps://Ihre-Storefront.de/api/webhooks/product-changedProduktänderungen

3. CORS-Konfiguration

Konfigurieren Sie CORS für die Storefront:

# In .env oder Konfiguration
SHOPWARE_CORS_ALLOW_ORIGIN="https://Ihre-Storefront.de"
SHOPWARE_CORS_ALLOW_METHODS="GET, POST, PUT, DELETE, OPTIONS"
SHOPWARE_CORS_ALLOW_HEADERS="Authorization, Content-Type, sw-access-key"

Erweiterte Einstellungen

1. Leistungsoptimierung

  • Cache-TTL: 3600 Sekunden (Standard)
  • API-Rate-Limiting: 100 Anfragen pro Minute (Standard)
  • Datenbank-Index-Optimierung: Aktiviert (empfohlen)

2. Protokollierung

  • Protokollstufe: Info (Standard), Debug (für Entwicklung)
  • Protokollrotation: Täglich (Standard)
  • Maximale Protokollgröße: 100MB (Standard)

3. Datenbank-Optimierung

-- Indizes für ShopBite-Tabellen
ALTER TABLE `shopbite_business_hour` ADD INDEX `idx_sales_channel` (`sales_channel_id`);
ALTER TABLE `shopbite_holiday` ADD INDEX `idx_sales_channel` (`sales_channel_id`);

-- Optimierung für häufige Abfragen
ALTER TABLE `shopbite_business_hour` ADD INDEX `idx_day_of_week` (`day_of_week`);
ALTER TABLE `shopbite_holiday` ADD INDEX `idx_date_range` (`start`, `end`);

Problembehandlung

Häufige Probleme

Problem: API-Verbindung fehlgeschlagen

Symptome:

  • "Connection refused" Fehler
  • API-Endpunkte nicht erreichbar

Lösungen:

# API-Zugangsdaten prüfen
bin/console integration:list

# CORS-Einstellungen prüfen
bin/console config:get Shopware.Core.SystemConfig.corsAllowOrigin

# Firewall-Einstellungen prüfen
sudo ufw status

Problem: Geschäftszeiten werden nicht angezeigt

Symptome:

  • API liefert leere Ergebnisse
  • Geschäftszeiten nicht sichtbar

Lösungen:

# Cache leeren
bin/console cache:clear

# Datenbank prüfen
mysql -u shopware -p shopware -e "SELECT * FROM shopbite_business_hour;"

# Sales Channel-ID prüfen
bin/console sales-channel:list

Problem: Feiertage werden nicht berücksichtigt

Symptome:

  • Bestellungen an Feiertagen möglich
  • Feiertage nicht in API sichtbar

Lösungen:

# Feiertagsdaten prüfen
mysql -u shopware -p shopware -e "SELECT * FROM shopbite_holiday;"

# Zeitformat prüfen
bin/console database:check-timezone

# API-Abfrage testen
curl -X GET "https://Ihre-Domain.de/store-api/shopbite/holiday" -H "Authorization: Bearer IhrToken"

Problem: Checkout-Erweiterungen funktionieren nicht

Symptome:

  • Bon-Drucktypen werden ignoriert
  • Lieferzeitberechnung falsch

Lösungen:

# Custom Fields prüfen
bin/console custom-field:set:list

# Plugin-Cache leeren
bin/console plugin:refresh ShopBite

# Checkout-Prozessor prüfen
bin/console debug:container --tag=shopware.checkout.cart.processor

Nächste Schritte