Home
Find the answer to your question
This sample demonstrates how to go about Sales order processing using GetOrders with order creation time filter described in the KB Order management using Trading API - GetOrders. The sample has been written in VB.NET using .NET SDK.
Below is the code. Corresponding GetOrders SOAP request is attached with this article.
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 = "727" context.Site = SiteCodeType.Australia 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 |