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

+6 -2
View File
@@ -7,9 +7,13 @@
*/
export function getCarrierTrackingUrl(carrier: string | null, trackingNumber: string | null): string | null {
if (!carrier || !trackingNumber) return null;
const normalized = carrier.trim().toLowerCase();
if (normalized === "dhl") {
if (isDhlCarrier(carrier)) {
return `https://www.dhl.de/de/privatkunden/dhl-sendungsverfolgung.html?piececode=${encodeURIComponent(trackingNumber)}`;
}
return null;
}
/** Der Versanddienstleister wird im Admin-Bereich als Freitext gepflegt. */
export function isDhlCarrier(carrier: string | null): boolean {
return carrier?.trim().toLowerCase() === "dhl";
}