public function testDHL() { $dhl = config('dhl'); // Test a getQuote using DHL XML API $sample = new GetQuote(); $sample->SiteID = "DHLMexico"; $sample->Password = "******"; // Set values of the request $sample->MessageTime = date("c"); $sample->MessageReference = '1234567890123456789012345678901'; $sample->BkgDetails->Date = date('Y-m-d'); $piece = new PieceType(); $piece->PieceID = 1; $piece->Height = 10; $piece->Depth = 5; $piece->Width = 10; $piece->Weight = 10; $sample->BkgDetails->addPiece($piece); $sample->BkgDetails->IsDutiable = 'N'; $sample->BkgDetails->ReadyTime = 'PT10H21M'; $sample->BkgDetails->ReadyTimeGMTOffset = '+01:00'; $sample->BkgDetails->DimensionUnit = 'CM'; $sample->BkgDetails->WeightUnit = 'KG'; $sample->BkgDetails->PaymentCountryCode = 'MX'; $sample->From->CountryCode = 'MX'; $sample->From->Postalcode = '15700'; $sample->From->City = 'DF'; $sample->To->CountryCode = 'MX'; $sample->To->Postalcode = '35078'; $sample->To->City = 'DURANGO'; // Call DHL XML API $start = microtime(true); echo $sample->toXML(); $client = new WebserviceClient('staging'); $xml = $client->call($sample); echo PHP_EOL . 'Executed in ' . (microtime(true) - $start) . ' seconds.' . PHP_EOL; echo $xml . PHP_EOL; $array_xml = json_decode(json_encode(simplexml_load_string($xml)), true); print_r($array_xml); }
/** * Send a shipment request to DHL * * @param ShipmentRequest Request to send * * @return ShipmentResponse The Shipment response object upon success, false otherwise */ public function sendShipmentRequest(ShipmentRequest $request) { // Call DHL XML API try { $xml = $this->_client->call($request); $response = new ShipmentResponse(); $response->initFromXML($xml); } catch (\Exception $e) { $this->errorMessage = $e->getMessage(); return false; } return $response; }
while ($testSetCpt <= $testSet) { echo PHP_EOL . PHP_EOL . 'Test Sequence ' . $testSetCpt . PHP_EOL . '------------------'; $values = array('ZPL2', 'EPL2', 'PDF'); $max = 10; $testSetTime[$testSetCpt] = $times; $testSetResponse[$testSetCpt] = $responses; $times = array(); $responses = array(); foreach ($values as $value) { $sample->LabelImageFormat = $value; // Call DHL XML API // echo $sample->toXML(); echo PHP_EOL . 'Testing with ' . $value . ' - ' . $max . ' times' . PHP_EOL; $cpt = 1; while ($cpt <= $max) { $startTime = microtime(true); $client = new WebserviceClient('staging'); $response = $client->call($sample); $time = microtime(true) - $startTime; $xml = simplexml_load_string($response); echo 'Waybill number : ' . (string) $xml->AirwayBillNumber . PHP_EOL; echo 'Call ' . $cpt . "\t: " . $time . PHP_EOL; $times[$value][] = $time; $responses[$value][] = $response; ++$cpt; } echo 'Average ' . array_sum($times[$value]) / $max . PHP_EOL; } ++$testSetCpt; } //var_dump($times);
* * @author Al-Fallouji Bashar * @version 0.1 */ use DHL\Entity\GB\RouteRequest; use DHL\Client\Web as WebserviceClient; require __DIR__ . '/../../init.php'; // DHL Settings $dhl = $config['dhl']; // Test a RouteRequestRequest using DHL XML API $sample = new RouteRequest(); // Set values of the request $sample->MessageTime = '2013-08-04T11:28:56.000-08:00'; $sample->MessageReference = '1234567890123456789012345678901'; $sample->SiteID = $dhl['id']; $sample->Password = $dhl['pass']; $sample->RegionCode = 'AM'; $sample->RequestType = 'O'; $sample->Address1 = 'Suit 333'; $sample->Address2 = '333 Twin'; $sample->Address3 = ''; $sample->PostalCode = '94089'; $sample->City = 'North Dakhota'; $sample->Division = 'California'; $sample->CountryCode = 'US'; $sample->CountryName = 'United States of America'; $sample->OriginCountryCode = 'US'; // Call DHL XML API echo $sample->toXML(); $client = new WebserviceClient(); echo $client->call($sample);
$piece->PieceID = 1; $piece->Height = 10; $piece->Depth = 5; $piece->Width = 10; $piece->Weight = 10; $sample->BkgDetails->addPiece($piece); $sample->BkgDetails->IsDutiable = 'Y'; $sample->BkgDetails->QtdShp->QtdShpExChrg->SpecialServiceType = 'WY'; $sample->BkgDetails->ReadyTime = 'PT10H21M'; $sample->BkgDetails->ReadyTimeGMTOffset = '+01:00'; $sample->BkgDetails->DimensionUnit = 'CM'; $sample->BkgDetails->WeightUnit = 'KG'; $sample->BkgDetails->PaymentCountryCode = 'CA'; $sample->BkgDetails->IsDutiable = 'Y'; // Request Paperless trade $sample->BkgDetails->QtdShp->QtdShpExChrg->SpecialServiceType = 'WY'; $sample->From->CountryCode = 'CA'; $sample->From->Postalcode = 'H3E1B6'; $sample->From->City = 'Montreal'; $sample->To->CountryCode = 'CH'; $sample->To->Postalcode = '1226'; $sample->To->City = 'Thonex'; $sample->Dutiable->DeclaredValue = '100.00'; $sample->Dutiable->DeclaredCurrency = 'CHF'; // Call DHL XML API $start = microtime(true); echo $sample->toXML(); $client = new WebserviceClient('staging'); $xml = $client->call($sample); echo PHP_EOL . 'Executed in ' . (microtime(true) - $start) . ' seconds.' . PHP_EOL; echo $xml . PHP_EOL;
* * See the GNU Lesser General Public License for more details. */ /** * File: Tracking.php * Project: DHL API * * @author Al-Fallouji Bashar * @version 0.1 */ use DHL\Entity\EA\KnownTrackingRequest as Tracking; use DHL\Client\Web as WebserviceClient; require __DIR__ . '/../../init.php'; // DHL Settings $dhl = $config['dhl']; // Test a tracking request using DHL XML API $request = new Tracking(); $request->SiteID = $dhl['id']; $request->Password = $dhl['pass']; $request->MessageReference = '1234567890123456789012345678'; $request->MessageTime = '2002-06-25T11:28:55-08:00'; $request->LanguageCode = 'en'; $request->AWBNumber = '8564385550'; $request->LevelOfDetails = 'ALL_CHECK_POINTS'; $request->PiecesEnabled = 'S'; echo $request->toXML(); $client = new WebserviceClient(); $xml = $client->call($request); $result = new DHL\Entity\EA\TrackingResponse(); $result->initFromXML($xml); echo $result->toXML();