eBay SDK AddItem new ProductDetails EAN Requiremen

2019-08-14 02:25发布

问题:

I've asked this question on an eBay forum already, but you have been very helpful, so probably worth posting here too.

Over the past few days I have realised that for many categories in which I sell, EANs are becoming required. I have been trying to update my eBay integration to take this into account, but have run into problems.

The additions to my code provide a workflow, and have problems as follows:

I sell musical instruments and accessories, so let's take a typical example a product "Boss CS-3 Compression Pedal", here's a link to a seller listing it: http://www.ebay.co.uk/itm/231547986565

The EAN is 4957054012854

I want to list this in "Musical Instruments > Guitars & Basses > Accessories > Effects Pedals" Category ID for this is: 41410

So, as I understand it, the first thing I need to know is whether EAN is a requirement for this Category. So, using the eBay .NET SDK I run a post to GetCategoryFeatures requesting the following feature IDs:

BrandMPNIdentifierEnabled,
EANEnabled,
UPCEnabled,
ISBNIdentifierEnabled

The response gives me, amongst other things:

EANEnabled: Required,
ISBNEnabled: Disabled,
UPCEnabled: Disabled,
BrandMPNIdentifierEnabled: False

This indicates to me that the EAN is a required ProductDetails value to include in the AddItem post.

So now I need to know if the EAN for this item exists in the eBay Catalogue, so I do a post to findItemsByProduct in the FindingService. I post to this URL:

http://svcs.ebay.com/services/search/FindingService/v1?SECURITY-APPNAME=[MY-APP-ID]&OPERATION-NAME=findItemsByProduct&GLOBAL-ID=EBAY-GB&SERVICE-VERSION=1.0.0&RESPONSE-DATA-FORMAT=JSON&REST-PAYLOAD&productId.@type=EAN&productId=4957054012854&paginationInput.entriesPerPage=1

The responses ack field is "Failure", which, from what I have gleaned from various internet posts tells me that the item is not found in the eBay Catalogue. Why? I don't know, as the listing example I give above shows the EAN in the Item Specifics fields... but anyway...

So, armed with this information, I can find only the advice that I should replaced the EAN value with a value returned from a post to GeteBayDetails, the value being found as ProductIdentifierUnavailableText which, in my instance (for eBay UK) reads "Does not apply".

Now, I build my item as usual and add the ProductDetails value as follows (in VB.net):

Dim ProductDetails As New ProductListingDetailsType With {
    .EAN = "Does not apply"
}

I also note the requirement for an MPN and add that (it returned an error if not provided)

When I list it, I get a Failure response with the following error:

No product found for ProductListingDetails.<EAN> <Does not apply>.

If I take away the ProductDetails I get:

Required field, EAN, is missing. Please add EAN to the listing and retry, so clearly, I do need to provide this information.

I get exactly the same problem trying to revise a listing.

I have tried adding the EAN in the ItemSpecifics object instead of ProductDetails, but that returns the "EAN Missing" error, and have tried alternating between including one, or the other, or both.

So my questions are:

1: Can someone please explain to me what I am doing wrong and how I go about rectifying it, because at the moment I cannot list, or revise items on eBay at all!

2: Since most of my suppliers provide a UPC, not an EAN, am I to take it literally that the idetifier to be provided MUST be an EAN? Or can I provide the UPC field instead?

回答1:

Hope this saves someone some time on the addItem and reviseItem call (it took me a while to work out)

I managed to make it work using

<ProductListingDetails> 
       <EAN>Does not apply</EAN> 
</ProductListingDetails>


回答2:

You can add following into your XML

<VariationProductListingDetails>
    <EAN>$EAN</EAN>
</VariationProductListingDetails>   


标签: ebay-api