Skip to main content
Published: October 04 2012, 8:59:00 AMUpdated: November 28 2020, 10:40:36 PM

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?

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>


How well did this answer your question?
Answers others found helpful