POST/send_offer_to_interested_buyers
This method sends eligible buyers offers to purchase items in a listing at a discount.
When a buyer has shown interest in a listing, they become "eligible" to receive a seller-initiated offer to purchase the item(s).
Sellers use findEligibleItems to get the set of listings that have interested buyers. If a listing has interested buyers, sellers can use this method (sendOfferToInterestedBuyers) to send an offer to the buyers who are interested in the listing. The offer gives buyers the ability to purchase the associated listings at a discounted price.
For details about how to create seller offers to buyers, see Sending offers to buyers.
Input
Resource URI
This method is supported in Sandbox environment. To access the endpoint, just replace the api.ebay.com
root URI with api.sandbox.ebay.com
URI parameters
This method has no URI parameters.
HTTP request headers
All requests made to eBay REST operations require you to provide the Authorization
HTTP header for authentication authorization.
The table below shows additional HTTP request headers that are either required, conditionally required, or strongly recommended for this method. Other standard HTTP request headers- opens rest request components page (not in this table) can also be used, but they are optional.
Header | Type | Description |
---|---|---|
Content-Type | string | This header indicates the format of the request body provided by the client. Its value should be set to application/json. For more information, refer to HTTP request headers. Occurrence: Required |
X-EBAY-C-MARKETPLACE-ID | string | The eBay marketplace on which your listings with "eligible" buyers appear. For a complete list of supported marketplaces, see Negotiation API requirements and restrictions. Occurrence: Required |
OAuth scope
This request requires an access token created with the authorization code grant flow, using one or more scopes from the following list (please check your Application Keys page for a list of OAuth scopes available to your application):
https://api.ebay.com/oauth/api_scope/sell.inventory
See OAuth access tokens for more information.
Request payload
Copy complete valid JSON to clipboardRequest fields
Input container/field | Type | Description |
---|---|---|
allowCounterOffer | boolean | If set to Occurrence: Optional |
message | string | A seller-defined message related to the offer being made. Occurrence: Optional |
offerDuration | TimeDuration | The length of time the offer is valid from when it is created. Occurrence: Optional |
offerDuration.unit | TimeDurationUnitEnum | A time-measurement unit that specifies a singular period of time. Occurrence: Required |
offerDuration.value | integer | An integer that represents an amount of time, as measured by the time-measurement unit specified in the unit field. Occurrence: Required |
offeredItems | array of OfferedItem | An array of objects where each object contains the details of an offer and the ID of the listing on which the offer is being made. Occurrence: Required |
offeredItems.discountPercentage | string | This value denotes the percentage that the listing in the offer will be discounted from its original listed price. Occurrence: Conditional |
offeredItems.listingId | string | This value is a unique eBay-assigned ID that identifies the listing to which the offer pertains. Occurrence: Required |
offeredItems.price | Amount | This value denotes the final discounted price of the listing in the offer being made to the buyer. This value must be lower than the original price of the item as stated in the original listing. Occurrence: Conditional |
offeredItems.price.currency | CurrencyCodeEnum | The base currency applied to the value field to establish a monetary amount. Occurrence: Optional |
offeredItems.price.value | string | The monetary amount in the specified currency. Occurrence: Required |
offeredItems.quantity | integer | This integer value indicates the number of items in the eBay listing for which the offer is being made. Occurrence: Optional |
Output
HTTP response headers
This call has no response headers.
Response payload
Response fields
Output container/field | Type | Description |
---|---|---|
offers | array of Offer | The offers container returns a list of the offers sent to buyers who have shown an interest in listings included in the offer. Occurrence: Always |
offers.allowCounterOffer | boolean | If set to Occurrence: Always |
offers.buyer | User | The buyer who has been sent the offer. Occurrence: Always |
offers.buyer.maskedUsername | string | The masked user name is a user name that has certain characters hidden for privacy of the user. Occurrence: Always |
offers.creationDate | string | The date and time when the seller's offer was created. Occurrence: Always |
offers.initiatedBy | string | The eBay UserName of the user (seller) who initiated the offer. Occurrence: Always |
offers.lastModifiedDate | string | The date and time when the offer was last modified. Occurrence: Always |
offers.message | string | A seller-defined message related to the offer being made. This message is sent to the list of "interested" buyers along with the offer message from eBay. Occurrence: Conditional |
offers.offerDuration | TimeDuration | The length of time that the offer is valid. Occurrence: Always |
offers.offerDuration.unit | TimeDurationUnitEnum | A time-measurement unit that specifies a singular period of time. Occurrence: Always |
offers.offerDuration.value | integer | An integer that represents an amount of time, as measured by the time-measurement unit specified in the unit field. Occurrence: Always |
offers.offeredItems | array of OfferedItem | The list of items associated with the offer. Occurrence: Always |
offers.offeredItems.discountPercentage | string | This value denotes the percentage that the listing in the offer will be discounted from its original listed price. Occurrence: Conditional |
offers.offeredItems.listingId | string | This value is a unique eBay-assigned ID that identifies the listing to which the offer pertains. Occurrence: Conditional |
offers.offeredItems.price | Amount | This value denotes the final discounted price of the listing in the offer being made to the buyer. This value must be lower than the original price of the item as stated in the original listing. Occurrence: Conditional |
offers.offeredItems.price.currency | CurrencyCodeEnum | The base currency applied to the value field to establish a monetary amount. Occurrence: Conditional |
offers.offeredItems.price.value | string | The monetary amount in the specified currency. Occurrence: Conditional |
offers.offeredItems.quantity | integer | This integer value indicates the number of items in the eBay listing for which the offer is being made. Occurrence: Conditional |
offers.offerId | string | A unique eBay-assigned identifier for the offer. Occurrence: Always |
offers.offerStatus | OfferStatusEnum | The current state, or status, of an offer. Occurrence: Always |
offers.offerType | OfferTypeEnum | The type of offer being made. Occurrence: Always |
offers.revision | string | A unique, eBay-assigned ID for the revision of the offer. Occurrence: Always |
HTTP status codes
This call can return one of the following HTTP status codes. For an overview of the status codes, see HTTP status codes in Using eBay RESTful APIs.
Status | Meaning |
---|---|
200 | Success |
400 | Bad Request |
409 | Conflict |
500 | Internal Server Error |
Error codes
For more on errors, plus the codes of other common errors, see Handling errors.
Code | Domain | Category | Meaning |
---|---|---|---|
150000 | API_NEGOTIATION | APPLICATION | Internal error. Please try the call again after a minute or two. If the error persists, contact eBay developer support for assistance. |
150001 | API_NEGOTIATION | REQUEST | Mandatory headers are missing. |
150002 | API_NEGOTIATION | REQUEST | The marketplace value {marketplaceId} is not supported. The supported values are: {marketplaceIds} |
150005 | API_NEGOTIATION | REQUEST | Offer contains multiple listings {listingIds}. |
150006 | API_NEGOTIATION | REQUEST | Request cannot be null/empty. |
150007 | API_NEGOTIATION | REQUEST | Both offer price and discount percentage cannot be present in the request. |
150008 | API_NEGOTIATION | REQUEST | Price must be at least {minPercentageDifference} less than your Buy It Now price. |
150009 | API_NEGOTIATION | REQUEST | Invalid value for {fieldName}. {additionalInfo} |
150010 | API_NEGOTIATION | BUSINESS | Invalid message. Message cannot contain HTML or blocked words and cannot exceed maximum character limit of 2000. |
150011 | API_NEGOTIATION | BUSINESS | Invalid listingId {listingId}. The listing for this offer has ended. |
150012 | API_NEGOTIATION | BUSINESS | Invalid listingId {listingId}. No such listing for this seller. |
150013 | API_NEGOTIATION | BUSINESS | Invalid listingId {listingId}. {additionalInfo} |
150014 | API_NEGOTIATION | BUSINESS | Current available quantity for this listing {listingId} is less than the offer quantity. |
150015 | API_NEGOTIATION | BUSINESS | Invalid price for listing {listingId}. Minimum offer price of {minPrice} not met. |
150016 | API_NEGOTIATION | BUSINESS | Invalid price for listing {listingId}. Price value exceeds the listing price. |
150017 | API_NEGOTIATION | BUSINESS | Listing {listingId} does not support offer. |
150018 | API_NEGOTIATION | BUSINESS | Offer is invalid. A best offer currently exists on the listing {listingId}. |
150019 | API_NEGOTIATION | BUSINESS | Offer is invalid. Listing {listingId} currently has a seller-initiated negotiation. |
150020 | API_NEGOTIATION | BUSINESS | Listing {listingId} has no interested buyers. |
150021 | API_NEGOTIATION | BUSINESS | Seller initiating the offer is not active. |
150022 | API_NEGOTIATION | BUSINESS | Offer is invalid. Maximum allowed offer limit reached. |
150023 | API_NEGOTIATION | BUSINESS | Offer is invalid. Seller has exceeded their seller-initiated offer limit. |
150024 | API_NEGOTIATION | BUSINESS | Offer is invalid. Items are listed on different sites. |
150025 | API_NEGOTIATION | BUSINESS | Offer is invalid. {additionalInfo} |
150026 | API_NEGOTIATION | BUSINESS | Listing ID {listingId} is invalid, sellers cannot initiate an offer to a buyer for a Motors listing. |
150027 | API_NEGOTIATION | REQUEST | Offer is invalid. Please specify a valid duration of {durationValue} {durationUnit} |
Warnings
This call has no warnings.
Samples
New to making API calls? Please see Making a Call.
Note: Identifiers, such as order IDs or user IDs, and personal data in these samples might be anonymized or may no longer be active on eBay. If necessary, substitute current, relevant eBay data in your requests.
Sample 1: Send a discount offer to interested buyers
This sample shows how to send an offer to all the buyers who have shown an interest in a seller's listing.
When you make this call, eBay sends each buyer who has shown an "interest" in the listing a message that details your offer, plus your personal offer message.
Input
In the request payload for this call, include:
- The ID of the item that is being discounted.
- A user-defined message that introduces the offer being made to the buyer.
- The "duration" of the offer.
- The amount of the discount being offered, either a percentage or monetary amount that is subtracted from the original listing price.
- The quantity of the items that must be bought to receive the discount.
POSThttps://api.ebay.com/sell/negotiation/v1/send_offer_to_interested_buyers
Output
A successful call returns a list of the offers that were sent as a result of the request.