eBay Trading APIVersion 1349
 

CompleteSaleRequestType ( AbstractRequestType )

Enables a seller to perform various tasks with a single or multiple line item order. Tasks available with this call include marking the order as paid, marking the order as shipped, providing shipment tracking details to the buyer, and leaving feedback for the buyer.

Call that uses CompleteSaleRequestType:

Fields



FeedbackInfo ( FeedbackInfoType ) [0..1]
This container is used by the seller to leave feedback for the buyer for the order line item identified in the call request. The seller must include and specify all fields of this type, including the buyer's eBay User ID, the Feedback rating (a seller can only leave a buyer a 'Positive' rating), and a comment, which helps justify the Feedback rating. The eBay User ID must match the buyer who bought the order line item, or an error will occur. An error will also occur if Feedback has already been left for the buyer (either through API or the Web flow).

To determine if Feedback has already been left for an order line item, you can call GetFeedback, passing in the OrderLineItemID value in the call request.

Note: Feedback entries are submitted at the order line item level, so either an OrderLineItemID value or an ItemID/TransactionID pair should be specified to identify the order line item (and not an OrderLineItemID value). To leave Feedback for all line items in a multiple line item order, the seller would need a separate CompleteSale request for each order line item.
See the Field Index to learn which calls use FeedbackInfo.

ItemID ( ItemIDType (string) ) [0..1]
Unique identifier for an eBay listing. An ItemID value can be paired up with a corresponding TransactionID value in a CompleteSale request to identify a single order line item. Alternatively, the OrderLineItemID value for the order line item can be used.

Unless an OrderLineItemID value is used to identify a single order line item, or the OrderID value is used to identify a single or multiple line item order, the ItemID/TransactionID pair must be specified. To perform an action on an entire multiple line item order, the OrderID field must be used. If an OrderID or OrderLineItemID value is specified, an ItemID/TransactionID pair will be ignored (if present in the same request).
See the Field Index to learn which calls use ItemID.

ListingType ( ListingTypeCodeType ) [0..1]
Not used by any call.

Note: DO NOT USE THIS FIELD. Previously, this field's only purpose was to classify the order to be updated as a Half.com order. However, since the Half.com site has been shut down, this field is no longer applicable.
See the Field Index to learn which calls use ListingType.

OrderID ( string ) [0..1]
A unique identifier for an eBay order. This field can be used to make an 'order-level' update. If an order has multiple line items, and the CompleteSale call is being used to update the status of, or provide feedback for a single line item within the order, the OrderLineItemID field or ItemID/TransactionID pair must be used to identify this order line item instead of the OrderID field. If the order only has one line item, it the OrderID field can be used to make any updates with the CompleteSale call.

OrderID overrides an OrderLineItemID or ItemID/TransactionID pair if these fields are also specified in the same request.

Note: In June 2019, eBay introduced a new order ID format, but allowed developers/sellers to decide whether to immediately adopt the new format, or to continue working with the old format. Users who wanted to adopt the new format, could either use a Trading WSDL Version 1113 (or newer), or they could even use an older Trading WSDL but set the X-EBAY-API-COMPATIBILITY-LEVEL HTTP header value to 1113 in API calls. Beginning in June 2020, only the new order ID format will be returned in response payloads for paid orders, regardless of the WSDL version number or compatibility level.

Note that the unique identifier of a 'non-immediate payment' order will change as it goes from an unpaid order to a paid order. Due to this scenario, all calls that accept Order ID values as filters in the request payload, including the CompleteSale call, will support the identifiers for both unpaid and paid orders. The new order ID format is a non-parsable string, globally unique across all eBay marketplaces, and consistent for both single line item and multiple line item orders. Unlike in the past, instead of just being known and exposed to the seller, these unique order identifiers will also be known and used/referenced by the buyer and eBay customer support.

Sellers can check to see if an order has been paid by looking for a value of 'Complete' in the CheckoutStatus.Status field in the response of GetOrders call, or in the Status.CompleteStatus field in the response of GetItemTransactions or GetSellerTransactions call. Sellers should not fulfill orders until buyer has made payment.
See the Field Index to learn which calls use OrderID.

OrderLineItemID ( string ) [0..1]
A unique identifier for an eBay order line item. OrderLineItemID values are returned (at the order line item level) in Trading API's order management calls. This identifier is created once there is a commitment to buy (bidder wins the auction, buyer clicks buy button, or buyer purchases item through PlaceOffer call). An OrderLineItemID value can be used in a CompleteSale request to identify a line item within an order. Alternatively, an ItemID/TransactionID pair can also be used to identify a line item.

Unless an ItemID/TransactionID pair is used to identify an order line item, or an OrderID value is used to identify an order, the OrderLineItemID must be specified. If OrderLineItemID is specified, the ItemID/TransactionID pair are ignored if present in the same request.
See the Field Index to learn which calls use OrderLineItemID.

Paid ( boolean ) [0..1]
The seller includes and sets this field to true to mark an unpaid order as paid. If the call is successful, the order line item(s) are marked as 'Paid' in eBay's system.
Note: The seller is not allowed to set this field to false.
See the Field Index to learn which calls use Paid.

Shipment ( ShipmentType ) [0..1]
Container consisting of shipment tracking information, shipped time, and an optional text field to provide additional details to the buyer. Setting the tracking number and shipping carrier automatically marks the order line item as shipped and the Shipped field is not necessary.

If you supply ShipmentTrackingNumber, you must also supply ShippingCarrierUsed; otherwise you will get an error.

To modify the shipping tracking number and/or shipping carrier, supply the new number in the ShipmentTrackingNumber field or supply the value for ShippingCarrierUsed, or both. The old number and carrier are deleted and the new ones are added.

To simply delete the current tracking details altogether, supply empty Shipment tags.

Note: Top-Rated sellers must have a record of uploading shipment tracking information (through site or through API) for at least 95 percent of their order line items (purchased by U.S. buyers) to keep their status as Top-Rated sellers. For more information on the requirements to becoming a Top-Rated Seller, see the Becoming a Top-Rated Seller and qualifying for Top-Rated Plus customer support page.
See the Field Index to learn which calls use Shipment.

Shipped ( boolean ) [0..1]
The seller includes and sets this field to true if the order or order line item has been shipped. If the call is successful, the order line item(s) are marked as Shipped in My eBay.

If the seller includes and sets this field to false, the order or order line item are marked (or remain) as 'Not Shipped' in eBay's system.

If this field is not included, the shipped status of the order or order line item remain unchanged in My eBay.

If shipment tracking information is provided for an order or order line item through the Shipment container in the same request, the Shipped status is set to true automatically, and the Shipped field is not necessary.
See the Field Index to learn which calls use Shipped.

TransactionID ( string ) [0..1]
Unique identifier for a sales transaction. A TransactionID identifier is created once there is a commitment to buy (bidder wins the auction, buyer clicks buy button, or buyer purchases item through PlaceOffer call). The TransactionID can be paired up with the corresponding ItemID value in a CompleteSale request to identify a single order line item. Alternatively, the OrderLineItemID value for the order line item can be used.

Unless an OrderLineItemID value is used to identify a single order line item, or the OrderID value is used to identify a single or multiple line item order, the ItemID/TransactionID pair must be specified. To perform an action on an entire multiple line item order, the OrderID field must be used. If an OrderID or OrderLineItemID value is specified, an ItemID/TransactionID pair will be ignored (if present in the same request).

The TransactionID value for auction listings is always 0 since there can be only one winning bidder/one sale for an auction listing.
See the Field Index to learn which calls use TransactionID.