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:
1 parent
2659db64bd
commit
01eaca39dc
10 files changed
+674
-5
No files matched your search
@@ -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";
|
||||
}
|
||||
Reference in new issue
Block a user