Problem

Auf dem DHL-Label erscheint die Telefonnummer des Empfängers nicht.


Ursache

Aus Datenschutzgründen wird die Telefonnummer nicht mehr an DHL übermittelt. Das Verhalten ist so gewollt und korrekt.


Anpassung

Wenn Sie möchten, dass die Empfänger-Telefonnummer wieder auf dem DHHL-Label erscheint, kann das folgendermaßen erreicht werden.


DHL Shipping 0.11.x

Bearbeiten Sie die Datei module-shipping-m2/Webservice/BcsDataMapper.php


Suchen Sie nach diesem Code-Abschnitt (ca. ab Zeile 310):

$communicationType = new BcsApi\CommunicationType();
        $communicationType->setContactPerson($receiver->getContactPerson());
        if (array_key_exists(ParcelAnnouncement::CODE, $shipmentOrder->getServices())) {
            $communicationType->setEmail($receiver->getEmail());
        }

Fügen Sie unter der IF-Bedingung die gezeigte Zeile hinzu:

$communicationType = new BcsApi\CommunicationType();
        $communicationType->setContactPerson($receiver->getContactPerson());
        if (array_key_exists(ParcelAnnouncement::CODE, $shipmentOrder->getServices())) {
            $communicationType->setEmail($receiver->getEmail());
        }
        $communicationType->setPhone($receiver->getPhone());


DHL Shipping 1.x

Bearbeiten Sie die Datei module-carrier-paket/Model/Pipeline/CreateShipments/RequestDataMapper.php


Suchen Sie nach diesem Code-Abschnitt (ca. ab Zeile 126):

$requestExtractor->getRecipient()->getContactCompanyName(),
null,
$recipientEmail,
null,
null,

Ersetzen Sie den Eintrag "null" unter der Zeile "$recipientEmail" wie hier gezeigt:

$requestExtractor->getRecipient()->getContactCompanyName(),
null,
$recipientEmail,
$requestExtractor->getRecipient()->getContactPhoneNumber(),
null,


Beachten Sie, dass die Anpassungen bei einem Update verloren geht und dann erneut vorgenommen werden müssen.