Express-Label- und Rateprozess
Labelprozess
GenerateLabel dispatcht bei API Service = Express an den MyDHL-Pfad.
Konfiguration und Express-Account laden.
Empfänger-Snapshot und repräsentativen Auftrag bestimmen. Dabei wird
OnAfterSnapshotFromSalesHeadervor dem Persistieren ausgelöst.OnBeforeGenerateLabelmitIsExpress = trueauslösen.Box, Produktcode und normalisierte Dimensionen ermitteln.
Gewicht und Uploadstatus prüfen.
geplantes Versanddatum, Pickup, Account und Ausgabeformat setzen.
Shipper- und Receiver-Details aufbauen.
Package und Content hinzufügen.
Bei internationaler Route Export Declaration ergänzen.
Optional Empfängerbenachrichtigung hinzufügen.
OnBeforeSendShipmentRequestveröffentlichen.JSON serialisieren und den Shipment-Endpunkt aufrufen.
Tracking, Package Tracking und Labeldokument aus der Response speichern.
Tracking auf Quellaufträge zurückschreiben; je Auftrag folgt
OnAfterUpdateTrackingOnSourceOrder.Labelbild erzeugen und Paket als hochgeladen markieren.
Label committen und optional Kartonbestand buchen.
OnAfterGenerateLabelmitSuccess = trueauslösen. Jeder Fehlerrückgabepfad vonGenerateLabellöst dasselbe Event mitSuccess = falseaus.
Erweiterungspunkte
OnBeforeGenerateLabel erlaubt fachliche Header-Anpassungen, bevor Maße und Request gelesen werden.
OnBeforeSendShipmentRequest erhält das vollständig aufgebaute JsonObject, Package Header und Sales Header. Es wird nur für Express ausgelöst. Typische Nutzung ist die fachliche Auswahl eines Produktcodes oder zusätzlicher DHL-Services.
Subscriber dürfen keine Authentifizierung verwalten und sollten das Request-JSON wegen personenbezogener Daten nicht protokollieren.
Express-Produkt
SOUDHL Express Helper.MapProductCode übersetzt das erweiterbare Enum SOUDHL Express Product in den MyDHL-Code. Ohne passende Zuordnung fällt die Helper-Codeunit auf P zurück.
Export Declaration
Bei unterschiedlichem Absender- und Empfängerland wird isCustomsDeclarable gesetzt. Die Exportpositionen werden aus den Package Lines und deren Quell-Verkaufszeilen erzeugt, damit nur tatsächlich gepackte Mengen übertragen werden.
Response
Verarbeitet werden:
shipmentTrackingNumbererstes Package-
trackingNumberDokumente mit
typeCode = labelEncoding- und Formatangaben
Das Package-Tracking wird derzeit im Feld DHL Routing Code wiederverwendet.
Live-Rateprozess
GetRate ist ein separater High-Level-Aufruf:
OnBeforeGetRatefür veränderbare fachliche Eingaben,nur Express zulassen,
Account und Shipper-Adresse laden,
Receiver, Produkt, Versandzeit und Package-Daten aufbauen,
Rate-Endpunkt aufrufen,
ersten Eintrag aus
products[0].totalPrice[0]lesen,OnAfterGetRateauf jedem Rückgabepfad, einschließlich „nicht Express“.
Die öffentliche GetRate-Signatur bleibt unverändert. Die Methode schreibt keine DHL-Tabellen. Preis und Währung werden über var-Parameter zurückgegeben.
Bekannte Grenzen
geplante Versandzeit ist derzeit
Today + 1um 10:00 mit festem GMT+01:00-Text,Rate nimmt den ersten zurückgegebenen Produktpreis,
OnBeforeSendShipmentRequestgilt nicht für Rates und nicht für Parcel DE,Hintergrundprozesse müssen alle Exportdaten vorab vollständig bereitstellen.
