How can I program defensively and avoid duplicate listings?
All applications using AddItem, RelistItem family calls should use the Item.UUID parameter.
Duplicate item listings, caused by various operational problems, can lead to a customer support issues. The problem usually happens when no response is returned from the API, or when the calling application has some failure waiting for the response. The root cause can be because the API Call timed out on the API servers or because of operational problems at eBay or because of operational problems with the API application making the AddItem calls. In any case, eBay provides a defensive mechanism with the UUID parameter in the AddItem, RelistItem family of calls to reduce the occurrences of duplicate listings. It takes very little development effort to save potential production headaches.
Note: For AddItem, RelistItem calls, do not use InvocationID, DO use UUID.
The UUID parameter is a unique identifier for the eBay Item Listing you are sending to eBay. The UUID parameter is essentially a 32 character GUID (Globally Unique Identifier) with the dashes removed. GUIDs consist of hexadecimal characters only. Most algorithms for creating a GUID use some variation of an Ethernet card MAC address, IP address, system time in milliseconds, random numbers, and MD5 hashes.
See the following suggestions for creating UUID values on various platforms.
You can also use SKU to avoid duplicate listings. For more information, please refer to https://ebaydts.com/eBayKBDetails?KBid=1596