<?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 'GetItemStatus'

  $arg = new GetItemStatus();

  $arg->SessionID = $SESSION_ID;

  $arg->ItemNumber = '1234';

 

  $GetItemStatusResponse = $ws->GetItemStatus($arg);

  if ($GetItemStatusResponse->GetItemStatusResult->ResultStatus->Error != 0) {

    echo $GetItemStatusResponse->GetItemStatusResult->ResultStatus->ErrorStr;

    return;

  }

  else {

      echo 'Success!!!';

  }

  //var_dump($GetItemStatusResponse);

  */

 

  // -------------------------------------------------------------

  /*

  // Sample 'GetOrderStatus'

  $arg = new GetOrderStatus();

  $arg->SessionID = $SESSION_ID;

  $arg->OrderNumber = '123412';

 

  $GetOrderStatusResponse = $ws->GetOrderStatus($arg);

  if ($GetOrderStatusResponse->GetOrderStatusResult->ResultStatus->Error != 0) {

    echo $GetOrderStatusResponse->GetOrderStatusResult->ResultStatus->ErrorStr;

    return;

  }

  else {

      echo 'Success!!!';

  }

  var_dump($GetOrderStatusResponse);

  */

 

  // -------------------------------------------------------------

  // Sample 'SubmitBatchOrder'

  $Batch = new BatchType01Object();

  $Batch->Location = 'FR';

  $Batch->OrderArray = array();

 

  $Order = new OrderType01Object();

  $Batch->OrderArray[] = $Order; // Add order to OrderArray (array of OrderType01Object)

 

  // To add another order to the batch:

  // $Order2 = new OrderType01Object();

  // $Batch->OrderArray[] = $Order2; // 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 = 'Fremont';

  $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;

 

  // Submit Order

  $arg = new SubmitBatchOrder();

  $arg->SessionID = $SESSION_ID;

  $arg->Batch = $Batch;

  //var_dump($arg);

 

  $SubmitBatchOrderResponse = $ws->SubmitBatchOrder($arg);

  if ($SubmitBatchOrderResponse->SubmitBatchOrderResult->ResultStatus->Error != 0) {

    // Show the reason why the order has been rejected

    echo $SubmitBatchOrderResponse->SubmitBatchOrderResult->ResultStatus->ErrorStr;

    return;

  }

  else {

      echo 'Success!!!';

    //echo 'BatchName = ' . $SubmitBatchOrderResponse->SubmitBatchOrderResult->BatchName;

  }

  //var_dump($SubmitBatchOrderResponse);

?>