无法使用 eBay API 更新列表描述



我正在尝试编写 perl 脚本,该脚本将更新我们的 eBay listings 描述而不必继续登录多个市场,如果证明要保持库存水平,描述等更新)。这是我到目前为止所拥有的:

 my $ebay = new Net::eBay( {
                              SiteLevel => 'prod',
                              DeveloperKey => 'x',
                              ApplicationKey => 'x',
                              CertificateKey => 'x',
                              Token => 'x',
                             } );
  $ebay->setDefaults( { API => 2, compatibility => 900  } );
my $new_desc = q|<meta name="viewport" content="width=device-width, initial-scale=1.0">
<p>We are proud to announce our first ever badge! With an easy-to-iron
on backing, fitting couldn't be any easier! We have designed the path to
 be a perfect addition to any piece of cosplay costume.&nbsp; Please do send
in the photos of it being used on your costumes, as we would love to
share.</p>
<p>The badge is 7 x 7 cm / 2 x 2 inches in size, and 2mm thi<br></p>|;
my $result = $ebay->submitRequest( "ReviseItem",
                      {
                       DetailLevel => "ReturnAll",
                       ErrorLevel => "1",
                       SiteId => "1",
                       Item => {
                         Description => $new_desc,
                         ItemID => 253430606975
                       },
                       ItemID => 253430606975
                      }) || die;
 print "Result: " . Dumper( $result ) . "n";

我在运行时会出现错误:

      'Errors' => [
                  {
                    'ShortMessage' => 'Return Policy Attribute Not Valid',
                    'ErrorClassification' => 'RequestError',
                    'ErrorCode' => '21920200',
                    'LongMessage' => 'Return Policy Attribute returnDescription Not Valid On This Site',
                    'SeverityCode' => 'Warning',
                    'ErrorParameters' => {
                                         'Value' => 'returnDescription',
                                         'ParamID' => '0'
                                       }
                  },
                  {
                    'ShortMessage' => 'Description is missing.',
                    'ErrorClassification' => 'RequestError',
                    'ErrorCode' => '106',
                    'SeverityCode' => 'Error',
                    'LongMessage' => 'A description is required.'
                  }
                ],

我误会了什么?据我了解,您只需传递要更改的参数吗?

更新:正如戴夫(Dave)建议的那样,我给出 Marketplace :: eBay a GO。只是通过尝试选择我的一件项目来测试:

 my $ebay = Marketplace::Ebay->new(
                                  production => 1,
                                  site_id => 3,
                                  developer_key => 'xx',
                                  application_key => 'xx',
                                  certificate_key => 'xxx',
                                  token => 'xx',
                                  xsd_file => 'ebaySvc.xsd',
                                 );
my $res = $ebay->api_call('GetItem', { ItemID => 253430606975 });
print Dumper($res);

但是我有一些奇怪的错误:

错误:元素`{urn:eBay:apis:eblbasecomponents} gifticon'不 用于{urn:eBay:apis:eblbasecomponents} getitemresponse/inte // [5]/*[6] $ var1 = undef;

有什么想法?

ah ha-得到它!这个问题似乎是围绕HTML通过的方式。如果我将其放入CDATA标签中,它可以正常工作:

my $new_desc = q|<![CDATA[
some html etc here
]]>|;
my $result = $ebay->submitRequest( "ReviseItem",
                      {
                       DetailLevel => "ReturnAll",
                       ErrorLevel => "1",
                       SiteId => "1",
                       Item => {
                         Description => $new_desc,
                         ItemID => 253430606975
                       },
                       ItemID => 253430606975
                      }) || die;

...并完美更新

最新更新