Skip to content

DHL Parcel Poland Integration

Das DHL-Modul verbindet WooCommerce mit der REST-API von DHL Parcel Poland für die Sendungsverfolgung. Sie tragen die Sendungsnummer an der Bestellung ein, und das Modul holt den aktuellen Status samt Ereignisverlauf von DHL.

Die DHL-Einstellungen gehören zur Versandgruppe der PRO-Einstellungen (Option polski_pro_shipping). Gelesen und geschrieben werden sie über die REST-Route der PRO-Einstellungen, /wp-json/polski-pro/v1/settings, die die Berechtigung manage_woocommerce voraussetzt. Ein eigener Bildschirm für die Versandeinstellungen ist geplant, aber noch nicht ausgeliefert.

EinstellungSchlüsselBeschreibung
DHL aktiviertdhl_enabledSchaltet den DHL-Anbieter ein
DHL-API-Schlüsseldhl_api_keyBearer-Token aus dem DHL WebAPI-Portal
DHL-Kontonummerdhl_account_numberKundenkontonummer bei DHL Parcel Poland

Den API-Schlüssel erhalten Sie, indem Sie sich unter developer.dhl.com registrieren und eine Anwendung mit Zugriff auf die DHL Parcel Poland API erstellen.

  1. Senden Sie dhl_enabled als true in der Gruppe shipping per PUT an /wp-json/polski-pro/v1/settings
  2. Senden Sie dhl_api_key und dhl_account_number in derselben Anfrage, denn der gespeicherte Payload ersetzt die gesamte Option
  3. Der Tracking-Bereich an der Bestellung gehört zum Modul Fulfillment, dieses Modul muss daher unter Polski > Module aktiviert sein

DHL wird nur abgefragt, wenn dhl_enabled aktiv ist und beide Felder ausgefüllt sind. Fehlt eines dieser drei Elemente, behält die Bestellung weiterhin Sendungsnummer und Tracking-Link, ein Live-Status wird jedoch nicht abgerufen.

Etiketten erstellen Sie in Ihren eigenen DHL-Werkzeugen. Sobald Ihnen die Nummer vorliegt, hinterlegen Sie sie an der Bestellung:

  1. Öffnen Sie eine Bestellung unter WooCommerce > Bestellungen
  2. Wählen Sie im Abschnitt Shipment Tracking den Versanddienstleister DHL
  3. Fügen Sie die Nummer in das Feld Sendungsnummer ein
  4. Lassen Sie Tracking-URL leer, damit der Link erzeugt wird, oder tragen Sie einen eigenen Link ein
  5. Aktualisieren Sie die Bestellung

Der DHL-Tracking-Link wird im folgenden Format erzeugt:

https://www.dhl.com/pl-pl/home/sledzenie-przesylek.html?tracking-id={number}

Sobald eine Bestellung eine Sendungsnummer hat, zeigt der Abschnitt Shipment Tracking eine Live-Vorschau mit der Schaltfläche Live-Tracking aktualisieren. Sie ruft die DHL-Tracking-API mit Ihrem Bearer-Token auf und zeigt den aktuellen Status sowie die Ereignisliste (Beschreibung, Datum, Ort).

Eine Abfrage wird 10 Minuten zwischengespeichert. Die Schaltfläche leert den Cache für diese Sendung und holt die Daten erneut, nutzen Sie sie also, wenn Sie einen frischen Scan erwarten.

  • Spalte Tracking in der Bestellliste: Dienstleister, Nummer, Live-Status und ein Tracking-Link
  • Bestelldetails im Kundenkonto sowie die Aktion Sendung verfolgen neben der Bestellung
  • WooCommerce-Bestell-E-Mails, in denen der Tracking-Block unter der Bestelltabelle ergänzt wird
  • Statusmeldungen zu Verpackt, Versendet und Zugestellt mit Dienstleister, Sendungsnummer und Tracking-Link

Die drei Status stehen in der Bestellliste auch als Massenaktionen zur Verfügung: Status ändern auf Verpackt, Versendet und Zugestellt.

Etikettenerstellung und ServicePoint-Suche sind programmiert, aber nicht angebunden. DHLProvider enthält einen Etikettenaufruf und eine Abfrage der Abholpunkte, doch nichts im Backend oder an der Kasse ruft sie auf. Es gibt daher keine Schaltfläche zum Erstellen von Etiketten, kein PDF-Etikett und keine Suche nach Abholpunkten auf dem Bildschirm, Sendungen legen Sie vorerst in den eigenen Werkzeugen von DHL an.

SymptomUrsacheLösung
Live-Vorschau zeigt keinen StatusModul aus oder API-Schlüssel / Kontonummer leerdhl_enabled, API-Schlüssel und Kontonummer über die Einstellungsroute speichern
Aktualisierung liefert nichtsUngültiger Bearer-Token (HTTP 401) oder unbekannte SendungsnummerToken in den Einstellungen und Nummer an der Bestellung prüfen
Status wirkt veraltetDer Abfrage-Cache von 10 MinutenAuf Live-Tracking aktualisieren klicken
Wiederholt leere AntwortenAnfragelimit von DHL (HTTP 429)Einen Moment warten und erneut aktualisieren

Das DHL-Modul bietet noch keine öffentlichen Filter. Die Tracking-Daten liegen in den Bestell-Metadaten, Sie können sie also aus eigenem Code setzen:

// DHL-Sendungsnummer an einer Bestellung speichern.
$order = wc_get_order($orderId);
$order->update_meta_data('_polski_shipping_carrier', 'dhl');
$order->update_meta_data('_polski_tracking_number', '6230000123456789');
$order->save();

Wenn Sie _polski_tracking_url nicht setzen, wird der DHL-Link bei der Anzeige aus der Nummer abgeleitet.