ebay-api - 无法使用 GetSellingManagerSaleRecord 返回正确的订单

标签 ebay-api

我正在 devbay.net 上使用 eBay SDK for PHP。

首先,我加载 GetSellingManagerSoldListings,搜索 SaleRecordID=129317:

$service = new TradingService();
$request = new Types\GetSellingManagerSoldListingsRequestType();
$request->Search = new Types\SellingManagerSearchType();
$request->Search->SearchType = 'SaleRecordID';
$request->Search->SearchValue = '129317';
$result = $service->GetSellingManagerSoldListings($request);
print_r($result->SaleRecord[0]);

给出以下响应:

DTS\eBaySDK\Trading\Types\SellingManagerSoldOrderType Object
(
    [values:DTS\eBaySDK\Types\BaseType:private] => Array
        (
            [SellingManagerSoldTransaction] => DTS\eBaySDK\Types\UnboundType Object
                (
                    [data:DTS\eBaySDK\Types\UnboundType:private] => Array
                        (
                            [0] => DTS\eBaySDK\Trading\Types\SellingManagerSoldTransactionType Object
                                (
                                    [values:DTS\eBaySDK\Types\BaseType:private] => Array
                                        (
                                            [TransactionID] => *removed*
                                            [SaleRecordID] => 129242
                                            [ItemID] => *removed*
                                            [QuantitySold] => 1
                                            [ItemTitle] => *removed*
                                            [ListingType] => FixedPriceItem
                                            [Relisted] => 
                                            [SecondChanceOfferSent] => 
                                            [CustomLabel] => *removed*
                                            [SoldOn] => eBay
                                            [ListedOn] => DTS\eBaySDK\Types\UnboundType Object
                                                (
                                                    [data:DTS\eBaySDK\Types\UnboundType:private] => Array
                                                        (
                                                            [0] => eBay
                                                        )

                                                    [position:DTS\eBaySDK\Types\UnboundType:private] => 0
                                                    [class:DTS\eBaySDK\Types\UnboundType:private] => DTS\eBaySDK\Trading\Types\SellingManagerSoldTransactionType
                                                    [property:DTS\eBaySDK\Types\UnboundType:private] => ListedOn
                                                    [expectedType:DTS\eBaySDK\Types\UnboundType:private] => string
                                                )

                                            [CharityListing] => 
                                            [OrderLineItemID] => *removed*
                                        )

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

                                )

                            [1] => DTS\eBaySDK\Trading\Types\SellingManagerSoldTransactionType Object
                                (
                                    [values:DTS\eBaySDK\Types\BaseType:private] => Array
                                        (
                                            [TransactionID] => *removed*
                                            [SaleRecordID] => 129243
                                            [ItemID] => *removed*
                                            [QuantitySold] => 1
                                            [ItemTitle] => *removed*
                                            [ListingType] => FixedPriceItem
                                            [Relisted] => 
                                            [SecondChanceOfferSent] => 
                                            [CustomLabel] => *removed*
                                            [SoldOn] => eBay
                                            [ListedOn] => DTS\eBaySDK\Types\UnboundType Object
                                                (
                                                    [data:DTS\eBaySDK\Types\UnboundType:private] => Array
                                                        (
                                                            [0] => eBay
                                                        )

                                                    [position:DTS\eBaySDK\Types\UnboundType:private] => 0
                                                    [class:DTS\eBaySDK\Types\UnboundType:private] => DTS\eBaySDK\Trading\Types\SellingManagerSoldTransactionType
                                                    [property:DTS\eBaySDK\Types\UnboundType:private] => ListedOn
                                                    [expectedType:DTS\eBaySDK\Types\UnboundType:private] => string
                                                )

                                            [CharityListing] => 
                                            [OrderLineItemID] => *removed*
                                        )

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

                                )

                        )

                    [position:DTS\eBaySDK\Types\UnboundType:private] => 0
                    [class:DTS\eBaySDK\Types\UnboundType:private] => DTS\eBaySDK\Trading\Types\SellingManagerSoldOrderType
                    [property:DTS\eBaySDK\Types\UnboundType:private] => SellingManagerSoldTransaction
                    [expectedType:DTS\eBaySDK\Types\UnboundType:private] => DTS\eBaySDK\Trading\Types\SellingManagerSoldTransactionType
                )

            [ShippingAddress] => DTS\eBaySDK\Trading\Types\AddressType Object
                (
                    [values:DTS\eBaySDK\Types\BaseType:private] => Array
                        (
                            [Name] => *removed*
                            [PostalCode] => 2761
                        )

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

                )

            [ShippingDetails] => DTS\eBaySDK\Trading\Types\ShippingDetailsType Object
                (
                    [values:DTS\eBaySDK\Types\BaseType:private] => Array
                        (
                            [ShippingType] => NotSpecified
                        )

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

                )

            [TotalAmount] => DTS\eBaySDK\Trading\Types\AmountType Object
                (
                    [values:DTS\eBaySDK\Types\BaseType:private] => Array
                        (
                            [currencyID] => AUD
                            [value] => 294.95
                        )

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

                )

            [TotalQuantity] => 2
            [ActualShippingCost] => DTS\eBaySDK\Trading\Types\AmountType Object
                (
                    [values:DTS\eBaySDK\Types\BaseType:private] => Array
                        (
                            [currencyID] => AUD
                            [value] => 0
                        )

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

                )

            [OrderStatus] => DTS\eBaySDK\Trading\Types\SellingManagerOrderStatusType Object
                (
                    [values:DTS\eBaySDK\Types\BaseType:private] => Array
                        (
                            [CheckoutStatus] => CheckoutComplete
                            [PaidStatus] => PartiallyPaid
                            [ShippedStatus] => Shipped
                            [PaymentMethodUsed] => PayPal
                            [FeedbackSent] => 1
                            [TotalEmailsSent] => 3
                            [ShippedTime] => DateTime Object
                                (
                                    [date] => 2015-04-06 21:10:09
                                    [timezone_type] => 2
                                    [timezone] => Z
                                )

                        )

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

                )

            [SalePrice] => DTS\eBaySDK\Trading\Types\AmountType Object
                (
                    [values:DTS\eBaySDK\Types\BaseType:private] => Array
                        (
                            [currencyID] => AUD
                            [value] => 589.9
                        )

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

                )

            [DaysSinceSale] => 5
            [BuyerID] => *removed*
            [BuyerEmail] => *removed*
            [SaleRecordID] => 129317
            [CreationTime] => DateTime Object
                (
                    [date] => 2015-04-03 10:19:48
                    [timezone_type] => 2
                    [timezone] => Z
                )

        )

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

)

接下来我要加载相关的GetSellingManagerSaleRecord。问题是我找不到可以加载正确记录的 ID 组合。以下是我的尝试:

加载错误结果,SalesRecordID=129242 ..我需要 129317:

$service = new TradingService();
$request = new Types\GetSellingManagerSaleRecordRequestType();
$request->OrderLineItemID = $result->SaleRecord[0]->SellingManagerSoldTransaction[0]->OrderLineItemID;
$result2 = $service->GetSellingManagerSaleRecord($request);

加载错误结果,SalesRecordID=129243 ..我需要 129317:

$service = new TradingService();
$request = new Types\GetSellingManagerSaleRecordRequestType();
$request->OrderLineItemID = $result->SaleRecord[0]->SellingManagerSoldTransaction[1]->OrderLineItemID;
$result2 = $service->GetSellingManagerSaleRecord($request);

错误代码21916340,销售记录不存在:

$service = new TradingService();
$request = new Types\GetSellingManagerSaleRecordRequestType();
$transaction = $result->SaleRecord[0]->SellingManagerSoldTransaction[0];
$request->OrderLineItemID = $transaction->ItemID . '-' . $transaction->TransactionID;
$result2 = $service->GetSellingManagerSaleRecord($request);

错误代码21916340,销售记录不存在:

$service = new TradingService();
$request = new Types\GetSellingManagerSaleRecordRequestType();
$request->OrderID = $result->SaleRecord[0]->SaleRecordID;
$result2 = $service->GetSellingManagerSaleRecord($request);

错误代码21916340,销售记录不存在:

$service = new TradingService();
$request = new Types\GetSellingManagerSaleRecordRequestType();
$transaction = $result->SaleRecord[0]->SellingManagerSoldTransaction[0];
$request->ItemID = $transaction->ItemID;
$request->TransactionID = $transaction->TransactionID;
$result2 = $service->GetSellingManagerSaleRecord($request);

最佳答案

我不太熟悉 eBay API 的售后方面,但根据您想要实现的目标,以下内容可能会起作用。

由于 GetSellingManagerSaleRecord 不允许您传递已知的 SaleRecordID,您可以向其发送 OrderID反而。由于每个 SaleRecord 都有一个关联的 Order,您可以使用 GetOrders 获取它的 ID。 .

$service = new TradingService();
$request = new Types\GetSellingManagerSoldListingsRequestType();
$request->Search = new Types\SellingManagerSearchType();
$request->Search->SearchType = 'SaleRecordID';
$request->Search->SearchValue = '129317';
$response = $service->GetSellingManagerSoldListings($request);

/**
 * Get the OrderLineItemID of the first transaction in the Sale Record.
 * This would work as well as all the transactions will come from the same order.
 * $orderLineItemID = $response->SaleRecord[0]->SellingManagerSoldTransaction[1]->OrderLineItemID;
 */
$orderLineItemID = $response->SaleRecord[0]->SellingManagerSoldTransaction[0]->OrderLineItemID;

/**
 * Now look up the order.
 */
$request = new Types\GetOrdersRequestType();
$request->OrderIDArray = new Types\OrderIDArrayType();
$request->OrderIDArray->OrderID[] = $orderLineItemID;
$response = $service->getOrders($request);
$orderID = $response->OrderArray->Order[0]->OrderID;

/**
 * Now use the OrderID to call GetSellingManagerSaleRecord.
 */
$request = new Types\GetSellingManagerSaleRecordRequestType();
$request->OrderID = $orderID;
$response = $service->getSellingManagerSaleRecord($request);
/**
 * Check we got the correct SaleRecord.
 */
$saleRecordID = $response->SellingManagerSoldOrder->SaleRecordID;
assert('$saleRecordID === 129317');

除了调用 GetSellingManagerSoldListings 之外,您还可以调用 GetOrders 来获取 SaleRecordID 列表。例如:

$request = new Types\GetOrdersRequestType();
$request->NumberOfDays = 30;
$response = $service->getOrders($request);

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

关于ebay-api - 无法使用 GetSellingManagerSaleRecord 返回正确的订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29639696/

相关文章:

javascript - eBay API 返回低分辨率缩略图而不是卖家上传的图片

php - 用于下载用户列表的 eBay API(eBay API 用户指南/分步指南)

javascript - eBay API MinPrice 有效,但 MaxPrice 无效

ebay-api - eBay 查找 API - findCompletedItems - 如何在输出中返回特定方面

python - 使用 python 请求获取 eBay 访问 token (交换身份验证 token )

ebay-api - eBay 的大型商家服务不返回 SKU

javascript - 如何从 eBay api 获取 Json 数据以保存为 CSV 格式?

python - eBay SOAP API - 缺少 SOA 操作名称 header

python - 如何使用 python xml.etree.ElementTree 解析 eBay API 响应?

rest - 授权 header 中的 token 类型无效,eBay API