Enables a user to bid (make an offer) on an item or make a best offer. For competitive-bid auction listings (such as a Chinese auction), a user can make a bid. For fixed-price listings (Basic Fixed-Price and eBay Stores Inventory listings), a user can purchase an item. A user can make a best offer on an item for which Best Offer is enabled. For information about the Best Offer feature (including rules for counteroffers), see Enabling Best Offer.
For more information about each use of PlaceOffer (including information about making a best offer or counteroffer, and information about accepting or declining a counteroffer), please see PlaceOffer Input.
Important note: Before using this call, please carefully review the PlaceOffer Policies and Guidelines. The PlaceOffer Policies are required for use of PlaceOffer in the production environment. Please carefully write your application to follow all the PlaceOffer Policies.
Note: PlaceOffer is available for evaluation by all in the Sandbox (test) environment.
For information about becoming authorized to use PlaceOffer in the Production environment, please contact Developer Relations, developer-relations@ebay.com.
Important notes: When you use PlaceOffer to make a best offer, no affiliate-related commissions are paid. Affiliate-commission functionality is not available in the Sandbox environment. Affiliate commissions from PlaceOffer require that the call be made to the site on which the item is listed. Affiliate commissions from PlaceOffer also require that the affiliate has signed up with the eBay Partner Network for the site on which the item is listed.
If you make a PlaceOffer request and eBay returns a BotBlock container, your application must use the contents of the BotBlock container to show that the application-user is a human and not a bot.
Capture the contents of the BotBlock container (BotBlockUrl, BotBlockAudioUrl, and BotBlockToken) returned by PlaceOffer. The application-user must input the value for BotBlockUrl or BotBlockAudioUrl. Your application must capture this value and, in the next PlaceOffer call, include a BotBlock container (containing the user-input value and the token you captured from the BotBlockToken field). eBay then uses your BotBlock container (in your second PlaceOffer call) to validate that the user is a human and not a bot.
You can use GetChallengeToken to test your application's ability to show that a PlaceOffer user is a human and not a bot. Make a GetChallengeToken request and capture ChallengeToken, ImageChallengeURL, and AudioChallengeURL. The application-user must input the value for ImageChallengeURL or AudioChallengeURL. Your application must capture this value and, in a PlaceOffer call, include a BotBlock container. The BotBlock container will contain the user-input value along with the value from ChallengeToken (from the GetChallengeToken response). eBay then uses your BotBlock container to validate that the user is a human and not a bot.
If PayPal is the required payment method, then the user making a bid or purchase must have a PayPal account.
If a user has placed a bid on an item with Bid Assistant (available on the eBay site), then a subsequent PlaceOffer call on behalf of that user, on that item, will not succeed.
See PlaceOffer.
See also the reference documentation for these calls:
| Output Detail Controls Samples Change History Top Errors for PlaceOffer |
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"?>
<PlaceOfferRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<!-- Standard Input Fields -->
<BotBlock> BotBlockRequestType
<BotBlockToken> string </BotBlockToken>
<BotBlockUserInput> string </BotBlockUserInput>
</BotBlock>
<EndUserIP> string </EndUserIP>
<ErrorLanguage> string </ErrorLanguage>
<InvocationID> UUIDType (string) </InvocationID>
<MessageID> string </MessageID>
<Version> string </Version>
<WarningLevel> WarningLevelCodeType </WarningLevel>
<!-- Call-specific Input Fields -->
<AffiliateTrackingDetails> AffiliateTrackingDetailsType
<AffiliateUserID> string </AffiliateUserID>
<ApplicationDeviceType> ApplicationDeviceTypeCodeType </ApplicationDeviceType>
<TrackingID> string </TrackingID>
<TrackingPartnerCode> string </TrackingPartnerCode>
</AffiliateTrackingDetails>
<BlockOnWarning> boolean </BlockOnWarning>
<ItemID> ItemIDType (string) </ItemID>
<Offer> OfferType
<Action> BidActionCodeType </Action>
<BestOfferID> BestOfferIDType (string) </BestOfferID>
<MaxBid> AmountType (double) </MaxBid>
<Message> string </Message>
<Quantity> int </Quantity>
<UserConsent> boolean </UserConsent>
</Offer>
<VariationSpecifics> NameValueListArrayType
<NameValueList> NameValueListType
<Name> string </Name>
<Value> string </Value>
<!-- ... more Value nodes here ... -->
</NameValueList>
<!-- ... more NameValueList nodes here ... -->
</VariationSpecifics>
</PlaceOfferRequest>
| Argument | Type | Occurrence | Meaning |
|---|
| Standard Input Fields [Jump to call-specific fields] |
| BotBlock | BotBlockRequestType | Conditional | Container for a token and for user input. |
| BotBlock.BotBlockToken | string | Conditional | An encrypted token that eBay generates and that applications need to pass as input to subsquent calls. One use of this might be to block users from the site due to multiple call requests. |
| BotBlock.BotBlockUserInput | string | Conditional | The user's response to being asked to type the message in the botblock challenge image (that is, the image corresponding to BotBlockUrl that has been returned in a previous call). |
| EndUserIP | string | Required | The public IP address of the machine from which the request is sent. Your application captures that IP address and includes it in a call request. eBay evaluates requests for safety (also see the BotBlock container in the request and response of this call). |
| 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 |
| InvocationID | UUIDType (string) | Optional |
A unique identifer for a particular call. If the same InvocationID is passed in after it has been passed in once on a call that succeeded for a particular application and user, then an error will be returned. The identifier can only contain digits from 0-9 and letters from A-F. The identifier must be 32 characters long. For example, 1FB02B2-9D27-3acb-ABA2-9D539C374228. Max length: 32. |
| 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 | |||
| AffiliateTrackingDetails | AffiliateTrackingDetailsType | Optional | Container for affiliate-related tags, which enable the tracking of user activity. If you include AffiliateTrackingDetails in your PlaceOffer call, then it is possible to receive affiliate commissions based on calls made by your application. (See the eBay Partner Network for information about commissions.) Please note that affiliate tracking is not available in the Sandbox environment, and that affiliate tracking is not available when you make a best offer. |
|
AffiliateTrackingDetails .AffiliateUserID |
string | Conditional | Need not be specified. You can define an AffiliateUserID (up to 256 characters) if you want to leverage it to better monitor your marketing efforts. If you are using the eBay Partner Network, and you provide an AffiliateUserID, the tracking URL returned by eBay Partner Network will contain the AffiliateUserID, but it will be referred to as a "customid". |
|
AffiliateTrackingDetails .ApplicationDeviceType |
ApplicationDeviceTypeCodeType | Conditional |
Type of device from which the call originated. For PlaceOffer, if you are using affiliate tracking, this field is required as part of the set of tags you use in the AffiliateTrackingDetails container.
Applicable values: • Browser (in) Browser device. • CustomCode (in) Reserved for future use. • Desktop (in) Desktop device. • SetTopTVBox (in) SetTopTVBox device. • Wireless (in) Wireless device. |
|
AffiliateTrackingDetails .TrackingID |
string | Conditional | The value you specify is obtained from your tracking partner. For eBay Partner Network, the TrackingID is the Campaign ID ("campid") provided by eBay Partner Network. A Campaign ID is a 10-digit, unique number for associating traffic. A Campaign ID is valid across all programs to which you have been accepted. |
|
AffiliateTrackingDetails .TrackingPartnerCode |
string | Conditional |
Specifies your tracking partner for affiliate commissions. Required if you specify a TrackingID. Depending on your tracking partner, specify one of the following values. Not all partners are valid for all sites. For PlaceOffer, only eBay Partner Network and Mediaplex are valid: 2 = Be Free 3 = Affilinet 4 = TradeDoubler 5 = Mediaplex 6 = DoubleClick 7 = Allyes 8 = BJMT 9 = eBay Partner Network For information about the eBay Partner Network, see eBay Partner Network. |
| BlockOnWarning | boolean | Optional | If a warning message exists and BlockOnWarning is true, the warning message is returned and the bid is blocked. If no warning message exists and BlockOnWarning is true, the bid is placed. If BlockOnWarning is false, the bid is placed, regardless of warning. |
| ItemID | ItemIDType (string) | Required |
Unique item ID that identifies the item listing for which the offer is being submitted. If the item was listed with Variations, you must also specify VariationSpecifics in the request to uniquely identify the variant being purchased. Max length: 19 (Note: The eBay database specifies 38. Currently, Item IDs are usually 9 to 12 digits). |
| Offer | OfferType | Required | Specifies the type of offer being made. If the item is a competitive-bidding listing, the offer is a bid. If the item is a fixed-price listing, then the offer purchases the item. If the item is a competitive-bidding listing and the offer is of type with an active, unexercised Buy It Now option, then the offer can either purchase the item or be a bid. See the schema documentation for OfferType for details on its properties and their meanings. |
| Offer.Action | BidActionCodeType | Required |
Indicates the type of offer being made on the specified listing. If the item is best-offer enabled and the buyer makes a best offer (or counter-offer, etc.), then after the PlaceOffer call, the buyer can get the status of the best offer (and of a possible seller-counter-offer, etc.) using the GetBestOffers call. See the Trading Web Services Guide for information about best-offer enabled items and about GetBestOffers.
Applicable values: • Accept (in/out) If an item is best-offer enabled, use this value if a buyer is accepting a counteroffer of a seller. • Bid (in/out) The item is being offered (or was placed) as a competitive-bid item listing. This auction format if often referred to as a Chinese auction. • Counter (in/out) If an item is best-offer enabled, use this value if a buyer is making a counteroffer to a seller's counteroffer. • Decline (in/out) If an item is best-offer enabled, use this value if a buyer is declining a counteroffer of a seller. • Offer (in/out) If an item is best-offer enabled, use this value if a buyer is making a best offer on the item. After a buyer makes a best offer (or counter-offer, etc.), the buyer can get the status of the best offer (and of a possible seller-counter-offer, etc.) using the GetBestOffers call. See the Trading Web Services Guide for information about best-offer enabled items and about GetBestOffers. • Purchase (in/out) The offer is being or was placed on a fixed-price listing. This value is used for fixed-price listings (Basic Fixed-Price and eBay Stores Inventory listings) to purchase an item. In the case of PlaceOffer, for Chinese items with the BIN option, specify Purchase to buy an item. In the case of items listed with AutoPay, PlaceOffer can be used to bid, but not to purchase. (Not all values in BidActionCodeType apply to this field.) |
| Offer.BestOfferID | BestOfferIDType (string) | Optional | The ID of a best offer on an item. Must be specified as input to PlaceOffer only if a buyer is accepting or declining a seller's counteroffer (and is not required for a buyer's offer or counteroffer). |
| Offer.MaxBid | AmountType (double) | Required | Amount of the offer placed. For competitive-bidding listings, the amount bid on the item (subject to outbid by other buyers). For fixed-price listings, the fixed sale price at which the item is purchased. For competitive-bidding listings with an active Buy It Now option, this amount will be either the Buy It Now price for purchase or the amount of a bid, depending on the offer type (as specified in Action). For PlaceOffer, the currencyID attribute is ignored if provided. Regarding Value-Added Tax (VAT): Even if VAT applies, you do not need to add VAT to the MaxBid value. If VAT applies to the listing, the seller can specify a VAT percent value when they list the item. |
| Offer.Message | string | Optional | A message from the buyer to the seller. Applies if the buyer is using PlaceOffer to perform a best-offer-related action (best offer, counter-offer, etc.). |
| Offer.Quantity | int | Required | Specifies the number of items from the specified listing the user tendering the offer intends to purchase, bid on, or make a best offer on. For Chinese auctions and other listing formats that only allow one item per listing, value may not exceed one. For multi-item listings, must be greater than zero and not exceeding the number of items offered for sale in the listing. |
| Offer.UserConsent | boolean | Optional | If true, confirms that the bidder read and agrees to eBay's privacy policy. Applies if the subject item is in a category that requires user consent. If user consent (that is, confirmation that a bidder read and agrees to eBay's privacy policy) is required for a category that the subject item is in, this value must be true for a bid to occur. |
| VariationSpecifics | NameValueListArrayType | Conditional |
Name-value pairs that identify a single variation within the listing identified by ItemID. Required when the seller listed the item with Item Variations. If you want to buy items from multiple variations in the same listing, use a separate PlaceOffer request for each variation. For example, if you want to buy 3 red shirts and 2 black shirts from the same listing, use one PlaceOffer request for the 3 red shirts, and another PlaceOffer request for the 2 black shirts. |
|
VariationSpecifics .NameValueList |
NameValueListType | Conditional,
repeatable: [0..*] |
For the AddItem family of calls: Contains the name and value(s) for an Item Specific. Only required when the ItemSpecifics container is specified. For the AddFixedPriceItem family of calls: The same NameValueList schema is used for the ItemSpecifics node, the VariationSpecifics node, and the VariationSpecifcsSet node. If the listing has varations, any name that you use in the VariationSpecifics and VariationSpecificsSet nodes can't be used in the ItemSpecifics node. When you list with Item Variations: a) Specify shared Item Specifics (e.g., Brand) in the ItemSpecifics node. b) Specify up to five VariationSpecifics in each Variation node. c) Specify all applicable names with all their supported values in the VariationSpecificSet node. See the Variation sample in the AddFixedPriceItem call reference for examples. For PlaceOffer: Required if the item being purchased includes Item Variations. |
|
VariationSpecifics .NameValueList.Name |
string | Conditional |
A name in a name/value pair. For the AddItem and AddFixedPriceItem families of calls: In the Item.ItemSpecifics context, this can be any name that the seller wants to use. However, to help buyers find items more easily, it is a good idea to try to use a recommended name when possible (see GetCategorySpecifics or GetItemRecommendations). You can't specify the same name twice within the same listing. For the AddFixedPriceItem family of calls: In the VariationSpecifics context, this can be any name that the seller wants to use, unless the VariationsEnabled flag is false for the name in the GetCategorySpecifics response. For example, for some categories eBay may recommend that you only use "Brand" as a shared name at the Item level, not in variations. For GetCategorySpecifics and GetItemRecommendations: This is a recommended (popular) name to use for items in the specified category (e.g., "Brand" might be recommended, not "Manufacturer"). For search calls: In the GetSearchResults response, this the name of an attribute (Attribute) that was used in the listing. Specifically: If SearchRequest was used to perform a "Product Finder" search, this contains the name of one attribute (i.e, the name of one ID-based Item Specifics field). If IncludeCondition was true in the request, this returns the condition attribute name (e.g., "Item Condition"). In the GetProducts response, this is an attribute name that is defined for a catalog product. For PlaceOffer: Required if the item being purchased includes Item Variations. |
|
VariationSpecifics .NameValueList.Value |
string | Conditional,
repeatable: [0..*] |
A value associated with the name. For the AddItem family of calls: If you specify multiple values for Item Specifics, eBay only stores the first one, unless GetCategorySpecifics or GetItemRecommendations indicates that the corresponding name supports multiple values. For the AddFixedPriceItem family of calls: If you specify multiple values for Item Specifics or Variation Specifics, eBay only stores the first one, unless GetCategorySpecifics or GetItemRecommendations indicates that the corresponding name supports multiple values. In VariationSpecificSet, you typically specify multiple Value fields for each name. For example, if Name=Size, you would specify all size values that you wan to offer in the listing. For GetCategorySpecifics and GetItemRecommendations: The most highly recommended values are returned first. For these calls, Value is only returned when recommended values are available. For search calls: In the GetSearchResults response, if SearchRequest was used to perform a "Product Finder" search, this contains the value of one attribute. If IncludeCondition was true in the request, this returns the condition attribute value (e.g., "New"). For PlaceOffer: Required if the item being purchased includes Item Variations. |
| Input Detail Controls Samples Change History Top Errors for PlaceOffer |
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"?>
<PlaceOfferResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<!-- Standard Output Fields -->
<Ack> AckCodeType </Ack>
<BotBlock> BotBlockResponseType
<BotBlockAudioUrl> string </BotBlockAudioUrl>
<BotBlockToken> string </BotBlockToken>
<BotBlockUrl> string </BotBlockUrl>
</BotBlock>
<Build> string </Build>
<CorrelationID> string </CorrelationID>
<DuplicateInvocationDetails> DuplicateInvocationDetailsType
<DuplicateInvocationID> UUIDType (string) </DuplicateInvocationID>
<InvocationTrackingID> string </InvocationTrackingID>
<Status> InvocationStatusType </Status>
</DuplicateInvocationDetails>
<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>
<Message> string </Message>
<Timestamp> dateTime </Timestamp>
<Version> string </Version>
<!-- Call-specific Output Fields -->
<BestOffer> BestOfferType
<BestOfferID> BestOfferIDType (string) </BestOfferID>
<Status> BestOfferStatusCodeType </Status>
</BestOffer>
<SellingStatus> SellingStatusType
<ConvertedCurrentPrice currencyID="CurrencyCodeType"> AmountType (double) </ConvertedCurrentPrice>
<CurrentPrice currencyID="CurrencyCodeType"> AmountType (double) </CurrentPrice>
<HighBidder> UserType
<UserID> UserIDType (string) </UserID>
</HighBidder>
<MinimumToBid currencyID="CurrencyCodeType"> AmountType (double) </MinimumToBid>
<ReserveMet> boolean </ReserveMet>
</SellingStatus>
<TransactionID> string </TransactionID>
</PlaceOfferResponse>
| Return Value | Type | Occurrence | Meaning |
|---|
| Standard Output Fields [Jump to call-specific 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 • Success (out) Request processing succeeded • Warning (out) Request processing completed with warning information being included in the response message (Not all values in AckCodeType apply to this field.) |
| BotBlock | BotBlockResponseType | Conditionally | Container of token, image URL and audio URL. |
| BotBlock.BotBlockAudioUrl | string | Conditionally | The URL of the audio-clip that your application should provide for sight-impaired users. The BotBlockAudioUrl audio-clip corresponds to the BotBlockUrl image. |
| BotBlock.BotBlockToken | string | Conditionally | An encrypted token generated by eBay when the botblock mechanism is triggered. This token is mapped to BotBlockUrl and BotBlockAudioUrl. |
| BotBlock.BotBlockUrl | string | Conditionally | The URL of the image that your application should display to the user for a botblock challenge. |
| 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. |
| DuplicateInvocationDetails | DuplicateInvocationDetailsType | Conditionally | Information that explains a failure due to a duplicate InvocationID being passed in. |
|
DuplicateInvocationDetails .DuplicateInvocationID |
UUIDType (string) | Conditionally | The duplicate InvocationID. |
|
DuplicateInvocationDetails .InvocationTrackingID |
string | Conditionally | The id that identifies the business item the previous API invocation created. For example, the ItemID of the item created by an AddItem call. |
|
DuplicateInvocationDetails .Status |
InvocationStatusType | Conditionally |
The status of the previous call that used the InvocationID.
Applicable values: • CustomCode
• Failure (out) • InProgress (out) • Success (out) |
| 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. |
| Message | string | Conditionally |
Supplemental information from eBay, if applicable. May elaborate on errors (such as how a listing violates eBay policies) or provide useful hints that may help a seller increase sales. This data can accompany the call's normal data result set or a result set that contains only errors. Applications must recognize when the Message field is returned and provide a means to display the listing hints and error message explanations to the user. The string can return HTML, including TABLE, IMG, and HREF elements. In this case, an HTML-based application should be able to include the HTML as-is in the HTML page that displays the results. A non-HTML application would need to parse the HTML and convert the table elements and image references into UI elements particular to the programming language used. As usual for string data types, the HTML markup elements are escaped with character entity references (e.g.,<table><tr>...). See Message. |
| 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. |
| Call-specific Output Fields | |||
| BestOffer | BestOfferType | Conditionally | For a best-offer-related action of a buyer using PlaceOffer, contains information about the best-offer-related action. |
| BestOffer.BestOfferID | BestOfferIDType (string) | Conditionally | An ID to distinguish this best offer from other best offers made on the item. |
| BestOffer.Status | BestOfferStatusCodeType | Conditionally |
The state of the offer. In the case of a PlaceOffer response that specified a best offer, Status may be "Accepted" if the best offer was at or above an auto-accept price.
Applicable values: • Accepted (out) The best offer was accepted by the seller. • Active (in/out) Retrieve active best offers only. • AdminEnded (out) The best offer was ended by an administrator. • All (in/out) Retrieve all best offers (including declined offers, etc.). • Countered (out) Retrieve all counter best offers. • CustomCode (out) Reserved for internal or future use. • Declined (out) The best offer was rejected by the seller. • Expired (out) The best offer expired after 48 hours due to no action by the seller. • Pending (out) The best offer is awaiting seller response or will naturally expire after 48 hours. • Retracted (out) The best offer was retracted by the buyer. |
| SellingStatus | SellingStatusType | Always | Indicates the current bidding/purchase state of the item listing, as of the offer extended using PlaceOffer. See the schema documentation for the SellingStatus object, the properties of which contain such post-offer information as the current high bidder, the current price for the item, and the bid increment. |
|
SellingStatus .ConvertedCurrentPrice |
AmountType (double) | Conditionally |
Converted value of the CurrentPrice in the currency of the site that returned this response. For active items, refresh the listing's data every 24 hours to pick up the current conversion rates. Only returned when the item's CurrentPrice on the listing site is in different currency than the currency of the host site for the user/application making the API call. ConvertedCurrentPrice is not returned for Classified listings (Classified listings are not available on all sites). In multi-variation listings, this value matches the lowest-priced variation that is still available for sale. |
| SellingStatus .ConvertedCurrentPrice [ attribute currencyID ] |
CurrencyCodeType | Always |
Currency in which the monetary amount is specified. In the AddItem family of calls, the currency can be specified in the Item.Currency field instead. If you do specify this attribute in the AddItem family of calls, the value must match the site currency (i.e., it must be the same as the value in Item.Currency) unless otherwise stated. For a list of possible enumeration values, see CurrencyCodeType. |
| SellingStatus.CurrentPrice | AmountType (double) | Always |
For competitive-bid item listings (Chinese auctions), current minimum asking price (start price) or the current highest bid for the item if bids have been placed. Shows minimum bid if no bids have been placed on the item. For Basic Fixed-Price (FixedPriceItem), Store Inventory (StoresFixedPrice), or Ad type (AdType) listings this returns the original price specified when the item was listed/re-listed or the revised price if the item was revised using the ReviseItem call. In multi-variation listings, this value matches the lowest-priced variation that is still available for sale. |
| SellingStatus.CurrentPrice [ attribute currencyID ] |
CurrencyCodeType | Always |
Currency in which the monetary amount is specified. In the AddItem family of calls, the currency can be specified in the Item.Currency field instead. If you do specify this attribute in the AddItem family of calls, the value must match the site currency (i.e., it must be the same as the value in Item.Currency) unless otherwise stated. For a list of possible enumeration values, see CurrencyCodeType. |
| SellingStatus.HighBidder | UserType | Conditionally | For ended Chinese auction listings that have a winning bidder, this field is a container for the high bidder's user ID. For ended, single-item, basic fixed price (FixedPriceItem) and ended Store Inventory (StoresFixedPrice) listings, this field is a container for the user ID of the purchaser. This field isn't returned for auctions with no bids, or for active fixed price listings, or for active Store Inventory listings. In the case of PlaceOffer, for chinese auctions, this field is a container for the high bidder's user ID. In the PlaceOffer response, the following applies: For multiple-quantity, fixed-price listings, the high bidder is only returned if there is just one transaction (or only for the first transaction that is created). |
|
SellingStatus.HighBidder .UserID |
UserIDType (string) | Conditionally |
Unique eBay user ID for the user. Since a bidder's user info is anonymous, this tag contains the actual value of an ID only for that bidder, and for the seller of an item that the user is bidding on. For other users, the actual value is replaced by an anonymous value, according to these rules: When bidding on items listed on the US site: UserID is replaced with the value "a****b" where a and b are random characters from the UserID. For example, if the UserID = IBidALot, it might be displayed as, "I****A". Note that in this format, the anonymous bidder ID stays the same for every auction. For GetMyeBayBuying only, when bidding on items listed on the US site: UserID is replaced with the value "a****b" where a and b are random characters from the UserID. When bidding on items listed on the the UK and AU sites: UserID is replaced with the value "Bidder X" where X is a number indicating the order of that user's first bid. For example, if the user was the third bidder, UserID = Bidder 3. Note that in this format, the anonymous bidder ID stays the same for a given auction, but is different for different auctions. For example, a bidder who is the third and then the seventh bidder in an auction will be listed for both bids as "Bidder 3". However, if that same bidder is the first bidder on a different auction, the bidder will be listed for that auction as "Bidder 1", not "Bidder 3". For GetMyeBayBuying only, when bidding on items listed on the UK and AU sites: UserID is replaced with the string "High Bidder". Note that when IncludeFeedback is true in a GetSearchResults request, the response contains the seller's User ID. Please note that a seller's UserID is not anonymized. For PlaceOffer, see also SellingStatus.HighBidder. |
| SellingStatus.MinimumToBid | AmountType (double) | Conditionally |
Smallest amount the next bid on the item can be. Returns same value as Item.StartPrice (if no bids have yet been placed) or CurrentPrice plus BidIncrement (if at least one bid has been placed). Only applicable to competitive-bid item listings (Chinese auctions). Returns null for basic Fixed Price (FixedPriceItem), Store Inventory (StoresFixedPrice), and Ad type listings. In multi-variation listings, this value matches the lowest-priced variation that is still available for sale. Note: As of version 619, Dutch-style (multi-item) competitive-bid auctions are deprecated. eBay throws an error if you submit a Dutch item listing with AddItem or VerifyAddItem. If you use RelistItem to update a Dutch auction listing, eBay generates a warning and resets the Quantity value to 1. |
| SellingStatus.MinimumToBid [ attribute currencyID ] |
CurrencyCodeType | Conditionally |
Currency in which the monetary amount is specified. In the AddItem family of calls, the currency can be specified in the Item.Currency field instead. If you do specify this attribute in the AddItem family of calls, the value must match the site currency (i.e., it must be the same as the value in Item.Currency) unless otherwise stated. For a list of possible enumeration values, see CurrencyCodeType. |
| SellingStatus.ReserveMet | boolean | Conditionally | Indicates whether the reserve price has been met for the listing. Returns true if the reserve price was met or no reserve price was specified. |
| TransactionID | string | Conditionally |
The TransactionID field can be returned if, on input, you specified Purchase in the Action field. The TransactionID field contains the ID of the transaction created. This field applies to the following types of listings: FixedPriceItem and StoresFixedPrice. This field also applies to Chinese BIN if you specified Purchase on input. Max length: 19 (Note: The eBay database specifies 38. Currently, transaction IDs are usually 9 to 12 digits.) . |
| Input Output Samples Change History Top Errors for PlaceOffer |
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 PlaceOffer |
New to making API calls? Please see Routing the Request.
Note: Some item IDs, user IDs, or other data in these samples might no longer be active on eBay. If necessary, you can substitute current eBay data in your requests.
Available samples:
Purchase a fixed price or BuyItNow item.
Description
braggybuyer has found a Harry Potter book he wants to buy. The book is a fixed-priced listing, so he can purchase the book with PlaceOffer. braggy buyer must know the current price and listing type before using PlaceOffer.
Important: There a many rules and guidelines for using PlaceOffer, see PlaceOffer Best Practices in the Web Services Guide.
Input
The required input for this sample includes the ItemID for the book, the Action with a value of Purchase, the MaxBid of 10 (the price of the book),in currency of the listing site and the Quantity value of 1 to purchase a single book.
XML format (HTTP POST). Also available is the .txt version of this XML. <?xml version="1.0" encoding="utf-8"?> <PlaceOfferRequest xmlns="urn:ebay:apis:eBLBaseComponents"> <RequesterCredentials> <eBayAuthToken>ABC...123</eBayAuthToken> </RequesterCredentials> <ItemID>110025737350</ItemID> <EndUserIP>ww.xxx.yy.zzz</EndUserIP> <Offer> <Action>Purchase</Action> <MaxBid currencyID="USD">10</MaxBid> <Quantity>1</Quantity> </Offer> </PlaceOfferRequest>
Output
The important information in the response is in SellingStatus. The SellingStatus.HighBidder.UserID indicates braggybuyer was successful in his purchase at the CurrentPrice of 10 US dollars.
XML format. Also available is the .txt version of this XML. <?xml version="1.0" encoding="utf-8"?> <PlaceOfferResponse xmlns="urn:ebay:apis:eBLBaseComponents"> <Timestamp>2007-12-04T22:18:38.579Z</Timestamp> <Ack>Success</Ack> <Version>539</Version> <Build>e539_core_Bundled_5642307_R1</Build> <SellingStatus> <ConvertedCurrentPrice currencyID="USD">10.0</ConvertedCurrentPrice> <CurrentPrice currencyID="USD">10.0</CurrentPrice> <HighBidder> <UserID>braggybuyer</UserID> </HighBidder> </SellingStatus> <TransactionID>0</TransactionID> </PlaceOfferResponse>
Purchases one item from a listing with Item Variations.
Description
User bountifulbuyer has searched for and found a listing with women's Polo tops in several colors. The listing organized the tops by using Item Variations.
She wants to buy two medium pink tops for $17.99 each and a medium black top for $20.00. As pink and black are different variations, she can't buy them at the same time. (She needs to use separate PlaceOffer requests.) In the sample below, she is purchasing the two pink tops only.
Input
The key inputs in this scenario are the ItemID and VariationSpecifics, which uniquely identify the variation she wants to purchase, along with the Quantity. (These details were determined based on a GetItem response.)
The application needs to completely specify all the variation's VariationSpecifics in order to uniquely identify that variation within the specified listing.
XML format (HTTP POST). Also available is the .txt version of this XML. <?xml version="1.0" encoding="utf-8"?> <PlaceOfferRequest xmlns="urn:ebay:apis:eBLBaseComponents"> <ErrorLanguage>en_US</ErrorLanguage> <ItemID>110039490209</ItemID> <VariationSpecifics> <NameValueList> <Name>Color</Name> <Value>Pink</Value> </NameValueList> <NameValueList> <Name>Size</Name> <Value>M</Value> </NameValueList> </VariationSpecifics> <Offer> <Action>Purchase</Action> <MaxBid currencyID="USD">17.99</MaxBid> <Quantity>2</Quantity> </Offer> <RequesterCredentials> <eBayAuthToken>ABC...123</eBayAuthToken> </RequesterCredentials> </PlaceOfferRequest>
Output
The important information in the response is TransactionID, which indicates that the purchase was recorded by eBay. She can use the value as input to GetItemTransactions to verify the amount paid (before shipping), the quantity purchased, and which variation she purchased.
XML format. Also available is the .txt version of this XML. <?xml version="1.0" encoding="utf-8"?> <PlaceOfferResponse xmlns="urn:ebay:apis:eBLBaseComponents"> <Timestamp>2009-06-12T14:26:17.590Z</Timestamp> <Ack>Success</Ack> <Version>619</Version> <Build>e619__Bundled_9183565_R1</Build> <SellingStatus> <ConvertedCurrentPrice currencyID="USD">17.99</ConvertedCurrentPrice> <CurrentPrice currencyID="USD">17.99</CurrentPrice> <HighBidder> <UserID>testuser_bountifulbuyer</UserID> </HighBidder> </SellingStatus> <TransactionID>24005469001</TransactionID> </PlaceOfferResponse>
| Input Output Detail Controls Samples Top Errors for PlaceOffer |
| Version | Description |
|---|---|
| 621 2009-06-10 |
|
| 615 2008-04-29 |
|
| 539 2007-11-14 |
|
| 535 2007-10-17 |
|
| 519 2007-06-27 |
|
| 517 2007-06-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.