Why CompleteSale call always results in updating every OrderLineItemID's ShipmentTrackingNumber with the same value that last uploaded instead of updating with different tracking numbers for each lineitem
Find the answer to your question
Advanced Search
Products
Question
When updating the tracking number of multiple OrderLineItemID of a combined OrderID using the CompleteSale call as below, each of the OrderLineItemID for the combined order is always updated with the ShipmentTrackingNumber with the last tracking number specified instead of updating with different tracking numbers for each lineitem. <?xml version="1.0" encoding="utf-8"?> <CompleteSaleRequest xmlns="urn:ebay:apis:eBLBaseComponents"> <ErrorLanguage>en_US</ErrorLanguage> <Version>785</Version> <OrderID>12101054456</OrderID> <OrderLineItemID>123456789012-699586664003</OrderLineItemID> <Shipped>false</Shipped> <Shipment> <ShipmentTrackingDetails> <ShipmentTrackingNumber>3072458713</ShipmentTrackingNumber> <ShippingCarrierUsed>Other</ShippingCarrierUsed> </ShipmentTrackingDetails> </Shipment> <Paid>true</Paid> <ErrorHandling>BestEffort</ErrorHandling> <RequesterCredentials> <eBayAuthToken>xxx<eBayAuthToken> </RequesterCredentials> </CompleteSaleRequest> What is the problem?
Answer
Detailed Description
When OrderID is specified in the CompleteSale call, the Shipment tracking information, Paid status and Shipped status passed in the same request will apply to the complete order as a whole since OrderID overrides an OrderLineItemID or ItemID/TransactionID pair if these fields are also specified in the same request.
REF: http://developer.ebay.com/DevZone/XML/docs/Reference/eBay/CompleteSale.html#Request.OrderID
To add Shipment tracking information for each OrderLineItemID of a multiple line item order, you will need to remove OrderID and just pass OrderLineItemID in your CompleteSale request as below:
<?xml version="1.0" encoding="utf-8"?>
<CompleteSaleRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<ErrorLanguage>en_US</ErrorLanguage>
<Version>785</Version>
<OrderLineItemID>123456789012-699586664003</OrderLineItemID>
<Shipped>false</Shipped>
<Shipment>
<ShipmentTrackingDetails>
<ShipmentTrackingNumber>3072458713</ShipmentTrackingNumber>
<ShippingCarrierUsed>NA</ShippingCarrierUsed>
</ShipmentTrackingDetails>
</Shipment>
<Paid>true</Paid>
<ErrorHandling>BestEffort</ErrorHandling>
<RequesterCredentials>
<eBayAuthToken>xxx<eBayAuthToken>
</RequesterCredentials>
</CompleteSaleRequest>
or the ItemID/TransactionID pair in the CompleteSale request as showing :
<?xml version="1.0" encoding="utf-8"?>
<CompleteSaleRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<ErrorLanguage>en_US</ErrorLanguage>
<Version>785</Version>
<ItemID>123456789012</ItemID>
<TransactionID>699586664003</TransactionID>
<Shipped>false</Shipped>
<Shipment>
<ShipmentTrackingDetails>
<ShipmentTrackingNumber>3072458713</ShipmentTrackingNumber>
<ShippingCarrierUsed>NA</ShippingCarrierUsed>
</ShipmentTrackingDetails>
</Shipment>
<Paid>true</Paid>
<ErrorHandling>BestEffort</ErrorHandling>
<RequesterCredentials>
<eBayAuthToken>xxx<eBayAuthToken>
</RequesterCredentials>
</CompleteSaleRequest>