- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-29-2023 06:27 PM
The ebay API CompleteSaleCall for updating tracking details has an issue in the last day where it only marks the order as shipped but does not save the tracking details. Example with the request:
?xml version="1.0" encoding="utf-8"?
soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
soap:Header
RequesterCredentials xmlns="urnapis:eBLBaseComponents"
eBayAuthToken******/eBayAuthToken
/RequesterCredentials
/soap:Header
soap:Body
CompleteSaleRequest xmlns="urnapis:eBLBaseComponents"
MessageIDe647f56b-b0b3-4524-95e1-ad71f11XXXXX/MessageID
Version1131/Version
ItemID2043202XXXXX/ItemID
Shippedtrue/Shipped
Shipment
ShippingCarrierUsedDHL/ShippingCarrierUsed
ShippingServiceUsedEconomy/ShippingServiceUsed
ShipmentTrackingNumber9261290223352704XXXXXX/ShipmentTrackingNumber
ShippedTime2023-06-29T13:20:08.6199067-04:00/ShippedTime
/Shipment
OrderID07-10232-XXXXX/OrderID
/CompleteSaleRequest
/soap:Body
/soap:Envelope
and response is success:
?xml version="1.0" encoding="UTF-8"?
soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
soapenv:Header
ebl:RequesterCredentials soapenv:mustUnderstand="0" xmlns:ns="urnapis:eBLBaseComponents" xmlns:ebl="urn
apis:eBLBaseComponents"
ebl:HardExpirationWarning xmlns:ebl="urnapis:eBLBaseComponents"2023-06-30 01:08:48/ebl:HardExpirationWarning
/ebl:RequesterCredentials
/soapenv:Header
soapenv:Body
CompleteSaleResponse xmlns="urnapis:eBLBaseComponents"
Timestamp2023-06-29T17:20:34.915Z/Timestamp
AckSuccess/Ack
CorrelationIDe647f56b-b0b3-4524-95e1-ad71f115b238/CorrelationID
Version1319/Version
BuildE1289_CORE_APIXO_19220561_R1/Build
HardExpirationWarning2023-06-30 01:08:48/HardExpirationWarning
/CompleteSaleResponse
/soapenv:Body
/soapenv:Envelope
and I can see the order is marked shipped, however, it is missing tracking details when looking at the order in ebay.
Up until yesterday, this was not a problem for years.
Solved! Go to Best Answer
Accepted Solutions
CompleteSaleCall has issue where it only marks the order as shipped but does not save tracking info
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-30-2023 04:52 AM - edited ‎06-30-2023 04:53 AM
Just spent 2 hours fixing this exact issue in my application.
The problem is using a deprecated feature that was officially dropped in 2009 but has still worked up until 48 hours ago. In the change history this is what is now being enforced:
0635 2009-09-16 |
|
You therefore MUST now pass ShippingCarrierUsed and ShipmentTrackingNumber requests, inside the ShipmentTrackingDetails container - otherwise the tracking numbers will be ignored and not updated.
It is not necessary to specify lineitem details in each request (unless the Global shipping program has been used on that order) - but you must put at least the number of entries in corresponding to the number of lines for that order. If you only put one entry in the container for the tracking number / carrier then if the order has more than one line, only the first line will have it's tracking number updated.
Also note it doesn't seem to matter if you put more tracking number entries in the container than there are lines on the order - it will just update the appropriate number of lines in the order, but you must have at least the number of entries in as there are lines on the order for all the lines to be updated with the tracking numbers.
CompleteSaleCall has issue where it only marks the order as shipped but does not save tracking info
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-30-2023 04:52 AM - edited ‎06-30-2023 04:53 AM
Just spent 2 hours fixing this exact issue in my application.
The problem is using a deprecated feature that was officially dropped in 2009 but has still worked up until 48 hours ago. In the change history this is what is now being enforced:
0635 2009-09-16 |
|
You therefore MUST now pass ShippingCarrierUsed and ShipmentTrackingNumber requests, inside the ShipmentTrackingDetails container - otherwise the tracking numbers will be ignored and not updated.
It is not necessary to specify lineitem details in each request (unless the Global shipping program has been used on that order) - but you must put at least the number of entries in corresponding to the number of lines for that order. If you only put one entry in the container for the tracking number / carrier then if the order has more than one line, only the first line will have it's tracking number updated.
Also note it doesn't seem to matter if you put more tracking number entries in the container than there are lines on the order - it will just update the appropriate number of lines in the order, but you must have at least the number of entries in as there are lines on the order for all the lines to be updated with the tracking numbers.
CompleteSaleCall has issue where it only marks the order as shipped but does not save tracking info
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-04-2023 05:14 PM
As a follow up to this, eBay have made further changes and you must also now specify tracking number updates per line item - it doesn't seem possible to do this at the order level anymore, even if you pass multiple ShipmentTrackingNumber requests inside the ShipmentTrackingDetails container.
To update tracking numbers you will need to call CompleteSale with a OrderLineItemID or ItemID/TransactionID reference rather than with OrderID. You will need to make the call for each line in the order to update all the tracking numbers for that order.
They basically have completely broken the purpose of using OrderID to make an 'order-level' update.
