© 2010-2013 eBay Inc., All Rights Reserved
'Licensed under CDDL 1.0 - http://opensource.org/licenses/cddl1.php
Imports eBay.Service.Call
Imports eBay.Service.Core.Sdk
Imports eBay.Service.Util
Imports eBay.Service.Core.Soap
Namespace Trading_Samples
Public Class OrderManagement
'GetOrders
Private Sub GetOrders()
'create the context
Dim context As New ApiContext()
'set the User token
context.ApiCredential.eBayToken = "Your token"
'set the server url
context.SoapApiServerUrl = "https://api.sandbox.ebay.com/wsapi"
'enable logging
context.ApiLogManager = New ApiLogManager()
context.ApiLogManager.ApiLoggerList.Add(New FileLogger("log.txt", True, True, True))
context.ApiLogManager.EnableLogging = True
'set the version
context.Version = "817"
context.Site = SiteCodeType.UK
Dim blnHasMore As Boolean = True
Dim CreateTimeFromPrev As DateTime, CreateTimeFrom As DateTime, CreateTimeTo As DateTime
Dim getOrders__1 As New GetOrdersCall(context)
getOrders__1.DetailLevelList = New DetailLevelCodeTypeCollection()
getOrders__1.DetailLevelList.Add(DetailLevelCodeType.ReturnAll)
'CreateTimeTo set to the current time
CreateTimeTo = DateTime.Now.ToUniversalTime()
'Assumption call is made every 15 sec. So CreateTimeFrom of last call was 15 mins
'prior to now
Dim ts1 As New TimeSpan(9000000000L)
CreateTimeFromPrev = CreateTimeTo.Subtract(ts1)
'Set the CreateTimeFrom the last time you made the call minus 2 minutes
Dim ts2 As New TimeSpan(1200000000)
CreateTimeFrom = CreateTimeFromPrev.Subtract(ts2)
getOrders__1.CreateTimeFrom = CreateTimeFrom
getOrders__1.CreateTimeTo = CreateTimeTo
getOrders__1.Execute()
If getOrders__1.ApiResponse.Ack <> AckCodeType.Failure Then
'Check if any orders are returned
If getOrders__1.ApiResponse.OrderArray.Count <> 0 Then
For Each order As OrderType In getOrders__1.ApiResponse.OrderArray
'Update your system with the order information.
Console.WriteLine("Order Number: " + order.OrderID)
Console.WriteLine("OrderStatus: " + order.OrderStatus)
Console.WriteLine("Order Created On: " + order.CreatedTime)
'Get Order Details
Dim orderTrans As TransactionTypeCollection = order.TransactionArray
'Order could be comprised of one or more items
For Each transaction As TransactionType In orderTrans
Console.WriteLine((("Order for: " + transaction.Item.ItemID & ", ") + transaction.Item.SKU & ", ") + transaction.Item.Title)
'If you are listing variation items, you will need to retrieve the variation
'details as chosen by the buyer
If transaction.Variation.SKU IsNot Nothing Then
Console.WriteLine("Variation: " + transaction.Variation.SKU)
End If
Console.WriteLine("OrderLineItemID: " + transaction.OrderLineItemID)
Console.WriteLine("Qty Purchased: " + transaction.QuantityPurchased)
Console.WriteLine(("Buyer Info: " + order.BuyerUserID & ", ") + transaction.Buyer.Email)
Next
If order.CheckoutStatus.Status = CompleteStatusCodeType.Complete Then
'Get Payment Details
Console.WriteLine("Order Adjustment Amount: " + order.AdjustmentAmount.Value)
Console.WriteLine("Order Amount Paid: " + order.AmountPaid.Value)
Console.WriteLine("Payment Method: " + order.CheckoutStatus.PaymentMethod)
Dim extTrans As ExternalTransactionTypeCollection = order.ExternalTransaction
For Each extTran As ExternalTransactionType In extTrans
Console.WriteLine("External TransactionID: " + extTran.ExternalTransactionID)
Console.WriteLine("External Transaction Time: " + extTran.ExternalTransactionTime)
Console.WriteLine("Payment/Refund Amount: " + extTran.PaymentOrRefundAmount.Value)
Next
'Get shipping information
Dim shipping As ShippingServiceOptionsType
shipping = order.ShippingServiceSelected
Console.WriteLine("Shipping Service Selected: " + order.ShippingServiceSelected.ShippingService)
'Get Shipping Address - Address subject to change if the buyer has not completed checkout
Dim address As AddressType = order.ShippingAddress
Dim sAdd As New StringBuilder()
sAdd = sAdd.Append(address.Name)
If address.Street IsNot Nothing AndAlso address.Street <> "" Then
sAdd.Append(", " + address.Street)
End If
If address.Street1 IsNot Nothing AndAlso address.Street1 <> "" Then
sAdd.Append(", " + address.Street1)
End If
If address.Street2 IsNot Nothing AndAlso address.Street2 <> "" Then
sAdd.Append(", " + address.Street2)
End If
If address.CityName IsNot Nothing AndAlso address.CityName <> "" Then
sAdd.Append(", " + address.CityName)
End If
If address.StateOrProvince IsNot Nothing AndAlso address.StateOrProvince <> "" Then
sAdd.Append(", " + address.StateOrProvince)
End If
If address.PostalCode IsNot Nothing AndAlso address.PostalCode <> "" Then
sAdd.Append(", " + address.PostalCode)
End If
If address.CountryName IsNot Nothing AndAlso address.CountryName <> "" Then
sAdd.Append(", " + address.CountryName)
End If
If address.Phone IsNot Nothing AndAlso address.Phone <> "" Then
sAdd.Append(": Phone" + address.Phone)
End If
Console.WriteLine("Shipping Address: " & sAdd)
Dim salesTax As Double
'Get the sales tax
If order.ShippingDetails.SalesTax.SalesTaxAmount Is Nothing Then
salesTax = 0.0
Else
salesTax = order.ShippingDetails.SalesTax.SalesTaxAmount.Value
End If
Console.WriteLine("Sales Tax: " & salesTax)
If order.BuyerCheckoutMessage IsNot Nothing Then
Console.WriteLine("Buyer Checkout Message: " + order.BuyerCheckoutMessage)
End If
End If
Console.WriteLine("********************************************************")
Next
End If
End If
End Sub
End Class
End Namespace
|