A seller can use this call to complete various end-of-sale tasks after an item transaction (or multiple-item order) has been created. After a seller has processed a transaction, they can use this call to leave feedback for the buyer, change the paid status of the item, or set the item's shipment tracking information.
Before you can call CompleteSale, an item that you created as a buyer must have gone through a sale (thus creating a transaction). Use GetItemTransactions or GetSellerTransactions to retrieve a list of the transactions that have been completed.
This call can be executed at any time after a transaction has been created. However, only the seller who listed the item can update the item data with CompleteSale. In addition, the seller should wait until the sale is complete before modifying item data with this call.
You can use this call with Half.com orders, except when using OrderID.
To test CompleteSale in the Sandbox, you must have at least two test users: one to act in the capacity of an item seller and the other as a buyer. To fully test leaving feedback from a seller's perspective, use a multi-item listing with a minimum of two winning bidders (this requires multiple buyers).
For competitive-bid item listings, a buyer must have placed a bid on the item and the listing must have ended with a purchase. Use AddItem in the Sandbox to list an item, then use a separate user to place bids on the item. The seller can end the listing early using EndItem. If you set EndingReason to SellToHighBidder, the call does not cancel existing bids and the listing ends as a successfully concluded auction. One transaction is created for each winning bidder, and the seller can leave feedback for each.
For fixed-price listings, the transaction needed for feedback is created shortly after the buyer purchases the item(s) from the listing. One transaction is created for each purchase, even if purchases are made by the same buyer.
You can verify the feedback you left using GetFeedback to retrieve the feedback data for the targeted user. The feedback retrieved should contain the same scores and comments as those that you left with CompleteSale.
| Output Detail Controls Samples Change History Top Errors for CompleteSale |
The box below lists all fields that could be included in the call request. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).
See also Samples.
See also the Deprecated Objects link above. Fields presented in this color are deprecated, and fields presented in this color are (or soon will be) non-operational.
The XML prototype does not include requester credentials. This is a documentation limitation only (see Standard Requester Credentials for Making Calls).
<?xml version="1.0" encoding="utf-8"?>
<CompleteSaleRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<!-- Standard Input Fields -->
<ErrorHandling> ErrorHandlingCodeType </ErrorHandling>
<ErrorLanguage> string </ErrorLanguage>
<MessageID> string </MessageID>
<Version> string </Version>
<WarningLevel> WarningLevelCodeType </WarningLevel>
<!-- Call-specific Input Fields -->
<FeedbackInfo> FeedbackInfoType
<CommentText> string </CommentText>
<CommentType> CommentTypeCodeType </CommentType>
<TargetUser> UserIDType (string) </TargetUser>
</FeedbackInfo>
<ItemID> ItemIDType (string) </ItemID>
<ListingType> ListingTypeCodeType </ListingType>
<OrderID> string </OrderID>
<Paid> boolean </Paid>
<Shipment> ShipmentType
<Notes> string </Notes>
<ShipmentTrackingDetails> ShipmentTrackingDetailsType
<ShipmentTrackingNumber> string </ShipmentTrackingNumber>
<ShippingCarrierUsed> string </ShippingCarrierUsed>
</ShipmentTrackingDetails>
<!-- ... more ShipmentTrackingDetails nodes here ... -->
<ShippedTime> dateTime </ShippedTime>
</Shipment>
<Shipped> boolean </Shipped>
<TransactionID> string </TransactionID>
</CompleteSaleRequest>
| Argument | Type | Occurrence | Meaning |
|---|
| Standard Input Fields [Jump to call-specific fields] |
| ErrorHandling | ErrorHandlingCodeType | Optional |
Error tolerance level for the call. This is a preference that specifies how eBay should handle requests that contain invalid data or that could partially fail. This gives you some control over whether eBay returns warnings or blocking errors and how eBay processes the invalid data. For AddItem and related calls, this field is only applicable when the listing includes Item Specifics and Pre-filled Item Information (such as AttributeSetArray and ProductListingDetails). Default: FailOnError. Applicable values: • BestEffort (in) Drop the invalid data, continue processing the request with the valid data. If dropping the invalid data leaves the request in a state where required data is missing, reject the request. • FailOnError (in) If any data is invalid, reject the request. (Not all values in ErrorHandlingCodeType apply to this field.) |
| ErrorLanguage | string | Optional |
Use ErrorLanguage to return error strings for the call in a different language from the language commonly associated with the site that the requesting user is registered with. Specify the standard RFC 3066 language identification tag (e.g., en_US). ID--- country ----- ----- de_AT Austria de_CH Switzerland de_DE Germany en_AU Australia en_CA Canada en_GB United Kingdom en_SG Singapore en_US United States es_ES Spain fr_BE Belgium (French) fr_CA Canada (French) fr_FR France it_IT Italy nl_BE Belgium (Dutch) nl_NL Netherlands zh_CN China en_IN India en_IE Ireland zh_HK Hong Kong |
| MessageID | string | Optional |
In most cases, all calls support a MessageID element in the request and a CorrelationID element in the response. If you pass a message ID in a request, we will return the same value in CorrelationID in the response. You can use this for tracking that a response is returned for every request and to match particular responses to particular requests. If you do not pass MessageID in the request, CorrelationID is not returned. Note: GetCategories, GetAttributesCS, GetCategory2CS, GetAttributesXSL, GetProductFinder, GetProductFinderXSL, and GetProductSearchPage are designed to retrieve very large sets of metadata that change once a day or less often. To improve performance, these calls return cached responses when you request all available data (with no filters). When this occurs, the MessageID and CorrelationID fields aren't applicable. However, if you specify an input filter to reduce the amount of data returned, the calls retrieve the latest data (not cached). When this occurs, MessageID and CorrelationID are applicable. |
| Version | string | Conditional |
The version number of the API code that you are programming against (e.g., 549). The version you specify for a call has these basic effects: - It indicates the version of the code lists and other data that eBay should use to process your request. - It indicates the schema version you are using. You need to use a version that is greater than or equal to the lowest supported version. For the SOAP API: If you are using the SOAP API, this field is required. Specify the version of the WSDL your application is using. For the XML API: If you are using the XML API, this field has no effect. Instead, specify the version in the X-EBAY-API-COMPATIBILITY-LEVEL HTTP header. (If you specify Version in the body of an XML API request and it is different from the value in the HTTP header, eBay returns an informational warning that the value in the HTTP header was used instead.) See:
|
| WarningLevel | WarningLevelCodeType | Optional |
Controls whether or not to return warnings when the application passes unrecognized or deprecated elements in a request. An unrecognized element is one that is not defined in any supported version of the schema. Schema element names are case-sensitive, so using WarningLevel can also help you remove any potential hidden bugs within your application due to incorrect case or spelling in field names before you put your application into the Production environment. WarningLevel only validates elements; it doesn't validate XML attributes. It also doesn't control warnings related to user-entered strings or numbers, or warnings for logical errors. We recommend that you only use this during development and debugging. Do not use this in requests in your production code. Applicable values: • High (in) Return warnings when the application passes unrecognized or deprecated elements in a request. • Low (in) Do not return warnings when the application passes unrecognized or deprecated elements in a request. This is the default value if WarningLevel is not specified. See Warning Level. |
| Call-specific Input Fields | |||
| FeedbackInfo | FeedbackInfoType | Optional | Specifies feedback the seller is leaving for the buyer. The seller can leave feedback once for a given transaction, and no further modifications can be made to that feedback entry. If feedback has already been left, FeedbackInfo is not allowed. Call GetFeedback to determine whether feedback has already been left. |
| FeedbackInfo.CommentText | string | Optional | Textual comment that explains, clarifies, or justifies the feedback rating specified in CommentType. Still displayed if feedback is withdrawn. |
| FeedbackInfo.CommentType | CommentTypeCodeType | Optional |
Rating of the feedback being left (e.g., Positive). Sellers cannot leave neutral or negative feedback for buyers.
Applicable values: • Positive (in/out) Positive feedback. Increases total feedback score. (Not all values in CommentTypeCodeType apply to this field.) |
| FeedbackInfo.TargetUser | UserIDType (string) | Optional | Recipient user for whom the feedback is being left. |
| ItemID | ItemIDType (string) | Required |
ID of the listing associated with the transaction that the seller is completing. Max length: 19 (Note: The eBay database specifies 38. Currently, Item IDs are usually 9 to 12 digits). |
| ListingType | ListingTypeCodeType | Conditional |
If included in the request, and with a value of ListingType = Half, indicates that the given ItemID and TransactionID values are for Half.com. Required for Half.com items. Applicable values: • Half (in/out) Half.com listing (item is listed on Half.com, not on eBay). You must be a registered Half.com seller to use this format. (Not all values in ListingTypeCodeType apply to this field.) |
| OrderID | string | Optional |
Unique ID for a multi-item order. ItemID and TransactionID are ignored if a call includes OrderID. CompleteSale applies to the specified order as a whole (and thus the child transactions associated with the order). Not applicable to Half.com. |
| Paid | boolean | Optional |
If true, the transaction is marked as paid in My eBay. If false, the transaction is marked as not paid in My eBay. If not specified, the paid status in My eBay is not modified. |
| Shipment | ShipmentType | Optional | Details about the shipment. Setting the tracking number and carrier automatically marks the item as shipped (sets Shipped to true). |
| Shipment.Notes | string | Optional |
A seller's shipment-related notes to the buyer, as alpha-numeric text. Applicable after an item is shipped. Applicable only to Half.com. |
|
Shipment .ShipmentTrackingDetails |
ShipmentTrackingDetailsType | Optional,
repeatable: [0..*] |
Container for the shipping carrier and tracking information associated with an item shipment. This is a repeatable container, allowing for multiple package shipments to be input for a single item transaction. |
|
Shipment .ShipmentTrackingDetails .ShipmentTrackingNumber |
string | Optional | The tracking number assigned by the shipping carrier to the item shipment. The format of the tracking number must be consistent with the format used by the specified shipping carrier (ShippingCarrierUsed). |
|
Shipment .ShipmentTrackingDetails .ShippingCarrierUsed |
string | Optional | Name of the shipping carrier used to ship the item. |
| Shipment.ShippedTime | dateTime | Optional | The time that the seller handed off the item to the shipping carrier. |
| Shipped | boolean | Optional |
If true, the transaction is marked as shipped in My eBay. If false, the transaction is marked as not shipped in My eBay. If not specified, the shipped status in My eBay is not modified. |
| TransactionID | string | Required |
Unique identifier for a transaction from the listing indicated by ItemID. Call GetItemTransactions or GetSellerTransactions to determine the appropriate transaction ID. Required for all listing types (pass 0 for Chinese auctions). Max length: 19 (Note: The eBay database specifies 38. Currently, transaction IDs are usually 9 to 12 digits.). |
| Input Detail Controls Samples Change History Top Errors for CompleteSale |
The box below lists all fields that might be returned in the response. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).
See also Samples.
See also the Deprecated Objects link above. Fields presented in this color are deprecated, and fields presented in this color are not returned (or soon will not be returned) or are not operational (or soon will be non-operational).
The XML prototype does not include requester credentials. This is a documentation limitation only (see Standard Requester Credentials for Making Calls).
<?xml version="1.0" encoding="utf-8"?>
<CompleteSaleResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<!-- Standard Output Fields -->
<Ack> AckCodeType </Ack>
<Build> string </Build>
<CorrelationID> string </CorrelationID>
<Errors> ErrorType
<ErrorClassification> ErrorClassificationCodeType </ErrorClassification>
<ErrorCode> token </ErrorCode>
<ErrorParameters ParamID="string"> ErrorParameterType
<Value> string </Value>
</ErrorParameters>
<!-- ... more ErrorParameters nodes here ... -->
<LongMessage> string </LongMessage>
<SeverityCode> SeverityCodeType </SeverityCode>
<ShortMessage> string </ShortMessage>
</Errors>
<!-- ... more Errors nodes here ... -->
<HardExpirationWarning> string </HardExpirationWarning>
<Timestamp> dateTime </Timestamp>
<Version> string </Version>
</CompleteSaleResponse>
| Return Value | Type | Occurrence | Meaning |
|---|
| Standard Output Fields |
| Ack | AckCodeType | Always |
A token representing the application-level acknowledgement code that indicates the response status (e.g., success). The AckCodeType list specifies the possible values for Ack.
Applicable values: • CustomCode (out) Reserved for internal or future use. • Failure (out) Request processing failed • PartialFailure (out) Request processing completed with some failures. See the Errors data to determine which portions of the request failed. • Success (out) Request processing succeeded • Warning (out) Request processing completed with warning information being included in the response message |
| Build | string | Always | This refers to the specific software build that eBay used when processing the request and generating the response. This includes the version number plus additional information. eBay Developer Support may request the build information when helping you resolve technical issues. |
| CorrelationID | string | Conditionally |
In most cases, all calls support a MessageID element in the request and a CorrelationID element in the response. If you pass a message ID in a request, we will return the same value in CorrelationID in the response. You can use this for tracking that a response is returned for every request and to match particular responses to particular requests. If you do not pass MessageID in the request, CorrelationID is not returned. Note: GetCategories, GetAttributesCS, GetCategory2CS, GetAttributesXSL, GetProductFinder, GetProductFinderXSL, and GetProductSearchPage are designed to retrieve very large sets of metadata that change once a day or less often. To improve performance, these calls return cached responses when you request all available data (with no filters). When this occurs, the MessageID and CorrelationID fields aren't applicable. However, if you specify an input filter to reduce the amount of data returned, the calls retrieve the latest data (not cached). When this occurs, MessageID and CorrelationID are applicable. |
| Errors | ErrorType | Conditionally,
repeatable: [0..*] |
A list of application-level errors (if any) that occurred when eBay processed the request.
See Error Handling. |
| Errors.ErrorClassification | ErrorClassificationCodeType | Conditionally |
API errors are divided between two classes: system errors and request errors.
Applicable values: • CustomCode (out) Reserved for internal or future use. • RequestError (out) An error has occurred either as a result of a problem in the sending application or because the application's end-user has attempted to submit invalid data (or missing data). In these cases, do not retry the request. The problem must be corrected before the request can be made again. If the problem is due to something in the application (such as a missing required field), the application must be changed. If the problem is a result of end-user data, the application must alert the end-user to the problem and provide the means for the end-user to correct the data. Once the problem in the application or data is resolved, resend the request to eBay with the corrected data. • SystemError (out) Indicates that an error has occurred on the eBay system side, such as a database or server down. An application can retry the request as-is a reasonable number of times (eBay recommends twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, the request may be resent in its original form. |
| Errors.ErrorCode | token | Conditionally | A unique code that identifies the particular error condition that occurred. Your application can use error codes as identifiers in your customized error-handling algorithms. See the "Errors by Number" document. |
| Errors.ErrorParameters | ErrorParameterType | Conditionally,
repeatable: [0..*] |
This optional element carries a list of context-specific error variables that indicate details about the error condition. These are useful when multiple instances of ErrorType are returned. |
| Errors.ErrorParameters [ attribute ParamID ] |
string | Conditionally | The index of the parameter in the list of parameter types returned within the error type. |
| Errors.ErrorParameters.Value | string | Conditionally | The value of the variable (e.g., the attribute set ID) |
| Errors.LongMessage | string | Conditionally | A more detailed description of the condition that raised the error. |
| Errors.SeverityCode | SeverityCodeType | Conditionally |
Indicates whether the error is a severe error (causing the request to fail) or an informational error (a warning) that should be communicated to the user.
Applicable values: • CustomCode (out) Reserved for internal or future use • Error (out) Application-level error • Warning (out) Warning or informational error |
| Errors.ShortMessage | string | Conditionally | A brief description of the condition that raised the error. |
| HardExpirationWarning | string | Conditionally | Expiration date of the user's authentication token. Only returned within the 7-day period prior to a token's expiration. To ensure that user authentication tokens are secure and to help avoid a user's token being compromised, tokens have a limited life span. A token is only valid for a period of time (set by eBay). After this amount of time has passed, the token expires and must be replaced with a new token. |
| Timestamp | dateTime | Always |
This value represents the date and time when eBay processed the request. The time zone of this value is GMT and the format is the ISO 8601 date and time format (YYYY-MM-DDTHH:MM:SS.SSSZ). See Time Values in the eBay Web Services guide for information about this time format and converting to and from the GMT time zone. Note: GetCategories, GetAttributesCS, GetCategory2CS, GetAttributesXSL, GetProductFinder, GetProductFinderXSL, and GetProductSearchPage are designed to retrieve very large sets of metadata that change once a day or less often. To improve performance, these calls return cached responses when you request all available data (with no filters). When this occurs, this time value reflects the time the cached response was created. Thus, this value is not necessarily when the request was processed. However, if you specify an input filter to reduce the amount of data returned, the calls retrieve the latest data (not cached). When this occurs, this time value does reflect when the request was processed. |
| Version | string | Always | The version of the response payload schema. Indicates the version of the schema that eBay used to process the request. See "Standard Data for All Calls" in the eBay Web Services Guide for information on using the response version when troubleshooting "CustomCode" values that appear in the response. |
| Input Output Samples Change History Top Errors for CompleteSale |
This call does not support varying Detail Levels. You do not need to pass DetailLevel in the request.
| Input Output Detail Controls Change History Top Errors for CompleteSale |
An inline sample will be added in a future release. Please refer to the Samples section of the eBay Web Services Guide chapter for CompleteSale.
| Input Output Detail Controls Samples Top Errors for CompleteSale |
| Version | Description |
|---|---|
| 635 2009-09-16 |
|
| 627 2009-07-22 |
|
| 615 2009-04-29 |
|
| 583 2008-09-17 |
|
| 577 2008-08-06 |
|
| 543 2007-12-14 |
|
| 491 2006-12-13 |
|
This document was generated with a customized version of the apireferencedocs tool.
© 2005–2009 eBay, Inc. All rights reserved. This documentation and the API may only be used in accordance with the eBay Developers Program and API License Agreement.