Przejdź do głównej zawartości

Integracja DHL Parcel Poland

Moduł DHL integruje WooCommerce z REST API DHL Parcel Poland. Generuj etykiety, śledź przesyłki i oferuj punkty ServicePoint na checkoucie.

Przejdź do WooCommerce > Ustawienia > Polski PRO > Wysyłka.

UstawienieOpis
Klucz API DHLBearer token z DHL Developer Portal
Numer konta DHLNumer konta klienta DHL Parcel Poland

Klucz API uzyskasz rejestrując się na developer.dhl.com i tworząc aplikację z dostępem do DHL Parcel Poland API.

  1. Przejdź do Polski PRO > Moduły
  2. Włącz moduł DHL Parcel Poland
  3. Uzupełnij klucz API i numer konta w ustawieniach wysyłki

Etykiety generujesz z poziomu edytora zamówienia:

  1. Otwórz zamówienie w WooCommerce > Zamówienia
  2. W sekcji Shipment Tracking wybierz przewoźnika DHL
  3. Kliknij Generuj etykietę
  4. System utworzy przesyłkę przez DHL REST API i zwróci numer śledzenia + link do etykiety PDF
TypOpis
AHStandardowa dostawa pod adres (domyślny)
APDostawa do ServicePoint / paczkomatu DHL

Dla usług AP (ServicePoint) wymagane jest podanie ID punktu odbioru.

Moduł automatycznie pobiera z zamówienia dane odbiorcy i wagę produktów. Domyślne wymiary paczki: 40x30x20 cm.

Moduł umożliwia wyszukiwanie punktów ServicePoint (POP i paczkomaty DHL):

  • Wyszukiwanie po mieście
  • Wyszukiwanie po współrzędnych GPS (promień 5 km)
  • Zwracane dane: nazwa, adres, typ (POP/paczkomat), współrzędne

Po wygenerowaniu etykiety numer śledzenia jest automatycznie zapisywany. Link do trackingu DHL jest generowany w formacie:

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

Klient otrzymuje email z numerem śledzenia przy zmianie statusu na Wysłane.

KodOpisRozwiązanie
HTTP 401Nieprawidłowy klucz APISprawdź Bearer token w ustawieniach
HTTP 400Nieprawidłowe dane przesyłkiSprawdź adres, kod pocztowy i numer konta
HTTP 429Limit zapytań APIPoczekaj chwilę i spróbuj ponownie
// Filtruj dane przesyłki przed wysłaniem do DHL
add_filter('polski_pro/shipping/dhl/parcel_data', function (array $data, WC_Order $order): array {
$data['service_type'] = 'AP'; // Wymuś dostawę do ServicePoint
$data['servicepoint_id'] = 'PL-12345';
return $data;
}, 10, 2);