For full functionality of this site it is necessary to enable JavaScript.
Here are the instructions how to enable JavaScript in your web browser.

Knowledge base

Find the answer to your question

Advanced Search PView

Search terms
Search Type
Product
Category
Language
Format
SDK
Sort by
Direction

C# Sales order processing using GetOrders

  • Answer ID 1679
  • Published 04/23/2015 08:44 AM
  • Updated 04/23/2015 08:44 AM
  • Permalink https://ebaydts.com/eBayKBDetails?KBid=1679
Product

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 C# using .NET SDK v817.


Below is the code. Corresponding GetOrders SOAP request is attached with this article.

/*
© 2010-2013 eBay Inc., All Rights Reserved
Licensed under CDDL 1.0 - http://opensource.org/licenses/cddl1.php
*/

 

using System;

using System.Collections.Generic;

using System.Text;

using eBay.Service.Core.Sdk;

using eBay.Service.Call;

using eBay.Service.Core.Soap;

using eBay.Service.Util;

namespace Trading_Samples

{

    class Program

    {

        static void Main(string[] args)

        {

            MakeGetOrders();

            Console.ReadLine();

        } 

        //MakeGetOrders

        private static void MakeGetOrders()

        {

            //create the context

            ApiContext context = new ApiContext();

            //set the User token
            context.ApiCredential.eBayToken = "YOUR_TOKEN_HERE";

 

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

            bool blnHasMore = true;

            DateTime CreateTimeFromPrev, CreateTimeFrom, CreateTimeTo;

            GetOrdersCall getOrders = new GetOrdersCall(context);

            getOrders.DetailLevelList = new DetailLevelCodeTypeCollection();

            getOrders.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

            TimeSpan ts1 = new TimeSpan(9000000000);

            CreateTimeFromPrev = CreateTimeTo.Subtract(ts1);

 

            //Set the CreateTimeFrom the last time you made the call minus 2 minutes

            TimeSpan ts2 = new TimeSpan(1200000000);

            CreateTimeFrom = CreateTimeFromPrev.Subtract(ts2);

            getOrders.CreateTimeFrom = CreateTimeFrom;

            getOrders.CreateTimeTo = CreateTimeTo;

            getOrders.Execute();

 

            if (getOrders.ApiResponse.Ack != AckCodeType.Failure)

            {

                //Check if any orders are returned

                if (getOrders.ApiResponse.OrderArray.Count != 0)

                {

                    foreach (OrderType order in getOrders.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

                        TransactionTypeCollection orderTrans = order.TransactionArray;

 

                        //Order could be comprised of one or more items

                        foreach (TransactionType transaction 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 != null)

                            {

                                Console.WriteLine("Variation: " + transaction.Variation.SKU);

                            }

                            Console.WriteLine("OrderLineItemID: " + transaction.OrderLineItemID);

                            Console.WriteLine("Qty Purchased: " + transaction.QuantityPurchased);

                            Console.WriteLine("Buyer Info: " + order.BuyerUserID + ", " + transaction.Buyer.Email);

                        }

 

                        if (order.CheckoutStatus.Status == CompleteStatusCodeType.Complete)

                        {

                            //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);

                            ExternalTransactionTypeCollection extTrans = order.ExternalTransaction;

                            foreach (ExternalTransactionType extTran in extTrans)

                            {

                                Console.WriteLine("External TransactionID: " + extTran.ExternalTransactionID);

                                Console.WriteLine("External Transaction Time: " + extTran.ExternalTransactionTime);

                                Console.WriteLine("Payment/Refund Amount: " + extTran.PaymentOrRefundAmount.Value);

                            }

 

                            //Get shipping information

                            ShippingServiceOptionsType shipping;

                            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                      

                            AddressType address = order.ShippingAddress;

                            StringBuilder sAdd = new StringBuilder();

                            sAdd = sAdd.Append(address.Name);

                            if (address.Street != null && address.Street != "")

                                sAdd.Append(", " + address.Street);

 

                            if (address.Street1 != null && address.Street1 != "")

                                sAdd.Append(", " + address.Street1);

 

                            if (address.Street2 != null && address.Street2 != "")

                                sAdd.Append(", " + address.Street2);

 

                            if (address.CityName != null && address.CityName != "")

                                sAdd.Append(", " + address.CityName);

 

                            if (address.StateOrProvince != null && address.StateOrProvince != "")

                                sAdd.Append(", " + address.StateOrProvince);

 

                            if (address.PostalCode != null && address.PostalCode != "")

                                sAdd.Append(", " + address.PostalCode);

 

                            if (address.CountryName != null && address.CountryName != "")

                                sAdd.Append(", " + address.CountryName);

 

                            if (address.Phone != null && address.Phone != "")

                                sAdd.Append(": Phone" + address.Phone);

 

                            Console.WriteLine("Shipping Address: " + sAdd);

                            double salesTax;

 

                            //Get the sales tax

                            if (order.ShippingDetails.SalesTax.SalesTaxAmount == null)

                                salesTax = 0.00;

                            else

                                salesTax = order.ShippingDetails.SalesTax.SalesTaxAmount.Value;

 

                            Console.WriteLine("Sales Tax: " + salesTax);

                            if (order.BuyerCheckoutMessage != null)

                            {

                                Console.WriteLine("Buyer Checkout Message: " + order.BuyerCheckoutMessage);

                            }

                        }

                        Console.WriteLine("********************************************************");

                    }

                }

                else

                {

                    Console.WriteLine("No Order available");

                    Console.WriteLine("TotalNumberOfPages: " + getOrders.ApiResponse.PaginationResult.TotalNumberOfPages.ToString());

                    Console.WriteLine("TotalNumberOfEntries: " + getOrders.ApiResponse.PaginationResult.TotalNumberOfEntries.ToString());

                    Console.WriteLine("********************************************************");

                }

            }

        }

    }

}

 

 

 

 

 

 

 

 


 

File Attachments

How well did this answer your question?

Answers others found helpful

Print Email This Page Delicious Digg Facebook Reddit StumbleUpon Twitter