Find the answer to your question
Advanced Search
How do I keep up with Category Changes?
If you list in a large number of categories and need to use the API to maintain category data, read the section on Maintaining Category Data in the documentation. The call GetCategoryMappings available in the New Schema is an easy way to keep track of changes to existing categories.
However, if you list in just a handful of categories, you can find the category changes from the CategoryChanges Page
You can also set the CategoryMappingAllowed value to true in your AddItem call. If there is a category change, rather than failing, the response will return the new CategoryID, which you can then use for your subsequent listings.
Here is a sample AddItem call that lists in an old Category ID:
<?xml version="1.0"encoding="utf-8"?>
<AddItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<Version>555</Version>
<Item>
<Country>US</Country>
<Currency>USD</Currency>
<Description>Description.</Description>
<ListingDuration>Days_7</ListingDuration>
<Location>SanJose,CA</Location>
<PaymentMethods>PayPal</PaymentMethods>
<PayPalEmailAddress>test@test.com</PayPalEmailAddress>
<PrimaryCategory>
<CategoryID>22681</CategoryID>
</PrimaryCategory>
<Quantity>1</Quantity>
<StartPrice>1.0</StartPrice>
<Title>Title</Title>
<CategoryMappingAllowed>true</CategoryMappingAllowed>
</Item>
<RequesterCredentials>
<eBayAuthToken>******</eBayAuthToken>
</RequesterCredentials>
</AddItemRequest>
Here is the response with the New Category ID:
<?xml version="1.0" encoding="utf-8"?>
<AddItemResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2008-03-10T22:42:10.573Z</Timestamp>
<Ack>Success</Ack>
<CorrelationID>00000000-00000000-00000000-00000000-00000000-00000000-0000000000</CorrelationID>
<Version>555</Version>
<Build>e555_core_Bundled_6212507_R1</Build>
<ItemID>4503656474</ItemID>
<StartTime>2005-09-21T22:38:29.977Z</StartTime>
<EndTime>2005-09-28T22:38:29.977Z</EndTime>
<Fees>
<Fee>
<Name>AuctionLengthFee</Name>
<FeecurrencyID="USD">0.0</Fee>
</Fee>
<Fee>
<Name>BoldFee</Name>
<FeecurrencyID="USD">0.0</Fee>
</Fee>
<Fee>
<Name>BuyItNowFee</Name>
<FeecurrencyID="USD">0.0</Fee>
</Fee>
<Fee>
<Name>CategoryFeaturedFee</Name>
<FeecurrencyID="USD">0.0</Fee>
</Fee>
.....
.....
.....
<Fee>
<Name>ProPackBundleFee</Name>
<FeecurrencyID="USD">0.0</Fee>
</Fee>
</Fees>
<CategoryID>98084</CategoryID>
</AddItemResponse>