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
- Shopware Administration öffnen
- Erweiterungen > Meine Erweiterungen navigieren
- ShopBite Plugin finden
- 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
- ShopBite > Geschäftszeiten navigieren
- Neue Geschäftszeit hinzufügen klicken
- Folgende Felder konfigurieren:
Geschäftszeiten-Felder
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Sales Channel | Vertriebskanal auswählen | "Mein Restaurant" |
| Wochentag | Tag der Woche (0=Sonntag, 1=Montag, etc.) | 1 (Montag) |
| Öffnungszeit | Öffnungszeit im Format HH:MM | 11:00 |
| Schließzeit | Schließzeit im Format HH:MM | 22:00 |
| Geschlossen | Tag 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:
- ShopBite > Geschäftszeiten > Sonderöffnungszeiten navigieren
- Neue Sonderöffnungszeit hinzufügen klicken
- Folgende Felder konfigurieren:
Sonderöffnungszeiten-Felder
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Sales Channel | Vertriebskanal auswählen | "Mein Restaurant" |
| Datum | Datum der Sonderöffnung | 24.12.2024 |
| Öffnungszeit | Spezielle Öffnungszeit | 10:00 |
| Schließzeit | Spezielle Schließzeit | 14:00 |
| Beschreibung | Optional 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
- ShopBite > Feiertage navigieren
- Neuen Feiertag hinzufügen klicken
- Folgende Felder konfigurieren:
Feiertags-Felder
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Name | Name des Feiertags | "Weihnachten" |
| Startdatum | Beginn der Schließung | 24.12.2024 18:00 |
| Enddatum | Ende der Schließung | 26.12.2024 23:59 |
| Sales Channel | Vertriebskanal auswählen | "Mein Restaurant" |
| Jährlich wiederholen | Feiertag jährlich wiederholen | ✓ |
| Beschreibung | Optional 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:
- Jährlich wiederholen aktivieren
- Monat und Tag auswählen
- Name eingeben (z.B. "Weihnachten")
- 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:
- Custom Fields konfigurieren:
- Navigieren Sie zu Einstellungen > Custom Fields
- Wählen Sie ShopBite Produkt Set
- Konfigurieren Sie Bon-Drucktyp für Produkte
- 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
5. Lieferzeiten in Minuten
Die Shopware-eigenen Lieferzeiten (Einstellungen > Shop > Lieferzeiten) bieten als Einheit nur Stunden, Tage, Wochen, Monate und Jahre an. Das ShopBite Plugin ergänzt die Einheit Minute, damit Versandarten und Produkte realistische Lieferzeiten für die Gastronomie wie „30–45 Min." tragen können.
- Navigieren Sie zu Einstellungen > Shop > Lieferzeiten
- Klicken Sie auf Lieferzeit hinzufügen (oder öffnen Sie eine bestehende)
- Wählen Sie Minute als Einheit und tragen Sie Minimum und Maximum ein, z. B.
30und45 - Weisen Sie die Lieferzeit einer Versandart (Einstellungen > Shop > Versand) oder einzelnen Produkten (Produkt > Lieferbarkeit) zu
Die Einheit wird unverändert über die Store API ausgeliefert (deliveryTime.unit = "minute"), sodass die Storefront sie wie konfiguriert anzeigen kann.
Hinweise zur Warenkorbberechnung
Shopware berechnet das voraussichtliche Lieferdatum des Warenkorbs tagesgenau. Für diese Berechnung werden minutenbasierte Lieferzeiten intern auf die nächste volle Stunde aufgerundet (z. B. 45 Min. → 1 Stunde, 90 Min. → 2 Stunden). Die konfigurierten Werte an der Lieferzeit, an den Produkten und in der Store API bleiben davon unberührt.
API-Konfiguration
1. API-Zugang einrichten
- Einstellungen > System > Integrationen navigieren
- Integration hinzufügen klicken
- Folgende Einstellungen konfigurieren:
API-Integrationseinstellungen
| Feld | Wert | Beschreibung |
|---|---|---|
| Name | ShopBite Storefront | Name der Integration |
| Beschreibung | API-Zugang für ShopBite | Beschreibung |
| Berechtigungen | order:read, order:write, product:read | Erforderliche API-Berechtigungen |
| Zugangstyp | Admin-Integration | Vollständiger API-Zugriff |
2. Webhooks einrichten
Für Echtzeit-Updates:
- Einstellungen > System > Webhooks navigieren
- Webhook hinzufügen klicken
- Folgende Webhooks konfigurieren:
Empfohlene Webhooks
| Ereignis | URL | Beschreibung |
|---|---|---|
order.state.changed | https://Ihre-Storefront.de/api/webhooks/order-status | Bestellstatus-Änderungen |
order.created | https://Ihre-Storefront.de/api/webhooks/order-created | Neue Bestellungen |
product.changed | https://Ihre-Storefront.de/api/webhooks/product-changed | Produktä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
- Geschäftszeiten Management - Detaillierte Geschäftszeiten-Konfiguration
- Feiertagsmanagement - Erweiterte Feiertagsverwaltung
- Administrationsoberfläche - Bedienung der Plugin-Oberfläche
- API-Referenz - Technische API-Dokumentation