Hi,
nachdem ich nun nach mehreren Tagen keine Lösung zu meinem Problem finden konnte, dachte ich das mir hier im Forum jemand helfen kann.
Zu meinem Problem:
Ich bin arbeite zurzeit mit der DHL Paket API. Dort kann man über SOAP einen Request zur automatischen Paketbuchung erstellen und bekommt als Response ein Versandlabel.
Da die Beispiele von DHL nicht sehr gut sind benutzte ich das inoffizielle SDK von Tobias Redmann.
Soweit so gut, doch das SDK von Tobias Redmann unterstützte in dieser Form bisher nur normalen Paketversand.
Auszug ab Zeile 94 dhl-php-sdk.php
Nach längerer Nachforschung fand ich heraus wie man aus einem normalen Paket ein DHL Express Paket erstellte. Dazu muss der Product Code zu "EXP" und zwei Services hinzugefügt werden.Die Services kommen ebenfalls unter den Punkt von "ShipmentDetails".
CodeBeispiel von mir:
Das Problem ist nun das erste "Service" Array von dem zweiten überschrieben wird anstatt einzeln in unter "ShipmentDetails" eingehangen zu werden.
An diesem Punkt weis ich leider nicht mehr weiter. Ich hoffe mir kann da jemand helfen.
Gruß derJani
nachdem ich nun nach mehreren Tagen keine Lösung zu meinem Problem finden konnte, dachte ich das mir hier im Forum jemand helfen kann.
Zu meinem Problem:
Ich bin arbeite zurzeit mit der DHL Paket API. Dort kann man über SOAP einen Request zur automatischen Paketbuchung erstellen und bekommt als Response ein Versandlabel.
Da die Beispiele von DHL nicht sehr gut sind benutzte ich das inoffizielle SDK von Tobias Redmann.
Soweit so gut, doch das SDK von Tobias Redmann unterstützte in dieser Form bisher nur normalen Paketversand.
Auszug ab Zeile 94 dhl-php-sdk.php
PHP-Code:
$shipment = array();
// Version
$shipment['Version'] = array('majorRelease' => '1', 'minorRelease' => '0');
// Order
$shipment['ShipmentOrder'] = array();
$shipment['ShipmentOrder']['SequenceNumber'] = '1';
// Shipment
$s = array();
$s['ProductCode'] = 'EPN';
$s['ShipmentDate'] = date('Y-m-d');
$s['EKP'] = $this->credentials['ekp'];
$s['Attendance'] = array();
$s['Attendance']['partnerID'] = '01';
$s['ShipmentItem'] = array();
$s['ShipmentItem']['WeightInKG'] = '5';
$s['ShipmentItem']['LengthInCM'] = '50';
$s['ShipmentItem']['WidthInCM'] = '50';
$s['ShipmentItem']['HeightInCM'] = '50';
$s['ShipmentItem']['PackageType'] = 'PL';
$shipment['ShipmentOrder']['Shipment']['ShipmentDetails'] = $s;
Nach längerer Nachforschung fand ich heraus wie man aus einem normalen Paket ein DHL Express Paket erstellte. Dazu muss der Product Code zu "EXP" und zwei Services hinzugefügt werden.Die Services kommen ebenfalls unter den Punkt von "ShipmentDetails".
CodeBeispiel von mir:
PHP-Code:
$shipment = array();
// Version
$shipment['Version'] = array('majorRelease' => '1', 'minorRelease' => '0');
// Order
$shipment['ShipmentOrder'] = array();
$shipment['ShipmentOrder']['SequenceNumber'] = '1';
// Shipment
$s = array();
$s['ProductCode'] = 'EXP';
$s['ShipmentDate'] = date('Y-m-d');
$s['EKP'] = $this->credentials['ekp'];
$s['Attendance'] = array();
$s['Attendance']['partnerID'] = '01';
$s['ShipmentItem'] = array();
$s['ShipmentItem']['WeightInKG'] = '5';
$s['ShipmentItem']['LengthInCM'] = '50';
$s['ShipmentItem']['WidthInCM'] = '50';
$s['ShipmentItem']['HeightInCM'] = '50';
$s['ShipmentItem']['PackageType'] = 'PL';
$d['Service'] = array();
$d['Service']['ServiceGroupDateTimeOption'] = array();
$d['Service']['ServiceGroupDateTimeOption']['DeliveryEarly'] = 'true';
$e['Service'] = array();
$e['Service']['ServiceGroupOther'] = array();
$e['Service']['ServiceGroupOther']['InsuranceAmount'] = '2500';
$e['Service']['ServiceGroupOther']['InsuranceCurrency'] = 'EUR';
$shipment['ShipmentOrder']['Shipment']['ShipmentDetails'] = $s +$d+$e;
An diesem Punkt weis ich leider nicht mehr weiter. Ich hoffe mir kann da jemand helfen.
Gruß derJani
Kommentar