////////////////////////////////////////
// helper functions
////////////////////////////////////////
function ItemToString($item){
echo ' Item Id: ' . $item -> ItemId . PHP_EOL
. ' Title: ' . $item -> Title . PHP_EOL
. ' Quantity: ' . $item -> Quantity . PHP_EOL
. ' UnitPrice: ' . $item -> UnitPrice . PHP_EOL
. ' VAT: ' . $item -> VatRate . PHP_EOL . PHP_EOL;
}
function ItemsToString($items){
$itemsString = 'Items:' . PHP_EOL;
if(is_array($items)){
foreach ($items as $item) {
$itemsString = $itemsString . ItemToString($item);
}
}
else {
$itemsString = $itemsString . ItemToString($items);
}
return $itemsString;
}
function PrintOrder($order, $paid = true){
$paymentInfo = null;
if ($paid){
$paymentInfo = 'Payment info:' . PHP_EOL
. ' -' . $order -> SellerOrderPayments -> SellerOrderPayment -> PaymentType . PHP_EOL
. ' -' . $order -> SellerOrderPayments -> SellerOrderPayment -> Reference . PHP_EOL
. ' -' . $order -> SellerOrderPayments -> SellerOrderPayment -> Amount . PHP_EOL
. ' -' . $order -> SellerOrderPayments -> SellerOrderPayment -> PaidDate . PHP_EOL
. ' -' . $order -> SellerOrderPayments -> SellerOrderPayment -> PaymentCost . PHP_EOL;
}
echo 'Order #' . $order -> OrderId . PHP_EOL
. 'Created: ' . $order -> CreatedDate . PHP_EOL
. 'Subtotal (VAT incl): ' . $order -> SubTotal . PHP_EOL
. 'Shipping type: ' . $order -> ShippingType . PHP_EOL
. 'Shipping cost (VAT incl): ' . $order -> ShippingCost . PHP_EOL
. $paymentInfo
. 'Items:' . PHP_EOL . ItemsToString($order -> Items -> SellerOrderItem) . PHP_EOL
. 'Buyer:' . PHP_EOL
. ' UserId: : ' . $order -> Buyer -> UserId . PHP_EOL
. ' First Name: : ' . $order -> Buyer -> FirstName . PHP_EOL
. ' Last Name: ' . $order -> Buyer -> LastName . PHP_EOL
. ' AddressLine1: ' . $order -> Buyer -> AddressLine1 . PHP_EOL
. ' ZipCode: ' . $order -> Buyer -> ZipCode . PHP_EOL
. ' City: ' . $order -> Buyer -> City . PHP_EOL
. ' Country: ' . $order -> Buyer -> CountryName . PHP_EOL
. ' E-mail: ' . $order -> Buyer -> Email . PHP_EOL
. ' Phone: ' . $order -> Buyer -> Phone . PHP_EOL
. ' User alias: ' . $order -> Buyer -> Alias . PHP_EOL
. 'Shipping address:' . PHP_EOL
. ' -' . $order -> ShipTo -> Name . PHP_EOL
. ' -' . $order -> ShipTo -> AddressLine1 . PHP_EOL
. ' -' . $order -> ShipTo -> ZipCode . PHP_EOL
. ' -' . $order -> ShipTo -> City . PHP_EOL
. ' -' . $order -> ShipTo -> CountryName . PHP_EOL . PHP_EOL;
}
function HandleOrders($orders){
if (is_array($orders)) {
echo '=============================================' . PHP_EOL
.'=============== Paid Orders ================' . PHP_EOL;
foreach ($orders as $order) {
if(isset($order -> SellerOrderPayments -> SellerOrderPayment)){
PrintOrder($order);
echo '=============================================' . PHP_EOL;
}
}
echo '=============================================' . PHP_EOL
.'=============== Unpaid Orders ===============' . PHP_EOL;
foreach ($orders as $order) {
if(!isset($order -> SellerOrderPayments -> SellerOrderPayment)){
PrintOrder($order, false);
echo '=============================================' . PHP_EOL;
}
}
}
else {
echo '=============================================' . PHP_EOL;
if(isset($orders -> SellerOrderPayments -> SellerOrderPayment)){
echo '=============== Paid Order ================' . PHP_EOL;
}
else {
echo '=============== Unpaid Order ================' . PHP_EOL;
}
PrintOrder($orders, isset($orders -> SellerOrderPayments -> SellerOrderPayment));
echo '=============================================' . PHP_EOL;
}
}
///////////////////////////////////////////////
// Method call
///////////////////////////////////////////////
try {
// Replace the following variables with your own key management
// $APPLICATION_KEY
// $TOKEN
// $USER_ID
// $APPLICATION_ID
$appId = $APPLICATION_ID;
$userId = $USER_ID;
$token = $TOKEN;
$appKey = $APPLICATION_KEY;
$orderServiceUrl = 'https://api.tradera.com/v3/OrderService.asmx';
$orderServiceUrlWithAuth = $orderServiceUrl
. '?appId=' . $appId
. '&appKey=' . $appKey
. '&userId=' . $userId
. '&token=' . $token;
$orderClient = new SoapClient(
$orderServiceUrl . '?WSDL',
array('location' => $orderServiceUrlWithAuth)
);
// The dates for which we want to get orders
$fromDate = mktime(15, 0, 0, 12, 24, 2015);
$toDate = null; // All dates after from date
$getSellerOrdersRequest = new StdClass();
$getSellerOrdersRequest -> FromDate = $fromDate;
$getSellerOrdersRequest -> ToDate = $toDate;
$getSellerOrdersRequest -> QueryDateMode = 'LastUpdatedDate';
$getSellerOrdersParams = new StdClass();
$getSellerOrdersParams -> request = $getSellerOrdersRequest;
echo 'Getting orders for time span: ';
echo (isset($fromDate) ? date('c', $fromDate) : 'start of time');
echo ' to ';
echo (isset($toDate) ? date('c', $toDate) : 'end of time') . PHP_EOL;
// Make Soap call
$getSellerOrdersResponse = $orderClient->GetSellerOrders($getSellerOrdersParams);
// Handle result
if(!isset($getSellerOrdersResponse -> GetSellerOrdersResult -> SellerOrders -> SellerOrder)) {
echo 'No orders in time span' . PHP_EOL;
}
else{
$sellerOrders = $getSellerOrdersResponse -> GetSellerOrdersResult -> SellerOrders -> SellerOrder;
HandleOrders($sellerOrders);
}
}
catch(SoapFault $soapFault) {
echo 'Error: ' . $soapFault->faultstring;
}
|