mladjom/dhlbook

此包最新版本(dev-master)没有可用的许可信息。

DHL瑞典货运 DHLBookWS

dev-master 2016-09-09 14:17 UTC

This package is not auto-updated.

Last update: 2024-09-23 13:20:37 UTC


README

This Code is released under the GNU LGPL

This library is free software; you can redistribute it and/or modify it 
under the terms of the GNU Lesser General Public License as published 
by the Free Software Foundation; either version 2 of the License, or 
(at your option) any later version.

This library is distributed in the hope that it will be useful, but 
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
or FITNESS FOR A PARTICULAR PURPOSE.

See the GNU Lesser General Public License for more details.

描述

这个库是一个针对DHL Book取件 - Web服务的PHP面向对象客户端。它实现了DHL DHL Book取件,详情请见http://www.dhldashboard.se/Services/Bookpickup/tabid/241/Default.aspx。查看此受限制的网页需要账户。

设置

您可以使用composer使用此库。

{
    "require": {
		"mladjom/dhlbook": "*"
    }
}

用法

此客户端不依赖任何框架,应该很容易与您的代码集成。

example.php包含了如何使用客户端和对DHL XML API进行请求的示例,包括预定取件、获取站点和获取站点详情。

为了使示例工作,您需要创建一个DHL货运账户。您可以通过访问他们的URL:http://www.dhlfreight.se/Bokatransport/Inrikesv%C3%A4gtransport/tabid/262/ctl/Register/Default.aspx来完成。

示例

请求运输

require_once __DIR__ . '/vendor/autoload.php';
/**
 * Minimal options
 */
$options = array(
	\WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => 'https://www.dhltoolbox.se/DHLBookWS/Book.asmx?wsdl',
	\WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_CLASSMAP => \DHLBook\ClassMap::get(),
	\WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_SOAP_VERSION => 'SOAP_1_2',
);

/**
 * Samples for Book ServiceType
 */
$book = new \DHLBook\ServiceType\Book( $options );

/**
 * Credentials for all operations/methods
 */
$credentials = new \DHLBook\StructType\Credentials();
$credentials->User = 'BookAppUser';
$credentials->Password = 'BA%Pwd07';
/**
 * Sample call for BookPickup operation/method
 */
$requestMessageHeader = new \DHLBook\StructType\RequestMessageHeader();
$requestMessageHeader->MessageId = sprintf( '%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand( 0, 65535 ), mt_rand( 0, 65535 ), mt_rand( 0, 65535 ), mt_rand( 16384, 20479 ), mt_rand( 32768, 49151 ), mt_rand( 0, 65535 ), mt_rand( 0, 65535 ), mt_rand( 0, 65535 ) );
$requestMessageHeader->TimeStamp = date( "Y-m-d" ) . 'T' . date( "H:i:s" );
$requestMessageHeader->Environment = 'Book';
$requestMessageHeader->RequestingSystem = 'TestApp';

$general = new \DHLBook\StructType\TGeneral();
$general->PickupDate = date( "Y-m-d" );
$general->CustomerID = 'your customer id';
$general->Note1 = 'Test utför ej';
$general->Note2 = '';
$general->FreightNo = '';
$general->Weight = new \DHLBook\StructType\TWeight();
$general->Weight->unit = 'kg';
$general->Weight->_ = '1';
$general->Volume = new \DHLBook\StructType\TVolume();
$general->Volume->unit = 'm3';
$general->Volume->_ = '';
$general->Loadingmeter = new \DHLBook\StructType\TLoadingmeter();
$general->Loadingmeter->unit = 'm';
$general->Loadingmeter->_ = '';
$general->NoItems = '';
$general->NoPallets = '2';
$general->PalletPlace = new \DHLBook\StructType\TPalletPlace();
$general->PalletPlace->unit = '';
$general->PalletPlace->_ = '';
$general->ProductCode = '401';
$general->Pickup = new \DHLBook\StructType\TPickup();
$general->Pickup->Address = new \DHLBook\StructType\TAddressSE();
$general->Pickup->Address->Name = 'Gränsfors bruks AB';
$general->Pickup->Address->AddressLine = 'Stationsgatan';
$general->Pickup->Address->PostCode = '82077';
$general->Pickup->Address->City = 'Gnarp';
$general->Delivery = new \DHLBook\StructType\TDelivery();
$general->Delivery->Address = new \DHLBook\StructType\TAddressGeneric();
$general->Delivery->Address->Name = 'Testkund';
$general->Delivery->Address->AddressLine = 'Testgatan';
$general->Delivery->Address->PostCode = '56432';
$general->Delivery->Address->City = 'Bankeryd';

$tbook = new \DHLBook\StructType\TBook( $requestMessageHeader, $general, $gBook = null );

if ( $book->BookPickup( new \DHLBook\StructType\BookPickup( $credentials, $tbook ) ) !== false ) {
    print_r( $book->getResult() );
} else {
	print_r( $book->getLastError() );
}

安全

通过基本身份验证对Web服务进行限制。用户名和密码作为HTTP请求体的一部分发送。