Trackingcode bei verschiedenen Logistik Unternehmen

Wir bieten bei uns im Shop nur die Möglichkeit „Standard Versand“ und wählen dann selbst ob wir DHL oder DPD zum versenden nehmen.
Für DHL haben wir den DHL Adapter, DPD machen wir selbst, da 400€ für den DPD Adapter doch schon etwas viel ist.

Das führt jedoch zu einem Problem bei der Email Vorlage mit dem Trackingcode.
Für DHL wäre es https://www.dhl.de/de/privatkunden.html?piececode={$sOrder.trackingcode}
Wie unterscheide ich denn dann aber jetzt ob es eine DHL oder DPD Trackingnummer ist?

Die Shopware Doku schlägt sowas vor:

{if $sDispatch.name == "DHL"}
Sendungsverfolgung: https://nolp.dhl.de/nextt-online-public/de/search?piececode={$sOrder.trackingcode}
{else if $sDispatch.name == "GLS"}
Sendungsverfolgung: https://gls-group.eu/DE/de/paketverfolgung?match={$sOrder.trackingcode}
{else}
Es ist keine Sendungsverfolgung möglich
{/if}

Nun haben wir ja nur eine Versandart und es kann nicht mit if else unterschieden werden.

Könnte ich die Versandart DHL und DPD extra erstellen jedoch auf inaktiv setzen damit der Kunde diese Auswahl nicht hat und im Nachhinein wenn die Bestellung da ist die Versandart von Standard Versand auf das ändern was es dann halt ist, oder führt das zu irgendwelchen Problemen die ich gerade nicht sehe?

Ich hoffe ihr versteht das Problem und könnt mir vielleicht weiterhelfen.

Du könntest es verschieden lösen:
Entweder machst du ein Freitextfeld für DPD oder du unterscheidest die Nummern.
Ich glaube DPD hat 14 Stellen und die ersten 6? Nummern sind immer gleich für deine Region (bitte selbst prüfen).

Wir hatten DPD und ich habe das Tracking im USER-Account über Estland abgefragt mit PHP

file_get_contents('https://status.dpd.ee/external/tracking?lang=en&pknr='.$dpdtrackingnumber.'&show_all=1&detail=1') 

…weiteren Code teile ich auf Wunsch gern.

1 „Gefällt mir“

Wo genau das Freitextfeld? Bei der Email Vorlage oder bei den Bestellungen? Das hatte ich auch schon überlegt.

Bei der Bestellung. Und wenn dann schon mehrere hinterlegt sind, dann am besten für alle Dienstleister ein eigenes Freitextfeld.
Bei uns kümmert sich DHL um den Kunden und wir verschicken selbst gar keine trackingnummer mehr. Die bekommen Adresse, Telefon und Email und kontaktieren den Kunden.

Perfekt. Danke. Probiere ich mal aus.

Weißt du zufällig wie die Variable (nennt man das so?) für das Freitextfeld bei den Bestellungen ist?
Es gibt irgendwie ja keine Übersichtsseite wo die alle stehen. Jedenfalls habe ich sie noch nicht gefunden und man „muss sie einfach kennen“.

Wie du das Freitextfeld anlegst hast du im Standard 4 verschieden Stellen zur Verfügung, siehe Freitextfeld-Verwaltung, das Dropdown oben. Such dir das passende aus. Danach richtet sich dann auch der Variablenname.

Ich habe es jetzt in s_order_attributes geschrieben.

Mir fällt nur auf das es nicht ohne weiteres an die Email Vorlage übergeben wird.
Da muss ich dann jetzt erstmal für die nächste Baustelle das Forum durchforsten.

Somit habe ich dann auch das Freitextfeld in meiner Vorlage.

Und hier noch die Lösung zum ganzen mit Freitextfeldern:

{if $sOrder.attributes.tracking_dhl}
https://www.dhl.de/de/privatkunden.html?piececode={$sOrder.attributes.tracking_dhl}
{else}{/if}

{if $sOrder.attributes.tracking_dpd}
https://my.dpd.de/myParcel.aspx?parcelno={$sOrder.attributes.tracking_dpd}
{else}{/if}

Vorher natürlich noch noch die beiden Freitexfelder erstellen. In meinem Fall in der Tabelle s_order_attributes

Edit:

Ich bin mir mit der URL von DPD noch nicht so ganz sicher. Irgendwie funktioniert die jetzt doch nicht mehr wie gerade eben in meinem Test. Falls jemand die korrekte URL kennt wo ich die Sendungsnummer anhänge gerne bescheid geben

https://tracking.dpd.de/status/de_DE/parcel/{$sOrder.attributes.tracking_dpd}

Probiere das mal aus!

1 „Gefällt mir“