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
@@ -256,7 +256,7 @@ export const en: Dictionary = {
|
||||
{
|
||||
heading: "4. Order and Contract Processing",
|
||||
paragraphs: [
|
||||
"For shipping, we pass your name and delivery address to our shipping provider DHL (DHL Paket GmbH, Bonn, Germany). If you choose delivery to a Packstation or branch, the location number you selected is added. If you search for a Packstation during checkout, the town or postcode you enter is sent to DHL to perform that search. Legal basis: Art. 6(1)(b) GDPR.",
|
||||
"For shipping, we pass your name and delivery address to our shipping provider DHL (DHL Paket GmbH, Bonn, Germany). If you choose delivery to a Packstation or branch, the location number you selected is added. If you search for a Packstation during checkout, the town or postcode you enter is sent to DHL to perform that search. When you check your shipment under “Track order”, we request its status from DHL using the tracking number and the delivery postcode and show it to you directly on our site. Legal basis: Art. 6(1)(b) GDPR.",
|
||||
"When you place an order, we collect the data necessary for contract, payment, and shipping processing (name, address, email, phone number if provided, and the items ordered). The legal basis is Art. 6(1)(b) GDPR (contract performance).",
|
||||
"Payments are processed by our payment provider, Stripe Payments Europe, Ltd. The data necessary for payment processing is transmitted to Stripe for this purpose. Stripe's privacy policy also applies (stripe.com/privacy). Where this involves transferring data to Stripe-affiliated companies outside the EU/EEA (in particular Stripe, Inc. in the USA), this is done on the basis of EU Standard Contractual Clauses pursuant to Art. 46 GDPR.",
|
||||
"Order and invoice data is retained for the legally required period due to commercial and tax record-keeping obligations (§ 257 HGB, § 147 AO of German law).",
|
||||
@@ -900,6 +900,20 @@ export const en: Dictionary = {
|
||||
carrierLabel: "Carrier",
|
||||
trackingNumberLabel: "Tracking number",
|
||||
trackPackage: "Track package",
|
||||
historyHeading: "Shipment history",
|
||||
historyAriaLabel: "DHL shipment history",
|
||||
estimatedDelivery: (date) => `Estimated delivery: ${date}`,
|
||||
notYetScanned:
|
||||
"DHL hasn't scanned the parcel yet. This can take a few hours after dispatch – please check back later.",
|
||||
historyUnavailable: "The shipment history can't be loaded right now. Please try again later.",
|
||||
dataSource: "Data provided by DHL",
|
||||
statuses: {
|
||||
"pre-transit": "Announced",
|
||||
transit: "In transit",
|
||||
delivered: "Delivered",
|
||||
failure: "Delivery issue",
|
||||
unknown: "Status unknown",
|
||||
},
|
||||
},
|
||||
errorPage: {
|
||||
eyebrow: "Error",
|
||||
|
||||
Reference in new issue
Block a user