Paketverfolgung E-Mail Versand

Guten Abend. Ich befasse mich seit heute auch mit Trackingcodes und habe diesen etwas älteren Beitrag gefunden. Morgen will ich das mal testen mit Truncate.

Was ich aber gerne wissen möchte, ist

was bewirkt eure truncate Funktion, wozu 4 stellen, wozu 8 stellen? Heißt es, DHL hat zb 15 Ziffern und fängt immer mit 0034 an, dann macht ihr truncate4 und gebt die ersten 4 Ziffern an?

Und, klappt das alles bei euch auch mit mehreren Paketen pro Sendung?

So, ich wollte mal Rückmeldung geben, ich habe es anders gelöst, das mit Truncate war nicht ideal für meine Zwecke. Ich versende mit DHL, DPD, Spedition plus ich wollte für die Zukunft freier sein. Mein Code sieht so aus

      {% for deliveries in order.deliveries %}
	Anbei erhalten Sie hier die Sendungsnummer zu Ihrer Bestellung. Klicken Sie einfach auf den nachfolgenden Link um Ihre Sendung zu verfolgen:<br>
      {% if deliveries.shippingMethodId == "856c85129a0841a397193092375145a4" %}
	
      {% for delivery in order.deliveries %}
      {% for trackingCode in delivery.getTrackingCodes() %} 
      <a href="https://www.dhl.de/de/privatkunden/pakete-empfangen/verfolgen.html?lang=de&idc={{ trackingCode }}">DHL Sendung Nr. {{ trackingCode }}</a><br> {% endfor %}
      {% endfor %}
      {% endif %}
      {% endfor %}
	    {% for deliveries in order.deliveries %}
      {% if deliveries.shippingMethodId == "520ca003a02b486ea4277543cc94d590" %}
      {% for delivery in order.deliveries %}
      {% for trackingCode in delivery.getTrackingCodes() %} 
      <a href="https://www.dhl.de/de/privatkunden/pakete-empfangen/verfolgen.html?lang=de&idc={{ trackingCode }}">DHL Sendung Nr. {{ trackingCode }}</a><br>  {% endfor %}
      {% endfor %}
      {% endif %}
      {% endfor %}
		    {% for deliveries in order.deliveries %}
      {% if deliveries.shippingMethodId == "f1e7c8a85c5249e1bc7aac0dbee1d8b0" %}
      {% for delivery in order.deliveries %}
      {% for trackingCode in delivery.getTrackingCodes() %} 
      <a href="https://www.dhl.de/de/privatkunden/pakete-empfangen/verfolgen.html?lang=de&idc={{ trackingCode }}">DHL Sendung Nr. {{ trackingCode }}</a> <br> {% endfor %}
      {% endfor %}
      {% endif %}
      {% endfor %}
		    {% for deliveries in order.deliveries %}
      {% if deliveries.shippingMethodId == "2b1e82b9ed0146bd9ec59441450359ab" %}
      {% for delivery in order.deliveries %}
      {% for trackingCode in delivery.getTrackingCodes() %} 
      <a href="https://my.dpd.de/myParcel.aspx?parcelno={{ trackingCode }}">DPD Sendung Nr. {{ trackingCode }}</a> <br> {% endfor %}
      {% endfor %}
      {% endif %}
      {% endfor %}
		    {% for deliveries in order.deliveries %}
      {% if deliveries.shippingMethodId == "a351018f5fd14f0ab4764552af229db5" %}
      {% for delivery in order.deliveries %}
      {% for trackingCode in delivery.getTrackingCodes() %} 
      <a href="https://my.dpd.de/myParcel.aspx?parcelno={{ trackingCode }}">DPD Sendung Nr. {{ trackingCode }}</a><br>  {% endfor %}
      {% endfor %}
      {% endif %}
      {% endfor %}
      {% for deliveries in order.deliveries %}
      {% if deliveries.shippingMethodId == "22bb012612854da2875368f3b3afc9da" %}
      {% for delivery in order.deliveries %}
      {% for trackingCode in delivery.getTrackingCodes() %} 
      <a href="https://sendung.spedition.de/trackid={{ trackingCode }}">Spedition Sendung Nr.  {{ trackingCode }}</a> <br> {% endfor %}
      {% endfor %}
      {% endif %}
      {% endfor %}</p>

Ich habe mir die VersandIDs rausgesucht und eingefügt, so kann ich es für jeden Anbieter exakt steuern.

Hallo zusammen,
egal was ich in den Template eingebe , es wird der Link mit der Nummer nicht angezeigt.
Die Versand Nummer haben wir vorher bei der Bestellung eingefügt .
Wir haben alles Versucht . Code in Text oder HTML ohne erfolg.
Version 6.4.18.1

Wir Versenden mit DPD und würden gerne beim Status " Versandt" die Trackingnummer im Template stehen haben.

Den 1. Code füge ich dann einfach in das Mail Template ein unter Text oder html ? Wenn ich das so kopiere öffnet sich da Fedex und nicht DHL :-/

Hallo.

Ich bin seit zwei Wochen am verzweifeln. Anfangs hat alles geklappt und sowohl Sendungsnummer als auch Link wurden in der Mail angezeigt. Nun aber werden die Mails wie folgt übertragen:

Sehr geehrter Herr XXX,

der Lieferstatus für Ihre Bestellung bei (Nummer: 10058) vom 04.04.2023, 12:35 hat sich geändert.

Die Bestellung hat jetzt den Lieferstatus: Versandt

Den aktuellen Status Ihrer Bestellung können Sie auch jederzeit auf unserer Webseite im Bereich „Mein Konto“ - „Meine Bestellungen“ abrufen. Sollten Sie allerdings den Kauf ohne Registrierung, also ohne Anlage eines Kundenkontos, gewählt haben, steht Ihnen diese Möglichkeit nicht zur Verfügung. Für Rückfragen stehen wir Ihnen jederzeit gerne zur Verfügung.

Der HTML-Code den ich eingetragen habe ist:


{% if order.orderCustomer.salutation %}{{ order.orderCustomer.salutation.translated.letterName ~ ' ' }}{% endif %}{{ order.orderCustomer.firstName }} {{ order.orderCustomer.lastName }},

der Lieferstatus für Ihre Bestellung bei {{ salesChannel.translated.name }} (Nummer: {{ order.orderNumber }}) vom {{ order.orderDateTime|format_datetime('medium', 'short', locale='de-DE') }} hat sich geändert.

Die Bestellung hat jetzt den Lieferstatus: {{ order.deliveries.first.stateMachineState.translated.name }}

{% for delivery in order.deliveries %} {% for trackingCode in delivery.trackingCodes %} Sendungsverfolgung: {{ trackingCode }}
{% endfor %} {% endfor %}

Den aktuellen Status Ihrer Bestellung können Sie auch jederzeit auf unserer Webseite im Bereich "Mein Konto" - "Meine Bestellungen" abrufen. Sollten Sie allerdings den Kauf ohne Registrierung, also ohne Anlage eines Kundenkontos, gewählt haben, steht Ihnen diese Möglichkeit nicht zur Verfügung. Für Rückfragen stehen wir Ihnen jederzeit gerne zur Verfügung.

Kann mir jemand helfen bevor ich noch weitere 5 Tage den Fehler suche?

Danke vorab

Hi Alfredo, das ist eigentlich genau die Lösung die wir suchen.
Unsere DHL Sendungsnummer startet immer mit 0034.
Also wäre es ja in diesem Fall: {% if trackingCode|trim|u.truncate(4) == ‚0034‘ %}
Allerdings greift die Abfrage ums Verrecken nicht.
Wir haben inzwischen folgende weitere Möglichkeiten getestet:
{% if trackingCode.startswith('0034) %}
{% if trackingCode|string.startswith(‚003‘) %}

Aber leider greift die IF Abfrage nicht - Hast du eine Idee woran das liegen kann?

Hellao!

@DrTrialandError007

versuch einmal diesen Code - sollte klappen!

Du erhältst hiermit Deine Sendungsnummer: <br/><br/>
                        {% for delivery in order.deliveries %}
                            {% for trackingCode in delivery.getTrackingCodes() %}
                                {% if trackingCode|trim|u.truncate(4) == '0125' %}
                                    <b><a href="https://tracking.dpd.de/status/de_DE/shipment/{{ trackingCode }}">Sendungsverfolgung: {{ trackingCode }}</a></b><br />
                                {% elseif trackingCode|trim|u.truncate(8) == '00340434' %}
                                    <b><a href="https://www.dhl.de/de/privatkunden/pakete-empfangen/verfolgen.html?piececode={{ trackingCode }}">Sendungsverfolgung: {{ trackingCode }}</a></b><br />
                                {% elseif trackingCode|trim|u.truncate(8) == '00340317' %}
                                    <b><a href="https://portal.emea.hellmann.net/tracking-public/search/#/road/{{ trackingCode }}">Sendungsverfolgung: {{ trackingCode }}</a></b><br />
                                 {% elseif trackingCode|trim|u.truncate(3) == '369' %}
                                    <b><a href="https://public.tracking.hellmann.net/road/details/200{{ trackingCode }}">Sendungsverfolgung: {{ trackingCode }}</a></b><br />
                                {% endif %}
                            {% endfor %}
                        {% endfor %}

Hi Danke Dir - zum Testen musste ich noch Fedex ergänzen, da dies die letzte Mail ist.
(also ich teste gerade nur über die Testmail funktion)
Aber leider sieht das nun so aus

und das ist der aktuelle Code:
Du erhältst hiermit Deine Sendungsnummer:


{% for delivery in order.deliveries %}
{% for trackingCode in delivery.getTrackingCodes() %}
{% if trackingCode|trim|u.truncate(4) == ‚0125‘ %}
Sendungsverfolgung: {{ trackingCode }}

{% elseif trackingCode|trim|u.truncate(8) == ‚00340434‘ %}
Sendungsverfolgung: {{ trackingCode }}

{% elseif trackingCode|trim|u.truncate(8) == ‚00340317‘ %}
Sendungsverfolgung: {{ trackingCode }}

{% elseif trackingCode|trim|u.truncate(3) == ‚369‘ %}
Sendungsverfolgung: {{ trackingCode }}

{% elseif trackingCode|trim|u.truncate(2) == ‚77‘ %}
Sendungsverfolgung: {{ trackingCode }}

                              {% else %}
                              Sendungsverfolgung: {{ trackingCode }}
                              
                            {% endif %}
                        {% endfor %}
                    {% endfor %}
Du erhältst hiermit Deine Sendungsnummer: <br/><br/>
                        {% for delivery in order.deliveries %}
                            {% for trackingCode in delivery.getTrackingCodes() %}
                                {% if trackingCode|trim|u.truncate(4) == '0125' %}
                                    <b><a href="https://tracking.dpd.de/status/de_DE/shipment/{{ trackingCode }}">Sendungsverfolgung: {{ trackingCode }}</a></b><br />
                                {% elseif trackingCode|trim|u.truncate(8) == '00340434' %}
                                    <b><a href="https://www.dhl.de/de/privatkunden/pakete-empfangen/verfolgen.html?piececode={{ trackingCode }}">Sendungsverfolgung: {{ trackingCode }}</a></b><br />
                                {% elseif trackingCode|trim|u.truncate(8) == '00340317' %}
                                    <b><a href="https://portal.emea.hellmann.net/tracking-public/search/#/road/{{ trackingCode }}">Sendungsverfolgung: {{ trackingCode }}</a></b><br />
                                 {% elseif trackingCode|trim|u.truncate(3) == '369' %}
                                    <b><a href="https://public.tracking.hellmann.net/road/details/200{{ trackingCode }}">Sendungsverfolgung: {{ trackingCode }}</a></b><br />
                                {% elseif trackingCode|trim|u.truncate(2) == '77' %}
                                    <b><a href="https://www.fedex.com/fedextrack/?trknbr={{ trackingCode }}">Sendungsverfolgung: {{ trackingCode }}</a></b><br />
                                
                                  {% else %}
                                  Sendungsverfolgung: {{ trackingCode }}
                                  
                                {% endif %}
                            {% endfor %}
                        {% endfor %}

Welche Version von SW hast du denn installiert? Probier doch gerne auf einer öffentlichen SW6 Demo wie die von Pickware den Code.

Hi - leider noch 6.4.10. aber in 4 Wochen dann 6.4.20.2

Auch das Update hat nichts gebracht - leider leider geht das wohl so nicht

ok habs doch :smiley:

{% for delivery in order.deliveries %}
    {% for trackingCode in delivery.trackingCodes %}
        {% if trackingCode|trim|u.truncate(4) == '0125' %}
            <a href="https://tracking.dpd.de/status/de_DE/shipment/{{ trackingCode }}">{{ trackingCode }}</a><br />
        {% elseif trackingCode|trim|u.truncate(6) == '003404' %}
            <a href="https://www.dhl.de/de/privatkunden/pakete-empfangen/verfolgen.html?piececode={{ trackingCode }}">{{ trackingCode }}</a><br />
        {% elseif trackingCode|trim|u.truncate(2) == '77' %}
            <a href="https://www.fedex.com/fedextrack/?trknbr={{ trackingCode }}">{{ trackingCode }}</a><br />
        {% elseif trackingCode|trim|u.truncate(2) == '1Z' %}
            <a href="https://www.ups.com/track?loc=de_DE&Requester=SBN&tracknum={{ trackingCode }}">{{ trackingCode }}</a><br />
        {% else %}
            {{ trackingCode }}
        {% endif %}
    {% endfor %}
{% endfor %}