feat: DHL-Sendungsverlauf direkt auf der Tracking-Seite anzeigen

/bestellung-verfolgen holt den Sendungsverlauf serverseitig ueber die
DHL Shipment Tracking - Unified API und zeigt ihn im eigenen Layout an,
statt Kundschaft auf dhl.de weiterzuleiten.

- lib/dhl-tracking.ts: Abfrage mit API-Key, Zod-Validierung, Timeout,
  Cache pro Sendung (unterwegs 10 min, zugestellt 12 h, Fehler 2 min)
- Abfrage erst nach erfolgreicher Pruefung von Bestellnummer + E-Mail,
  damit die Seite nicht als offener Proxy zu DHL dient
- Ohne freigeschalteten Key bleibt die Seite unveraendert (Nummer + Link)
- Optional DHL_TRACKING_API_KEY, falls das Tracking in eigener DHL-App liegt
- Datenschutzerklaerung um die Statusabfrage bei DHL ergaenzt

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick SzaunigandClaude Opus 5.5 committed 2026-09-25 03:27:58 +02:00
1 parent 2659db64bd
commit 01eaca39dc
10 files changed
+674 -5

No files matched your search

+9
View File
@@ -145,6 +145,15 @@ APICORE_SYNC_PASSWORD=
# von Versandmarken im Admin-Bereich. Kontingent laut DHL: 500 Aufrufe/Tag —
# der Endpunkt /api/shop/packstationen ist deshalb streng rate-limitiert und
# cached Ergebnisse 15 Minuten.
# SENDUNGSVERFOLGUNG auf /bestellung-verfolgen: laeuft ueber die DHL Shipment
# Tracking – Unified API (lib/dhl-tracking.ts), ebenfalls nur mit API-Key.
# Die DHL-App muss dafuer im Developer Portal zusaetzlich das Produkt
# "Shipment Tracking - Unified" abonniert haben. Ist es in einer EIGENEN App
# freigeschaltet, deren Key in DHL_TRACKING_API_KEY eintragen — sonst wird
# DHL_API_KEY verwendet. Ohne freigeschalteten Key zeigt die Seite wie bisher
# nur Sendungsnummer + Link zu dhl.de. Ergebnisse werden pro Sendung
# 10 Minuten (zugestellt: 12 Stunden) gecached, um das Kontingent zu schonen.
DHL_TRACKING_API_KEY=
DHL_API_KEY=
DHL_API_SECRET=
DHL_GKP_USERNAME=