<?php
require_once 'DCLWebService.php';
$SESSION_ID = "";
$ws = new DCLWebService();
// Perform login and store session_id
$arg = new Login();
$arg->strUser = 'Type Your Username';
$arg->strPwd = 'Type Your Password';
$LoginResponse = $ws->Login($arg);
$SESSION_ID =
$LoginResponse->LoginResult;
// Login() return a SESSION_ID if success, empty string
otherwise
if (strlen($SESSION_ID) == 0)
{
echo "User not
authorized.\r\n";
return;
}
//
-------------------------------------------------------------
//
Sample 'SubmitBatchOrder2'
$Batch
= new BatchType01Object();
$Batch->Location = 'FR';
$Batch->OrderArray = array();
// Add first order ------------------------------------------
$Order
= new OrderType01Object();
$Batch->OrderArray[] = $Order; //
Add order to OrderArray (array of OrderType01Object)
$Order->AccountNumber = '01234';
$Order->OrderNumber = 'TEST125';
$Order->ShipTo = new AddressType01Object();
$Order->ShipTo->Attention
= 'Mr. Smith';
$Order->ShipTo->Address1
= '48641 Milmont Dr';
$Order->ShipTo->City
= '
$Order->ShipTo->Country
= 'US';
$Order->ShipTo->PostalCode = '94538';
$Order->ShipTo->StateProvince = 'CA';
$Order->FreightAccount = '00500';
$Order->ShippingCarrier = 'UPS';
$Order->ShippingService = 'GROUND';
$Order->OrderStatus = OrderStatusObject::NormalOrder;
$Order->DetailArray = array();
$Detail = new DetailType01Object();
$Order->DetailArray[] = $Detail; //
Add detail to DetailArray (array of
DetailType01Object)
$Detail->ItemNumber = 'ITEM0001';
$Detail->Quantity = 1;
// Add second order ------------------------------------------
$Order
= new OrderType01Object();
$Batch->OrderArray[] = $Order;
$Order->AccountNumber = '01234';
$Order->OrderNumber = 'TEST789';
$Order->ShipTo = new AddressType01Object();
$Order->ShipTo->Attention
= 'Mr. Smith';
$Order->ShipTo->Address1
= '48641 Milmont Dr';
$Order->ShipTo->City
= '
$Order->ShipTo->Country
= 'US';
$Order->ShipTo->PostalCode = '94538';
$Order->ShipTo->StateProvince = 'CA';
$Order->FreightAccount = '00500';
$Order->ShippingCarrier = 'UPS';
$Order->ShippingService = 'GROUND';
$Order->OrderStatus = OrderStatusObject::NormalOrder;
$Order->DetailArray = array();
$Detail = new DetailType01Object();
$Order->DetailArray[] = $Detail; //
Add detail to DetailArray (array of
DetailType01Object)
$Detail->ItemNumber = 'ITEM0002';
$Detail->Quantity = 1;
//
Submit Order ----------------------------------
$arg = new SubmitBatchOrder2();
$arg->SessionID = $SESSION_ID;
$arg->Batch
= $Batch;
//var_dump($arg);
$SubmitBatchOrder2Response
= $ws->SubmitBatchOrder2($arg);
if ($SubmitBatchOrder2Response->SubmitBatchOrder2Result->ResultStatus->Error
!= 0) {
//
Show the reason why the batch has been rejected
echo $SubmitBatchOrder2Response->SubmitBatchOrder2Result->ResultStatus->ErrorStr;
return;
}
else {
//
Let's see which order has been accepted and which
one has been rejected
$total_orders = count($SubmitBatchOrder2Response->SubmitBatchOrder2Result->OrderStatusArray->ResultStatusObject);
// Same as count($Batch->OrderArray)
for ($i = 0; $i
< $total_orders; $i++) {
$ResultStatusObject
= $SubmitBatchOrder2Response->SubmitBatchOrder2Result->OrderStatusArray->ResultStatusObject[$i];
if ($ResultStatusObject->Error
!= 0) {
echo 'Order n.' . $Batch->OrderArray[$i]->OrderNumber . ' has been
rejected with error: ' . $ResultStatusObject->ErrorStr . "\n";
}
else {
echo 'Order n.' . $Batch->OrderArray[$i]->OrderNumber . ' has been
accepted' .
"\n";
}
}
//echo
'BatchName = ' .
$SubmitBatchOrder2Response->SubmitBatchOrder2Result->BatchName;
}
//var_dump($SubmitBatchOrder2Response);
?>