2015-10-05 200 views
2

我试图让我的订单(项目出售)使用神奇的API davidtsadler /易趣-SDK-PHP获取易趣SDK出售的商品清单使用davidtsadler /易趣-SDK-PHP

https://github.com/davidtsadler/ebay-sdk-php

的名单

但我不能列出我找到了一些例子,但没有为我工作。

$service = new Services\TradingService(array(
    'apiVersion' => $this->config['tradingApiVersion'], 
    'siteId' => Constants\SiteIds::ES, 
    'sandbox'=> true, 
)); 
/** 
* Create the request object. 
* 
* For more information about creating a request object, see: 
* http://devbay.net/sdk/guides/getting-started/#request-object 
*/ 
$request = new Types\GetMyeBaySellingRequestType(); 
/** 
* An user token is required when using the Trading service. 
* 
* For more information about getting your user tokens, see: 
* http://devbay.net/sdk/guides/application-keys/ 
*/ 

$args = array(
    "OrderStatus" => "Completed", 
    "OrderStatus" => "All", 
    "SortingOrder" => "Ascending", 
    //"OrderRole"  => "Seller", 
    "ModTimeFrom" => new \DateTime('2015-01-01'), 
); 

$getOrders = new Types\GetOrdersRequestType($args); 
$getOrders->RequesterCredentials = new Types\CustomSecurityHeaderType(); 
$getOrders->RequesterCredentials->eBayAuthToken = $this->config['sandbox']['userToken']; 
$getOrders->IncludeFinalValueFee = true; 
$getOrders->Pagination = new Types\PaginationType(); 
$getOrders->Pagination->EntriesPerPage = 200; 
//$getOrders->OrderIDArray = new Types\OrderIDArrayType(); 
$getOrdersPageNum = 10; 

//$getOrders->OrderIDArray->OrderID[] = '110169861526-110169862570'; //'200980916385-1185594371010' 
$response = $service->getOrders($getOrders); 

echo print_r($response,1); 

foreach ($response->OrderArray->Order as $order) { 
    printf("SaleRecordID %s\n", $order->ShippingDetails->SellingManagerSalesRecordNumber); 
} 

它返回一个0页,虽然我已经“卖”和支付项目即时通讯我的易趣私人Acount

DTS\eBaySDK\Trading\Types\GetOrdersResponseType Object 
(
    [values:DTS\eBaySDK\Types\BaseType:private] => Array 
     (
      [Timestamp] => DateTime Object 
       (
        [date] => 2015-10-05 15:14:01.578000 
        [timezone_type] => 2 
        [timezone] => Z 
       ) 

      [Ack] => Success 
      [Version] => 927 
      [Build] => E927_INTL_API_17590342_R1 
      [PaginationResult] => DTS\eBaySDK\Trading\Types\PaginationResultType Object 
       (
        [values:DTS\eBaySDK\Types\BaseType:private] => Array 
         (
          [TotalNumberOfPages] => 0 
          [TotalNumberOfEntries] => 0 
         ) 

        [attachment:DTS\eBaySDK\Types\BaseType:private] => Array 
         (
          [data] => 
          [mimeType] => 
         ) 

       ) 

      [HasMoreOrders] => 
      [OrderArray] => DTS\eBaySDK\Trading\Types\OrderArrayType Object 
       (
        [values:DTS\eBaySDK\Types\BaseType:private] => Array 
         (
         ) 

        [attachment:DTS\eBaySDK\Types\BaseType:private] => Array 
         (
          [data] => 
          [mimeType] => 
         ) 

       ) 

      [OrdersPerPage] => 100 
      [PageNumber] => 1 
      [ReturnedOrderCountActual] => 0 
     ) 

    [attachment:DTS\eBaySDK\Types\BaseType:private] => Array 
     (
      [data] => 
      [mimeType] => 
     ) 

) 

回答

1

好 我发现自己的解决方案! 必须pased在所述呼叫的一段时间内关闭GetOrdersRequestType($参数)

“CreateTimeFrom”=>新\日期时间( '2015年1月1日'), “CreateTimeTo”=>新\日期时间('2015-10-06'),

如果不是不会检索不到。

工作例如:

$service = new Services\TradingService(array(
    'apiVersion' => $this->config['tradingApiVersion'], 
    'siteId' => Constants\SiteIds::ES, 
    'sandbox'=> true, 
)); 
/** 
* Create the request object. 
* 
* For more information about creating a request object, see: 
* http://devbay.net/sdk/guides/getting-started/#request-object 
*/ 
$request = new Types\GetMyeBaySellingRequestType(); 
/** 
* An user token is required when using the Trading service. 
* 
* For more information about getting your user tokens, see: 
* http://devbay.net/sdk/guides/application-keys/ 
*/ 

$args = array(
    "OrderStatus" => "Completed", 
    "OrderStatus" => "All", 
    "SortingOrder" => "Ascending", 
    //"OrderRole"  => "Seller", 
    "CreateTimeFrom" => new \DateTime('2015-01-01'), 
    "CreateTimeTo" => new \DateTime('2015-10-06'), 
); 

$getOrders = new Types\GetOrdersRequestType($args); 
$getOrders->RequesterCredentials = new Types\CustomSecurityHeaderType(); 
$getOrders->RequesterCredentials->eBayAuthToken = $this->config['sandbox']['userToken']; 
$getOrders->IncludeFinalValueFee = true; 
$getOrders->Pagination = new Types\PaginationType(); 
$getOrders->Pagination->EntriesPerPage = 3; 
//$getOrders->OrderIDArray = new Types\OrderIDArrayType(); 
$getOrdersPageNum = 1; 


//$getOrders->OrderIDArray->OrderID[] = '200980916385-1185594371010'; //'200980916385-1185594371010' 
$response = $service->getOrders($getOrders); 
echo print_r($response,1); 

foreach ($response->OrderArray->Order as $order) { 
    printf("SaleRecordID %s\n", $order->ShippingDetails->SellingManagerSalesRecordNumber); 
} 
exit(0); 
+0

得益于良好的人力 – waza123

+0

没有与此代码的问题,如果用户完成了订单,但尚未支付,它发生在我身上。需要以某种方式检查,如果支付 – waza123