Skip to main content
Published: July 11 2007, 2:22:00 PMUpdated: August 03 2022, 5:10:33 PM

Question

I am making a call to GetSellerList, but I do not get back the attribute information in the Item Object. Why is the AttributeSetArray not being populated and returned?

Answer

Summary

Not all calls return all the elements for container.  For instance, GetSellerList returns the Item container, but it does not return all the properties of the ItemType object.  To find out what information is returned for a call, you need to look at the Input / Output reference for the call. 
 


 

Detailed Description

Think of the information returned in a call as being message driven.  There is a common information model, but depending on the functionality offered by a call, the relevant information is returned for that call.  For instance, the goal of GetSellerList is to primarily return all the Items for a given seller in an optimal manner.  The chief use of this call would be to sync your database with that of eBay's, and not to get all the relevant information about an item.  Hence it does not return things like the attributes (item specifics) for the items.  If you need to get the attribute information, then you would need to make a call to GetItem for each individual item that is of interest.  Similarly, GetItem returns the information about an item, but not the transactional information for the item - for that you would need to use calls like GetSellerTransactions. 

Besides what is returned in a call, the amount of information returned is controlled by the DetailLevel / GranularityLevel.  You can use this effectively to reduce the amount of information returned and make your application efficient.  For instance, if you need to find out all the items for a seller with just the ItemIDs, then do not send in any DetailLevel or GranularityLevel in the GetSellerList call.  The response will return the ItemID, StartTime and EndTime and it will be very fast compared to setting a DetailLevel of ReturnAll. 
Here is how you can use Input / Output reference documentation effectively:
  • List of All Calls :  for a list of all the calls, the input and output for each call
  • Field Index: for list of fields and which calls use / return them
  • Enumeration Index: for a list of enumeration types & values and which calls use them
  • Type Index: for a list of all the types used in the schema

To find out if a call supports DetailLevel / GranularityLevel, and what is returned at each level, check the Best Practices section in the documentation for that call.

 

Additional Resources

 

 

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