Zum Inhalt springen
TID Packstationen

TID Packstationen

Einführung

Das Packstationen Plugin erweitert den Shopware Storefront um Lieferungen an DHL Packstationen und Postfilialen. Kunden können bei der Registrierung, im Checkout und in der Adressverwaltung zwischen einer normalen Lieferadresse und einem DHL-Abholort wählen.

Ein responsiver Finder stellt die verfügbaren Abholorte als Liste und Karte dar. Gesucht werden kann über eine Adresse, Postleitzahl oder Stadt. Nach der Auswahl überträgt das Plugin den DHL-Abholort im erwarteten Adressformat in die Shopware Lieferadresse.

Funktionsweise

Die Packstation-Auswahl wird in die vorhandene Adressverwaltung von Shopware integriert:

  • Auswahl zwischen Adresse und Postfiliale oder Packstation
  • Suche nach Packstationen und Postfilialen über die DHL Location Finder API
  • Darstellung der Ergebnisse als Liste und Karte
  • Anzeige von Entfernung, Öffnungszeiten und Barrierefreiheit, sofern DHL diese Daten liefert
  • Übernahme des ausgewählten Abholorts in die Lieferadresse
  • Speicherung der Postnummer für eine spätere Wiederverwendung

Die DHL-Suche wird durch den Shop-Server ausgeführt. Der konfigurierte DHL API Key wird deshalb nicht an den Browser des Kunden übertragen.

Packstationen und Postfilialen können ausschließlich als Lieferadresse verwendet werden. Sie können weder als Standard-Rechnungsadresse ausgewählt noch aus einer vorhandenen Standard-Rechnungsadresse erstellt werden.

Voraussetzungen

VoraussetzungBeschreibung
ShopwareUnterstützt werden Shopware 6.6 und 6.7.
PHPErforderlich ist PHP 8.2 oder neuer.
DHL API KeyErforderlich für Suchen über die DHL Location Finder API.
LocationIQ API KeyOptional für die rote Markierung der gesuchten Kundenposition auf der Karte.

Installation und Update

Das Plugin wird über den für den Shop vorgesehenen Deployment-Prozess mit dem technischen Namen TidPackstationen installiert.

Was nach der Installation gemacht werden sollte:

  1. DHL Entwicklerkonto erstellen: Im DHL API Developer Portal registrieren und die E-Mail-Adresse bestätigen.
  2. Zugriff auf den Location Finder beantragen: Unter My Apps eine Developer App anlegen, die Location Finder - Unified API hinzufügen und gegebenenfalls die Freigabe durch DHL abwarten. Die App ist verwendbar, sobald sie als Approved angezeigt wird.
  3. DHL API Key übernehmen: In My Apps die App und anschließend unter Credentials die Location Finder API öffnen. Über Show den Consumer Key anzeigen und diesen Wert in der Plugin-Konfiguration unter DHL API Key eintragen. Danach speichern und den DHL-Verbindungstest ausführen.
  4. LocationIQ Access Token einrichten (optional): Bei LocationIQ ein Konto erstellen und bestätigen. Im Dashboard unter API Access Tokens den vorhandenen Access Token über Show Token anzeigen oder einen neuen Access Token erstellen. Diesen Wert unter LocationIQ API Key eintragen, speichern und den LocationIQ-Verbindungstest ausführen.
  5. Plugin-Einstellungen abschließen: Suchradius, Ergebnislimit, Suchlimit und Postnummer-Regel passend zum Shop konfigurieren. Wird LocationIQ verwendet, muss LocationIQ-Anfragen pro Sekunde zum gebuchten LocationIQ-Tarif passen.

LocationIQ bezeichnet den benötigten Schlüssel offiziell als Access Token. Ein separater Reverse-Search-Token wird nicht benötigt; das Plugin verwendet den Access Token für die Suche nach den Koordinaten der eingegebenen Postleitzahl oder Stadt.

Konfiguration

Die Konfiguration kann pro Verkaufskanal vorgenommen werden.

DHL Packstationen

EinstellungBeschreibung
DHL API KeyZugangsschlüssel für die DHL Location Finder API. Der Schlüssel muss vor dem Verbindungstest gespeichert werden.
SandboxVerwendet die DHL-Testumgebung statt der Produktivumgebung. Standardmäßig deaktiviert.
Suchradius (km)Umkreis für die DHL-Suche. Möglich sind 1 bis 25 km, Standardwert ist 10 km.
DHL API LimitMaximale Anzahl der dargestellten DHL-Abholorte. Standardwert ist 20, technisch werden höchstens 50 Ergebnisse verwendet.
Suchlimit (pro 20 Sekunden)Maximale Anzahl akzeptierter DHL-Suchen pro IP-Adresse innerhalb von 20 Sekunden. Möglich sind 2 bis 30, Standardwert ist 5.
Postnummer-RegelLegt fest, bei welchen DHL-Abholorten die Postnummer erforderlich ist.

Warning

Bei aktivierter Sandbox müssen DHL-Sandbox-Zugangsdaten verwendet werden. Produktive Zugangsdaten funktionieren nur bei deaktivierter Sandbox.

Fehler der DHL API werden protokolliert und als kontrollierte Fehlermeldung im Storefront ausgegeben. Nach zu vielen Suchanfragen muss das konfigurierte 20-Sekunden-Zeitfenster abgewartet werden.

Optionale Kartenerweiterung mit LocationIQ

LocationIQ ermittelt die Koordinaten der vom Kunden eingegebenen Postleitzahl oder Stadt. Dadurch kann die gesuchte Position als separate rote Markierung auf der Karte angezeigt werden.

LocationIQ wird nicht für die DHL-Suche oder die von DHL gelieferten Entfernungsangaben benötigt. Schlägt eine LocationIQ-Anfrage fehl, werden die DHL-Ergebnisse weiterhin ohne zusätzliche Positionsmarkierung dargestellt.

EinstellungBeschreibung
LocationIQ API KeyOptionaler Zugangsschlüssel für die Geokodierung der eingegebenen Kundenposition.
LocationIQ-VerbindungPrüft den zuvor gespeicherten LocationIQ API Key.
LocationIQ-Anfragen pro SekundeAnfragelimit passend zum verwendeten LocationIQ-Tarif. Möglich sind 1 bis 40, Standardwert ist 2.

Das LocationIQ-Limit gilt gemeinsam für den konfigurierten API Key und nicht einzeln pro Besucher.

Postnummer-Regel

Die DHL-Postnummer wird im Kunden-Custom-Field dhl_customer_number gespeichert und bei späteren Adressformularen wiederverwendet. Eine Postnummer besteht immer aus genau 10 Ziffern.

EinstellungBeschreibung
OptionalDie Postnummer kann leer bleiben. Ein angegebener Wert muss immer aus genau 10 Ziffern bestehen.
Für Packstationen erforderlichDie Postnummer ist nur bei einer Packstation verpflichtend und bei einer Postfiliale optional.
Immer erforderlichDie Postnummer ist für alle vom Plugin angebotenen DHL-Abholorte verpflichtend.

Die Validierung erfolgt im Storefront und zusätzlich serverseitig bei der Registrierung und Adressverwaltung.

Anwendung

Der Kunde wählt im Lieferadressformular Postfiliale oder Packstation statt Adresse aus. Anschließend wird:

  1. Eine Adresse, Postleitzahl oder Stadt eingegeben.
  2. Die Suche nach verfügbaren DHL-Abholorten gestartet.
  3. Ein Ergebnis in der Liste oder auf der Karte ausgewählt.
  4. Die Packstation oder Postfiliale in das Lieferadressformular übernommen.
  5. Falls erforderlich, die persönliche DHL-Postnummer eingetragen.

Die Suche verwendet das aktive Lieferland des Kunden. Welche Abholort-Typen in einem Land verfügbar sind, richtet sich nach der Antwort der DHL API.

Gespeichertes Adressformat

Der Typ und die Nummer des DHL-Abholorts werden im normalen Shopware Straßenfeld gespeichert:

Packstation 123
Postfiliale 45

Postleitzahl, Stadt, Land und Empfänger werden in den zugehörigen Shopware Adressfeldern gespeichert.

Warning

Packstationen und Postfilialen sind immer Lieferadressen. Dass diese Adressen nicht als Rechnungsadresse ausgewählt werden können, ist beabsichtigt und wird zusätzlich über die Shopware Store API abgesichert.

Datenschutz und Einwilligung

Die Kartenbibliothek Leaflet ist im Plugin enthalten und wird lokal ausgeliefert. Die eigentlichen Kartenkacheln werden jedoch durch den Browser des Besuchers von tile.openstreetmap.org geladen. Dabei werden übliche Verbindungsdaten wie die IP-Adresse an den Kartenserver übertragen.

Die Option Einwilligung für den Packstation-Finder voraussetzen ist standardmäßig deaktiviert.

Bei deaktivierter Option wird:

  • Kein zusätzlicher Packstation-Eintrag in Shopwares Cookie-Verwaltung angelegt
  • Der Packstation-Finder ohne Einwilligungsprüfung angeboten
  • Die OpenStreetMap-Karte beim Öffnen initialisiert

Bei aktivierter Option wird:

  • Der Packstation-Finder bis zur Einwilligung ausgeblendet
  • Keine Karte vor der Einwilligung initialisiert
  • Bei Ablehnung oder Widerruf zu einer normalen Lieferadresse zurückgewechselt
  • Eine bereits geöffnete Karte geschlossen

Die normale Lieferadressfunktion bleibt auch ohne Einwilligung verfügbar.

Shopware Cookie-Verwaltung

Bei aktivierter Einwilligungsoption fügt das Plugin automatisch folgenden Eintrag zu Shopwares Cookie-Verwaltung hinzu:

ElementWert
GruppePackstation-Finder
EintragOpenStreetMap-Karte
Einwilligungs-Cookietid-packstation-consent
Akzeptierter Wert1
Gültigkeit30 Tage

Bei Verwendung der nativen Shopware Cookie-Verwaltung ist keine weitere Einrichtung erforderlich. Das Cookie tid-packstation-consent speichert ausschließlich die lokale Einwilligungsentscheidung des Plugins und ist kein OpenStreetMap-Cookie.

Usercentrics

Warning

Das Shopware Plugin kann keinen Datenverarbeitungsdienst im externen Usercentrics-Konto anlegen. Wenn Usercentrics die Einwilligung steuern soll, muss OpenStreetMap manuell im Usercentrics Admin Interface eingerichtet und veröffentlicht werden.

Die manuelle Einrichtung ist erforderlich, wenn:

  • Der Shop Usercentrics verwendet
  • Die Option Einwilligung für den Packstation-Finder voraussetzen aktiviert ist
  • Usercentrics die OpenStreetMap-Einwilligung steuern soll

Dafür wird:

  1. Das Usercentrics Admin Interface geöffnet.
  2. Ein Datenverarbeitungsdienst für OpenStreetMap hinzugefügt oder erstellt.
  3. Die Template ID aus den Einstellungen des Dienstes kopiert.
  4. In Shopware die Konfiguration des TID Packstationen Plugins geöffnet.
  5. Die ID in Usercentrics-Template-ID oder Dienstname eingefügt und gespeichert.
  6. Die geänderte Usercentrics-Konfiguration veröffentlicht.
  7. Der Storefront einmal mit erteilter und einmal mit abgelehnter Einwilligung getestet.

Der exakte Dienstname kann alternativ verwendet werden. Die Template ID wird empfohlen, da sie bei einer Umbenennung oder Übersetzung des sichtbaren Dienstnamens stabil bleibt.

Sobald Usercentrics erkannt wurde, ist dessen Entscheidung maßgeblich. Kann der konfigurierte Bezeichner keinem Dienst zugeordnet werden, behandelt das Plugin die Einwilligung als nicht erteilt und blendet den Packstation-Finder aus.

Externe Datenflüsse

DienstVerbindungÜbertragene Daten
DHL Location FinderShop-Server zu DHLLieferland und eingegebener Suchort. Der DHL API Key verbleibt auf dem Shop-Server.
LocationIQShop-Server zu LocationIQEingegebene Postleitzahl oder Stadt. Der LocationIQ API Key verbleibt auf dem Shop-Server.
OpenStreetMapBrowser des Besuchers zu OpenStreetMapKartenkachel-Anfragen mit üblichen Verbindungsdaten wie der IP-Adresse.

Warning

Die Einwilligungsoption stellt eine technische Sperre bereit. Die rechtliche Bewertung und die Formulierung der Datenschutzerklärung bleiben Aufgabe des Shopbetreibers.

Rule Builder

Das Plugin fügt die Shopware Bedingung Lieferadresse ist ein DHL-Abholort hinzu. Die Bedingung erkennt Lieferadressen, deren Straßenfeld mit Packstation oder Postfiliale beginnt.

Damit kann zum Beispiel:

  • Eine Versandart nur für DHL-Abholorte angeboten werden
  • Eine Versandart für Packstationen und Postfilialen ausgeschlossen werden
  • Eine vorhandene Versandregel um DHL-Abholorte ergänzt werden

Die konkrete Wirkung richtet sich nach der Versand- und Regelkonfiguration des Shops.

Packstation Insights

Unterhalb der Bestellungen stellt die Administration den Bereich Packstation Insights bereit. Für den Zugriff ist die Berechtigung order.viewer erforderlich.

Die Auswertung enthält:

  • Gesamte Suchen sowie Suchen für heute, diese Woche und diesen Monat
  • Vergleiche mit dem Vortag sowie dem vorherigen Wochen- und Monatszeitraum
  • Anteil der Suchen mit mindestens einem Ergebnis
  • Anzahl der Bestellungen an Packstationen und Postfilialen
  • Aktivster Verkaufskanal
  • Aufgetretene Suchlimit-Ereignisse
  • Tagesdiagramm mit normalen Bestellungen und DHL-Abholort-Bestellungen für 7, 14 oder 30 Tage
  • Such- und sortierbare Bestelltabelle mit Empfänger, Abholort, Ziel, Status und Verkaufskanal
  • Filter nach Verkaufskanal und Zeitraum

Für die Suchauswertung speichert das Plugin das Datum, die Verkaufskanal-ID sowie Zähler für Suchen, erfolgreiche Suchen und Suchlimit-Ereignisse. Der eingegebene Suchtext und die IP-Adresse des Besuchers werden nicht in der Analytics-Tabelle gespeichert.

Die Bestellübersicht verwendet die bereits vorhandenen Shopware Bestell- und Lieferadressen. Es wird keine zweite Kopie der Bestellungen angelegt.

Warning

Für die Suchauswertung ist keine automatische Aufbewahrungs- oder Löschfrist konfiguriert. Falls eine begrenzte Aufbewahrung erforderlich ist, muss diese durch den Shopbetreiber umgesetzt werden.

Plugin-Daten und Deinstallation

Das Plugin erstellt und verwendet folgende Daten:

ElementBeschreibung
dhl_customer_numberKunden-Custom-Field für die wiederverwendbare DHL-Postnummer.
packstationen_custom_fieldsCustom-Field-Set des Plugins.
tid_packstation_search_dailyTabelle für die täglichen Such- und Suchlimit-Zähler der Packstation Insights.
tid_packstationen<environment>.logRotierendes Plugin-Log mit maximal 10 Dateien.

Bei der Deinstallation werden das Custom-Field-Set und die Analytics-Tabelle nur entfernt, wenn in Shopware nicht die Option zum Beibehalten der Plugin-Daten gewählt wurde.

Fehlerbehebung

Warum ist der Packstation-Finder nicht sichtbar?
  • Prüfen, ob die Einwilligung für den Packstation-Finder aktiviert ist
  • Bei Shopware Cookies prüfen, ob Packstation-Finder / OpenStreetMap-Karte akzeptiert wurde
  • Bei Usercentrics prüfen, ob der OpenStreetMap-Dienst angelegt und veröffentlicht wurde
  • Prüfen, ob die konfigurierte Template ID mit dem Usercentrics-Dienst übereinstimmt
  • Bei abgelehnter Einwilligung ist das Ausblenden des Finders beabsichtigt
Warum liefert die DHL-Suche keine Ergebnisse?
  • Den DHL API Key speichern und über den Verbindungstest prüfen
  • Prüfen, ob Sandbox und verwendete DHL-Zugangsdaten zur selben Umgebung gehören
  • Das aktive Lieferland, den Suchbegriff und den Suchradius prüfen
  • Nach einer Suchlimit-Meldung das 20-Sekunden-Zeitfenster abwarten
  • Die Plugin-Logs auf eine kontrollierte DHL-Fehlermeldung prüfen
Warum zeigt die Karte keine rote Positionsmarkierung?

Ohne konfigurierten LocationIQ API Key ist dieses Verhalten normal. Die DHL-Abholorte und deren Entfernungsangaben funktionieren weiterhin.

Wenn LocationIQ verwendet wird:

  • Den LocationIQ API Key speichern und über den Verbindungstest prüfen
  • Das konfigurierte Sekundenlimit mit dem verwendeten LocationIQ-Tarif vergleichen
Warum sind Änderungen nach einem Update nicht sichtbar?
  • Administration und Storefront neu bauen, sofern erforderlich
  • Das aktive Theme kompilieren
  • Shopware- und Anwendungscaches nach dem verwendeten Deployment-Prozess leeren
Warum kann eine Packstation nicht als Rechnungsadresse ausgewählt werden?

Dieses Verhalten ist beabsichtigt. Packstationen und Postfilialen werden ausschließlich als Lieferadressen unterstützt.