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

  $arg = new GetShipConfirmationType03();

  $arg->SessionID =  $SESSION_ID;

  $arg->OrderNumber = '<ORDER NUMBER>';

  $arg->ShipDate = '';

 

 

  $GetShipConfirmationType03Response = $ws->GetShipConfirmationType03($arg);

 

  if ($GetShipConfirmationType03Response->GetShipConfirmationType03Result->ResultStatus->Error != 0) {

    echo $GetShipConfirmationType03Response->GetShipConfirmationType03Result->ResultStatus->ErrorStr;

    return;

  }

  else {

    $total_orders = count($GetShipConfirmationType03Response->GetShipConfirmationType03Result->OrderHeaderArray);

    for ($norder = 0; $norder < $total_orders; $norder++) {

      $Order = $GetShipConfirmationType03Response->GetShipConfirmationType03Result->OrderHeaderArray->SCOrderHeaderObject[$norder];

      echo 'Account Number: ' .  $Order->AccountNumber . "\n";

      echo 'Order Number: ' .  $Order->OrderNumber . "\n";

      echo 'Location: ' .  $Order->Location . "\n";

      echo 'Order Stage: ' .  $Order->OrderStage . "\n";

      echo 'Order Stage Description: ' .  $Order->OrderStageDescription . "\n";

      echo 'Received On: ' .  $Order->ReceivedOn . "\n";

      echo 'PO Number: ' .  $Order->PONumber . "\n";

      echo 'OrderStatus: ' .  $Order->OrderStatus . "\n";

      echo 'Custom Field 1: ' .  $Order->CustomField1 . "\n";

      echo 'Custom Field 2: ' .  $Order->CustomField2 . "\n";

      echo 'Custom Field 3: ' .  $Order->CustomField3 . "\n";

      echo 'Custom Field 4: ' .  $Order->CustomField4 . "\n";

      echo 'Custom Field 5: ' .  $Order->CustomField5 . "\n";

 

      $total_items = count($Order->OrderDetailArray->CSOrderDetailObject);

      echo "Items:\n";

      for ($ndetail = 0; $ndetail < $total_items; $ndetail++) {

        $Detail = $Order->OrderDetailArray->CSOrderDetailObject[$ndetail];

        echo '  [' . ($ndetail + 1) . ' of ' . $total_items . "]:\n";

        echo '    Line Number: ' .  $Detail->LineNumber . "\n";

        echo '    Part Number: ' .  $Detail->PartNumber . "\n";

        echo '    Description: ' .  $Detail->Description . "\n";

        echo '    Quantity: ' .  $Detail->OrderQuantity . "\n";

        echo '    Back Order: ' .  $Detail->BackOrder . "\n";

        echo '    Custom Field 1: ' .  $Detail->CustomField1 . "\n";

        echo '    Custom Field 2: ' .  $Detail->CustomField2 . "\n";

        echo '    Custom Field 5: ' .  $Detail->CustomField5 . "\n";

      }

      $total_shipments = count($Order->ShipmentArray->SCShipmentObject);

      echo "Shipments:\n";

      for ($nshipment = 0; $nshipment < $total_shipments; $nshipment++) {

        $Shipment = $Order->ShipmentArray->SCShipmentObject[$nshipment];

        echo '  [' . ($nshipment + 1) . ' of ' . $total_shipments . "]:\n";

        echo '    Ship Date: ' .  $Shipment->ShipDate . "\n";

        echo '    Carrier: ' .  $Shipment->ShippingCarrier . "\n";

        echo '    Service: ' .  $Shipment->ShippingService . "\n";

        echo '    Freight Account: ' .  $Shipment->FreightAccount . "\n";

        echo '    Reference 1: ' .  $Shipment->Reference1 . "\n";

        echo '    Reference 2: ' .  $Shipment->Reference2 . "\n";

        echo '    Reference 3: ' .  $Shipment->Reference3 . "\n";

        echo '    Reference 4: ' .  $Shipment->Reference4 . "\n";

        echo "    Ship To:\n";

        echo '      Company: ' .  $Shipment->ShipTo->Company . "\n";

        echo '      Attention: ' .  $Shipment->ShipTo->Attention . "\n";

        echo '      Address 1: ' .  $Shipment->ShipTo->Address1 . "\n";

        echo '      Address 2: ' .  $Shipment->ShipTo->Address2 . "\n";

        echo '      Email: ' .  $Shipment->ShipTo->Email . "\n";

        echo '      Phone: ' .  $Shipment->ShipTo->Phone . "\n";

        echo '      City: ' .  $Shipment->ShipTo->City . "\n";

        echo '      State: ' .  $Shipment->ShipTo->StateProvince . "\n";

        echo '      Country: ' .  $Shipment->ShipTo->Country . "\n";

           

        $total_packages = count($Shipment->PackageArray->SCPackageObject);

        echo "    Packages:\n";

        for ($npackage = 0; $npackage < $total_packages; $npackage++) {

          $Package = $Shipment->PackageArray->SCPackageObject[$npackage];

          echo '      [' . ($npackage + 1) . ' of ' . $total_packages . "]:\n";

          echo '        Carton N.: ' .  $Package->CartonNumber . "\n";

          echo '        ASN: ' .  $Package->ASN . "\n";

          echo '        Tracking Number: ' .  $Package->TrackingNumber . "\n";

          echo '        Weight: ' .  $Package->Weight . "\n";

          echo '        Freight: ' .  $Package->Freight . "\n";

          $total_package_detail = count($Package->PackageDetailArray->SCPackageDetailObject);

          echo "        Package Detail:\n";

          for ($npackagedet = 0; $npackagedet < $total_package_detail; $npackagedet++) {

            $PackageDetail = $Package->PackageDetailArray->SCPackageDetailObject[$npackagedet];

            echo '          [' . ($npackagedet + 1) . ' of ' . $total_package_detail . "]:\n";

            echo '            Part N.: ' .  $PackageDetail->PartNumber . "\n";

            echo '            Ship Quantity: ' .  $PackageDetail->ShipQuantity . "\n";

            $total_SN_LotNum = count($PackageDetail->SerialLotNumberArray->string);

            if ($total_SN_LotNum > 0) {

              echo "            S/N - Lot Numbers:\n";

              for ($nserial = 0; $nserial < $total_SN_LotNum; $nserial++) {

                echo '              ' .  $PackageDetail->SerialLotNumberArray->string[$nserial] . "\n";

              }

            }

          }

        }

      }

    }

  }

?>