我与ebay的API集成开始提供以下错误消息:
[result] => 21919403:缺少特定于商品的商品。将品牌添加到此列表,输入有效值,然后重试。 )
我知道这与XML标签缺失有关。我甚至试图将标签添加到这个xml中;它不起作用:
$requestXmlBody .= "<ItemSpecifics> ";
foreach ($ebayApi_itemspecifics as $ebayApi_itemspecifickey=>$ebayApi_itemspecificvalue) {
$requestXmlBody .= "<NameValueList><Name>" . str_replace('&', '&', $ebayApi_itemspecifickey) . "</Name>
<Value>".$ebayApi_itemspecificvalue."</Value></NameValueList>";
}
$requestXmlBody .= " <NameValueList>
<Name>Brand</Name>
<Value>Navdari</Value>
</NameValueList>
</ItemSpecifics>";
答案 0 :(得分:4)
以下是工作解决方案:
$this->item->ProductListingDetails = new Types\ProductListingDetailsType();
$this->item->ProductListingDetails->UPC = 'Does not apply';
$this->item->ItemSpecifics = new Types\NameValueListArrayType();
$specific = new Types\NameValueListType();
$specific->Name = 'Brand';
$specific->Value[] = 'BrandValue';
$this->item->ItemSpecifics->NameValueList[] = $specific;
$specific = new Types\NameValueListType();
$specific->Name = 'MPN';
$specific->Value[] = 'MPNValue';
$this->item->ItemSpecifics->NameValueList[] = $specific;
答案 1 :(得分:3)
eBay在过去一年中转换了许多产品类别,要求在每个列表中提供UPC /品牌/ MPN信息。幸运的是,卖家可以使用默认值。
您应该使用的最佳实践流程如下:
获取类别详细信息以确定所需的字段。使用GetCategoryFeatures调用来获取这些详细信息。通常需要处理4个标识符:
一旦确定了您的商品的缺失(在这种特定情况下,您似乎需要品牌),您可以尝试在商品细节中应用相应的信息(看起来您已经尝试过这个)。如果这不起作用,您可以尝试加载默认值。再说..最佳实践有点复杂但是......
GeteBayDetails
API调用来检索DetailNameCodeType.ProductDetails
。您正在寻找`ProductDetails.ProductIdentifierUnavailableText。这是您可以添加到ItemSpecifics以提交没有品牌的商品的默认文本。 完成所有这些操作后,您只需将默认文字插入您的商家信息即可。通常,对于&#39;品牌&#39;,您只需要插入&#39; Unbranded&#39;。我可以说我有一些奇怪的问题,硬编码的价值。偶尔我会有一个列表失败的UPC&#39;不适用&#39;如果我检索到默认文本(&#39;不适用&#39;)并将UPC设置为检索到的UPC默认值,则它可以完美地工作。它可能与字符集编码有关,特别是因为这是eBay在获得认证时要求您处理的事情之一(如果我记得需要UTF-8)。
不幸的是我使用.NET SDK进行eBay,所以我的所有代码都不会直接转移到您的问题,尽管这是完全相同的问题。我猜你的情况是eBay根本不认识你想要提交的品牌。