【问题标题】:eBay API call in PHP returns 'The item specific Brand is missing' errorPHP 中的 eBay API 调用返回“缺少特定商品的品牌”错误
【发布时间】:2016-03-14 16:30:40
【问题描述】:

我与 ebay 的 API 集成开始给出以下错误消息:

[result] => 21919403:商品特定品牌缺失。将品牌添加到此列表中,输入有效值,然后重试。 )

我知道这与缺少 XML 标记有关。我什至尝试将标签添加到这个 xml;它没有用:

$requestXmlBody .= "<ItemSpecifics> ";
foreach ($ebayApi_itemspecifics as $ebayApi_itemspecifickey=>$ebayApi_itemspecificvalue) {
    $requestXmlBody .= "<NameValueList><Name>" . str_replace('&', '&amp;', $ebayApi_itemspecifickey) . "</Name>
                        <Value>".$ebayApi_itemspecificvalue."</Value></NameValueList>";           
}

$requestXmlBody .= "  <NameValueList>
        <Name>Brand</Name>
        <Value>Navdari</Value>
    </NameValueList> 
  </ItemSpecifics>";

【问题讨论】:

  • 请注意,我会考虑修改您的代码清单以使其更具可读性。

标签: php ebay-api


【解决方案1】:

这是可行的解决方案:

$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;

【讨论】:

    【解决方案2】:

    在过去的一年里,eBay 一直在转换许多产品类别,要求在每个列表中提供 UPC/品牌/MPN 信息。幸运的是,卖家可以使用默认值。

    您应该使用的最佳实践流程如下:

    1. 获取类别详细信息以确定需要哪些字段。使用 GetCategoryFeatures 调用来获取这些详细信息。通常有 4 个标识符需要处理:

      • UPC
      • MPN/品牌
      • 国际标准书号
      • EAN

    一旦您确定您的列表缺少什么(在这种特定情况下,您似乎需要品牌),您可以尝试在商品详情中应用适当的信息(看起来您已经尝试过此操作)。如果这不起作用,您可以尝试加载默认值。再说一遍.. 最佳实践有点复杂,但是..

    1. 使用GeteBayDetails API 调用检索DetailNameCodeType.ProductDetails。您正在寻找 `ProductDetails.ProductIdentifierUnavailableText。这是您可以添加到 ItemSpecifics 以提交不带品牌的列表的默认文本。

    所有这些都完成后,您只需将默认文本插入您的列表并试一试。通常对于“品牌”,您只需插入“无品牌”。我可以说我在硬编码值时遇到了一些奇怪的问题。有时,我的列表会失败,并显示 UPC“不适用”,如果我检索了默认文本(“不适用”)并将 UPC 设置为检索到的 UPC 默认值,它工作得很好。它可能与字符集编码有关,特别是因为这是 eBay 在获得应用程序认证时要求您处理的事情之一(如果我记得,需要是 UTF-8)。

    不幸的是,我使用 .NET SDK for eBay,所以我的所有代码都不会直接转移到您的问题上,尽管这是完全相同的问题。我猜在您的情况下,eBay 根本无法识别您尝试提交的品牌。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-12
      相关资源
      最近更新 更多