Skip to main content
Published: February 09 2007, 1:07:00 PMUpdated: November 28 2020, 3:18:06 PM

GetMyeBayBuying Sample using eBay JAVA SDK

Summary
 

    A buyer's All Buying and All Favorite are returned in  GetMyeBayBuying. MyeBayBuying data retuned in W atchList, BidList, BestOfferList, FavoriteSearches and FavoriteSellers properties and can be retrieved using JAVA SDK wrapper class GetMyeBayBuyingCall.

   As documented : The FavoriteSearches, FavriteSellers, and SecondChanceOffers containers are based on the complex type MyeBaySelectionType, which lets you sort or filter the return values. The sample project provides two help methods:  setItemListCustomizationTypeParam() and  setMyeBaySelectTypeParam()  for constructing GetMyeBayBuying  request for a given property which includes Pagination. 


Detailed Description

 Here are the major methods of the sample project. The full source code can be downloaded below.

 /*
  * construct GetMyeBayBuying api call request 
**/
    public void request() {

        DetailLevelCodeType[] detailLevels = new DetailLevelCodeType[]{
            DetailLevelCodeType.RETURN_ALL
        };
        GetMyeBayBuyingCall gmes = new GetMyeBayBuyingCall(apiContext);
        gmes.setDetailLevel(detailLevels);

        // construct data containers that based on ItemListCustomizationType
        gmes.setBidList(setItemListCustomizationTypeParam(true, 5, 1, ItemSortTypeCodeType.ITEM_ID));
        gmes.setWonList(setItemListCustomizationTypeParam(true, 5, 1, ItemSortTypeCodeType.END_TIME));
        gmes.setWatchList(setItemListCustomizationTypeParam(true, 5, 1, ItemSortTypeCodeType.END_TIME));
        gmes.setLostList(setItemListCustomizationTypeParam(true, 5, 1, ItemSortTypeCodeType.ITEM_ID));
        gmes.setWatchList(setItemListCustomizationTypeParam(true, 5, 1, ItemSortTypeCodeType.ITEM_ID));
        gmes.setBestOfferList(setItemListCustomizationTypeParam(true, 5, 1, ItemSortTypeCodeType.END_TIME));

        // construct data containers that based on MyeBaySelectionType
        gmes.setFavoriteSearches(setMyeBaySelectTypeParam(true, 5, SortOrderCodeType.ASCENDING));
        gmes.setFavoriteSellers(setMyeBaySelectTypeParam(true, 5, SortOrderCodeType.ASCENDING));

  
        try {
            gmes.getMyeBayBuying();
        } catch (Exception e) {
            if (e instanceof SdkSoapException) {
                SdkSoapException sdkExe = (SdkSoapException) e;
                ErrorType errs = sdkExe.getErrorType();
                System.out.println("error code " + errs.getErrorCode() + "error shot message" + errs.getShortMessage());
            }
            if (e instanceof ApiException) {
                //System.out.println(" I am printing ApiExcetpion ..." + e.getMessage());
                ApiException apiExe = (ApiException) e;
                ErrorType[] errs = apiExe.getErrors();
                for (int j = 0; j < errs.length; j++) {
                    System.out.println("error code " + errs[j].getErrorCode() + "error shot message" + errs[j].getShortMessage());
                }
            }
        }

        // process returned bidlist data
        PaginatedItemArrayType returnedBidList = gmes.getReturnedBidList();
        if (returnedBidList != null) {
            ItemType[] itemArr = returnedBidList.getItemArray().getItem();
            for (ItemType item : itemArr) {
                System.out.println("item.getItemID()====> " + item.getItemID());
            }
        }

        // process returned wonlist data
        PaginatedOrderTransactionArrayType returnedWonList = gmes.getReturnedWonList();
        if (returnedWonList != null) {
            OrderTransactionArrayType ordertranarray = returnedWonList.getOrderTransactionArray();
            OrderTransactionType[] trans = ordertranarray.getOrderTransaction();
            TransactionType transaction = null;
            ItemType item = null;
            for (OrderTransactionType orderTran : trans) {
                // process an order
                OrderType order = orderTran.getOrder();
                if (order != null) {
                    TransactionArrayType tat = order.getTransactionArray();
                    //  get the SOAP transaction array type
                    TransactionType[] tt = tat.getTransaction();
                    // loop through each transaction
                    for (TransactionType singleTran : tt) {
                        retrieveTranaction(singleTran, order);
                    }
                } else { //getting an item returned from a single transaction

                    transaction = orderTran.getTransaction();
                    retrieveTranaction(transaction, order);
                }

            } //end for

        }

        // process returned favorite search list data
        MyeBayFavoriteSearchListType searchesList = gmes.getReturnedFavoriteSearches();
        if (searchesList != null) {
            MyeBayFavoriteSearchType[] favoriteSearchList = searchesList.getFavoriteSearch();

            for (MyeBayFavoriteSearchType favoriteSearch : favoriteSearchList) {
                favoriteSearch.getSearchName();
                favoriteSearch.getSearchQuery();
            }
        }
    }

    private void retrieveTranaction(TransactionType transaction, OrderType order) {
        ItemType item = transaction.getItem();
        if (transaction.getTotalPrice() != null) {
            System.out.println("Total: " + transaction.getTotalPrice().getValue());
        }
        String listingType = item.getListingType().toString();
        // filter out Half item and StoresFixedPrice items
        if ((!listingType.equalsIgnoreCase("Half")) && (!listingType.equalsIgnoreCase("StoresFixedPrice"))) {
            if (item.getSellingStatus().getCurrentPrice() != null) {
                double price = item.getSellingStatus().getCurrentPrice().getValue();
                int number = transaction.getQuantityPurchased().intValue();
                System.out.print("quantity purchased: " + number + ", itemSellingPrice: " + price * number);
            }
            if (order != null) {
                System.out.println("OrderID : " + order.getOrderID() + ",Transactionid : " + transaction.getTransactionID() + ", ItemID : " + item.getItemID());
            } else {
                System.out.println(", Transactionid : " + transaction.getTransactionID() + ", ItemID : " + item.getItemID());
            }
        }
    }

    /*
     * Sets pagenation for MyeBaySelectType based object
     */
    private ItemListCustomizationType setItemListCustomizationTypeParam(Boolean includeNote, int entriesPerPage, int pageNum, ItemSortTypeCodeType sortType) {
        ItemListCustomizationType itemListCust = new ItemListCustomizationType();
        PaginationType page = new PaginationType();
        page.setEntriesPerPage(entriesPerPage);
        page.setPageNumber(pageNum);
        itemListCust.setInclude(includeNote);
        itemListCust.setPagination(page);
        itemListCust.setSort(sortType);

        return itemListCust;
    }

    /*
     * Sets pagenation for MyeBaySelectType based object
     */
    private MyeBaySelectionType setMyeBaySelectTypeParam(Boolean include, int maxResu, SortOrderCodeType sortOrderCode) {
        MyeBaySelectionType selecType = new MyeBaySelectionType();
        selecType.setInclude(include);
        selecType.setMaxResults(maxResu);
        selecType.setSort(sortOrderCode);

        return selecType;
    }

Version Info

The code example above was based on the versions specified below:

API Schema Version 825
Java SDK Version javasdk v817 release

Additional Resource

How well did this answer your question?
Answers others found helpful