eBay API - GerOrders 没有给出任何结果

eBay API - GerOrders not giving any results

我想弄清楚为什么我的 GetOrders 函数无法用于 eBay API。下面是我传递的 headers(这是在 Perl 中):

$objHeader->push_header('X-EBAY-API-COMPATIBILITY-LEVEL' => $compatabilityLevel);
$objHeader->push_header('X-EBAY-API-DEV-NAME' => $devID);
$objHeader->push_header('X-EBAY-API-APP-NAME' => $appID);
$objHeader->push_header('X-EBAY-API-CERT-NAME' => $certID);
$objHeader->push_header('X-EBAY-API-CALL-NAME' => 'GetOrders');
$objHeader->push_header('X-EBAY-API-SITEID' => '3');
$objHeader->push_header('Content-Type' => 'text/xml');

...我传递的 XML 如下:

<?xml version="1.0" encoding="utf-8" ?>
    <GetOrdersRequest xmlns="urn:ebay:apis:eBLBaseComponents">
    <DetailLevel>ReturnAll</DetailLevel>
    <NumberOfDays>3</NumberOfDays>
    <OrderRole>Seller</OrderRole><OrderStatus>Active</OrderStatus>
    <RequesterCredentials><eBayAuthToken>$userToken</eBayAuthToken></RequesterCredentials>
    </GetOrdersRequest>

(显然 $userToken 被替换为我的实际用户令牌)

我从中得到 return:

$VAR1 = {
          'xmlns' => 'urn:ebay:apis:eBLBaseComponents',
          'Build' => 'E929_CORE_APIXO_17568878_R1',
          'PageNumber' => '1',
          'PaginationResult' => {
                                'TotalNumberOfPages' => '0',
                                'TotalNumberOfEntries' => '0'
                              },
          'OrderArray' => {},
          'Ack' => 'Success',
          'HasMoreOrders' => 'false',
          'Timestamp' => '2015-06-29T09:49:25.963Z',
          'Version' => '929',
          'ReturnedOrderCountActual' => '0',
          'OrdersPerPage' => '100'
        };

..但如您所见,没有结果。我知道确实有结果(据我所知,我已经使用 PHP API 已经使用了相同类型的值)。最坏的情况是,我可以创建一个基本的 PHP 脚本来获取结果,然后通过管道传输到 Perl 脚本中。显然这并不理想(我更愿意用一种编程语言来实现)

有人有什么想法吗?我在上面画了一个空白:/

好的,我知道会发生这种情况。与此斗争了 2 天,然后我 post 找到了解决方案 :)

问题是我在 XML 中传递了以下内容:

<OrderStatus>Active</OrderStatus>

它实际上需要是:

<OrderStatus>Completed</OrderStatus>

现在完美地抓住了他们:)