marketing APIv1.10.0

bulkUpdateAdsBidByInventoryReference

POST
/ad_campaign/{campaign_id}/bulk_update_ads_bid_by_inventory_reference
This method works with listings that are managed with the Inventory API.

The method updates the bidPercentage values for a set of ads associated with the specified campaign.

Specify the campaign_id as a path parameter and supply a list of inventoryReferenceId and inventoryReferenceType pairs with the updated bidPercentage values in the request body.

In the Inventory API, an inventory reference ID is either a seller-defined SKU value or an inventoryItemGroupKey (a seller-defined ID for a multiple-variation listing).

Get the campaign IDs for a seller by calling getCampaigns and call getAds to get a list of the seller's inventory reference IDs.

Input

Resource URI (production)

POST https://api.ebay.com/sell/marketing/v1/ad_campaign/{campaign_id}/bulk_update_ads_bid_by_inventory_reference

URI parameters

ParameterTypeDescription
campaign_idstringA unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get a seller's campaign IDs by calling getCampaigns.

Occurrence: Required

HTTP request headers

All requests made to eBay REST operations require you to provide the Authorization HTTP header for authentication authorization.

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.marketing

See OAuth access tokens for more information.

Input container/fieldTypeDescription
requestsarray of CreateAdsByInventoryReferenceRequestA lsit of inventory reference ID and inventory reference type pairs, and the bid percentage, which the call uses to create ads in bulk.

Occurrence: Optional

requests.bidPercentagestringThe user-defined bid percentage (also known as the ad rate) sets the level that eBay increases the visibility of a listing across the eBay buyer flows. The higher the bidPercentage value, the more eBay promotes the listing.

The value specified here is also used to calculate the Promoted Listings fee. This percentage value is multiplied by the final sales price to determine the fee.

The Promoted Listings fee is determined at the time the transaction completes and the seller is assessed the fee only when an item sells through a Promoted Listings ad campaign.

bidPercentage is a single precision value that is guided by the following rules:
  • These values are valid:
       1,    1.0,    4.1,
       5.0,    5.5, ...
  • These values are not valid:
       0.01,    10.75,    99.99,
       and so on.

If a bid percentage is not provided for an ad, eBay uses the default bid percentage of the associated campaign.

Minimum value: 1.0
Maximum value: 100.0

Occurrence: Required

requests.inventoryReferenceIdstringAn ID that identifies an a single-item listing or multiple-variation listing that is managed with the Inventory API.

The inventory reference ID is a seller-defined value that can be either an SKU for a single-item listing or an inventoryItemGroupKey for a multiple-value listing.

An inventoryItemGroupKey is a value that the seller defines to indicate a listing that's the parent of a inventory item group (a multiple-variation listing, such as a listing for shirt that's available in multiple sizes and colors).

You must always specify both an inventoryRreferenceId and an inventoryReferenceType to indicate an item that's managed with the Inventory API.

Occurrence: Required

requests.inventoryReferenceTypeInventoryReferenceTypeEnumIndicates the type of item the inventoryReferenceId references. The item can be either an INVENTORY_ITEM or INVENTORY_ITEM_GROUP.

You must always pair an inventoryReferenceId with and inventoryReferenceType.

Occurrence: Required

Output

HTTP response headers

Output container/fieldTypeDescription
responsesarray of CreateAdsByInventoryReferenceResponseA list of inventory reference IDs, and their bid percentages, that the call processed.

Occurrence: Conditional

responses.adsarray of AdReferenceA list of ad IDs (based on their inventory reference IDs) and the URIs that point to them.

Occurrence: Conditional

responses.ads.adIdstringA unique eBay-assigned ID for an ad. This ID is generated when an ad is created.

Occurrence: Conditional

responses.ads.hrefstringThe URI of an ad. You can use this URI to retrieve the ad.

Occurrence: Conditional

responses.errorsarray of ErrorDetailV3An array of errors or warnings associated with the create-ads request.

Occurrence: Conditional

responses.errors.categorystringThe category type for this error or warning. It takes an ErrorCategory object which can have one of three values:
  • Application: Indicates an exception or error occurred in the application code or at runtime. Examples include catching an exception in a service's business logic, system failures, or request errors from a dependency.
  • Business: Used when your service or a dependent service refused to continue processing on the resource because of a business rule violation such as "Seller does not ship item to Antarctica" or "Buyer ineligible to purchase an alcoholic item". Business errors are not syntactical input errors.
  • Request: Used when there is anything wrong with the request, such as authentication, syntactical errors, rate limiting or missing headers, bad HTTP header values, and so on.

Occurrence: Conditional

responses.errors.domainstringName of the domain containing the service or application.

Occurrence: Conditional

responses.errors.errorIdintegerA positive integer that uniquely identifies the specific error condition that occurred. Your application can use error codes as identifiers in your customized error-handling algorithms.

Occurrence: Conditional

responses.errors.inputRefIdsarray of stringIdentifies specific request elements associated with the error, if any. inputRefId's response is format specific. For JSON, use JSONPath notation.

Occurrence: Conditional

responses.errors.longMessagestringAn expanded version of message that should be around 100-200 characters long, but is not required to be such.

Occurrence: Conditional

responses.errors.messagestringAn end user and app developer friendly device agnostic message. It explains what the error or warning is, and how to fix it (in a general sense). Its value is at most 50 characters long. If applicable, the value is localized in the end user's requested locale.

Occurrence: Conditional

responses.errors.outputRefIdsarray of stringIdentifies specific response elements associated with the error, if any. Path format is the same as inputRefId.

Occurrence: Conditional

responses.errors.parametersarray of ErrorParameterV3This optional complex field type contains a list of one or more context-specific ErrorParameter objects, with each item in the list entry being a parameter (or input field name) that caused an error condition. Each ErrorParameter object consists of two fields, a name and a value.

Occurrence: Conditional

responses.errors.parameters.namestringName of the entity that threw the error.

Occurrence: Conditional

responses.errors.parameters.valuestringA description of the error.

Occurrence: Conditional

responses.errors.subdomainstringName of the domain's subsystem or subdivision. For example, checkout is a subdomain in the buying domain.

Occurrence: Conditional

responses.inventoryReferenceIdstringAn ID that identifies an a single-item listing or multiple-variation listing that is managed with the Inventory API.

The inventory reference ID is a seller-defined value that can be either an SKU for a single-item listing or an inventoryItemGroupKey for a multiple-value listing.

Occurrence: Conditional

responses.inventoryReferenceTypeInventoryReferenceTypeEnumIndicates the type of item the inventoryReferenceId references. The item can be either an INVENTORY_ITEM or INVENTORY_ITEM_GROUP.

Occurrence: Conditional

responses.statusCodeintegerAn HTTP status code that indicates the response-status of the request. Check this code to see if the ads were successful created.

Occurrence: Conditional

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.

StatusMeaning
200Success
207Multi Status
400Bad Request
404Not Found
409Business error
500Internal Server Error

Error codes

For more on errors, plus the codes of other common errors, see Handling errors.

CodeDomainCategoryMeaning
35001API_MARKETINGAPPLICATIONThere was a problem with an eBay internal system or process. Contact eBay Developer Technical Support for assistance.
35002API_MARKETINGAPPLICATIONInternal error. Please wait a few minutes and try the call again.
35007API_MARKETINGREQUESTThe 'bidPercentage' {bidPercentage} is not valid. The bid percentage should be a single precision value. Minimum value: {minBidPercent} , Maximum value:{maxBidPercent}. Example of valid values: 4.1, 4.10, 5.5, 5.0, etc. Invalid values: 4.44, 8.11, etc.
35012API_MARKETINGREQUESTThe inventory reference ID {inventoryReferenceId} is not valid.
35018API_MARKETINGREQUESTThere are duplicate listing IDs or inventoryReference IDs in this request. You must remove the duplicate.
35033API_MARKETINGREQUESTAt least one request is required for bulk requests.
35035API_MARKETINGREQUESTThe campaign with 'campaign_id' {campaign_id} has ended.
35040API_MARKETINGREQUESTThe inventory reference type is not valid. Valid values are: {inventoryRefereneTypeValues}.
35045API_MARKETINGREQUESTNo campaign found for 'campaign_id' {campaign_id}.
35061API_MARKETINGBUSINESSThe campaign with 'campaign_id' {campaign_id} is being synced to match the specifications of the campaign. Please wait a few minutes and try the call again.
35063API_MARKETINGBUSINESSThe campaign with 'campaign_id' {campaign_id} is ending soon. No update operations are allowed on this campaign until it ends.
35064API_MARKETINGBUSINESSThis operation is only supported for key based campaigns.
35071API_MARKETINGBUSINESSYou have exceeded the maximum number of listing IDs or inventory reference IDs. Only {maxSupportedNumber} IDs are supported per call.
35072API_MARKETINGBUSINESSInventoryReferenceId {inventoryReferenceId} is not eligible for Promoted Listings because it is a variation and variations can only be promoted using the parent ID to which it belongs. Replace this ID with the InventoryReferenceId of the parent and set 'inventoryReferenceType' to 'INVENTORY_ITEM_GROUP'
35077API_MARKETINGBUSINESSTo use Promoted Listings, you need to improve your seller level to Top Rated or Above Standard and have enough recent sales activity.
35078API_MARKETINGBUSINESSTo gain access to Promoted Listings, you must be in good standing with recent sales activity.

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: Update Bid in Bulk Using Inventory Reference

This sample updates the bid for two ads using the seller inventory reference IDs for the campaign 1********4.

Input

The inputs for this sample are a list of bidPercentage and inventoryReferenceId fields. Specify the campaign to update by passig the campaign_Id as a URI parameter.
POST
https://api.ebay.com/sell/marketing/v1/ad_campaign/1********4/bulk_update_ads_bid_by_inventory_reference

Output

The output is an array of statusCode, inventoryReferenceType, inventoryReferenceId, ads.adId and ads.href fields.