findBundles

The findBundles call is used by a seller to retrieve all product bundles associated with the seller's account, to retrieve product bundles based on a bundleID or primarySKU value, or to retrieve product bundles based on the status of the product bundle (Active, Scheduled, Ended, or Disabled).

Request Details

To retrieve all product bundles associated with the seller's account, call findBundles with no input parameters.

To retrieve a product bundle by bundleID or primarySKU, include the bundleFilter container and specify either a bundleFilter.bundleID or bundleFilter.primarySKU value. Both values can be used, but they should match. Multiple bundleFilter containers can be used in the same call.

To retrieve a product bundle based on bundle status, include the findAllByStatus field and specify a BundleStatusEnum value.

If the seller only wants to see summary-level information for product bundles, the BundleDetailSelector field should be included in the request, and it should be set to Summary. If BundleDetailSelector is set to Summary, the relatedProductGroup container for each product bundle is omitted in the response.

Boolean OR logic is used when bundleFilter and findAllByStatus are both used. In other words, all product bundles matching the specified bundleID value(s), primarySKU value(s), or the BundleStatusEnum value, or any combination thereof, are returned in the output.

Working with the Response

All product bundles matching the filter criteria in the request are returned. Full product bundle details (with related product groups) are returned unless the BundleDetailSelector field was included in the request, and set to Summary.



Back to top

findBundles Input

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.

<?xml version="1.0" encoding="utf-8"?>
<findBundlesRequest xmlns="http://www.ebay.com/marketplace/sellerinventory/v1/services">
  <bundleDetailSelector> BundleDetailEnum </bundleDetailSelector>
  <bundleFilter> BundleFilter
    <bundleID> long </bundleID>
    <primarySKU> string </primarySKU>
  </bundleFilter>
  <!-- ... more bundleFilter nodes here ... -->
  <findAllByStatus> BundleStatusEnum </findAllByStatus>
</findBundlesRequest>
Argument Type Occurrence Meaning
bundleDetailSelector BundleDetailEnum Optional This enumeration value controls whether the full data set is returned for each product bundle matching the input filter(s). If a seller only wants to retrieve the key data of each product bundle, Summary should be used.

Applicable values:

•   Details

(in) If this value is specified, full product bundle details are returned in the findBundles response.

•   Summary

(in) If this value is specified, summary-level information on product bundles are returned in the findBundles response.


bundleFilter BundleFilter Optional,
repeatable: [0..*]
Container consisting of one or more bundleID values and/or one or more primarySKU values. Product bundles matching these values are returned in the output.

Boolean OR logic is used when bundleFilter and findAllByStatus are both used. In other words, all product bundles matching the specified bundleID, primarySKU, BundleStatusEnum, or any combination thereof, are returned in the output.
bundleFilter.bundleID long Optional One or more bundleID values can be passed in this field to use as filters. Boolean OR logic is used when primarySKU and bundleID values are both used. In other words, all product bundles matching the specified bundleID, primarySKU values, or any combination thereof, are returned in the output.
bundleFilter.primarySKU string Optional One or more primary SKU (Stock Keeping Unit) values can be passed in this field to use as filters. Boolean OR logic is used when primarySKU and bundleID values are both used. In other words, all product bundles matching the specified bundleID, primarySKU values, or any combination thereof, are returned in the output.
findAllByStatus BundleStatusEnum Optional This filter can be used to retrieve product bundles in a specific state (Active, Disabled, Ended, Scheduled). Boolean OR logic is used when bundleFilter and findAllByStatus are both used. In other words, all product bundles matching the specified bundleID, primarySKU, BundleStatusEnum, or any combination thereof, are returned in the output.

Applicable values:

•   Active

(in/out) This value indicates that the product bundle is active. Typically, a seller would specify this value in the createBundle call to create and activate the product bundle, or in either of the update calls to activate a disabled product bundle.

•   Disabled

(in/out) This value indicates that the product bundle is disabled. Typically, a seller would specify this value in the updateBundles or updateBundleStatus calls to disable an active product bundle.

•   Ended

(in/out) This value indicates that the life of the product bundle has ended. The life of a product bundle ends at scheduledEndTime.

•   Scheduled

(in/out) This value indicates that the product bundle is scheduled to become Active at scheduledStartTime.




Back to top

findBundles Output

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.

<?xml version="1.0" encoding="utf-8"?>
<findBundlesResponse xmlns="http://www.ebay.com/marketplace/sellerinventory/v1/services">
  <!-- Standard Output Fields -->
  <ack> AckValue </ack>
  <errorMessage> ErrorMessage
    <error> ErrorData
      <category> ErrorCategory </category>
      <domain> string </domain>
      <errorId> long </errorId>
      <exceptionId> token </exceptionId>
      <message> string </message>
      <parameter name="string"> ErrorParameter (string) </parameter>
      <!-- ... more parameter nodes here ... -->
      <severity> ErrorSeverity </severity>
      <subdomain> string </subdomain>
    </error>
    <!-- ... more error nodes here ... -->
  </errorMessage>
  <timestamp> dateTime </timestamp>
  <version> string </version>
  <!-- Call-specific Output Fields -->
  <bundle> Bundle
    <bundleID> long </bundleID>
    <bundleName> string </bundleName>
    <bundleStatus> BundleStatusEnum </bundleStatus>
    <isoCurrencyCode> int </isoCurrencyCode>
    <primarySKU> string </primarySKU>
    <!-- ... more primarySKU nodes here ... -->
    <relatedProductGroup> RelatedProductGroup
      <groupName> string </groupName>
      <rank> int </rank>
      <relatedProduct> RelatedProduct
        <discount> Discount
          <discountAmount currencyId="string"> Amount (double) </discountAmount>
          <discountPercent> double </discountPercent>
          <discountType> DiscountTypeEnum </discountType>
        </discount>
        <maxQtyForSinglePrimary> int </maxQtyForSinglePrimary>
        <rank> int </rank>
        <SKU> string </SKU>
        <title> string </title>
      </relatedProduct>
      <!-- ... more relatedProduct nodes here ... -->
      <singleRelatedSKUPurchaseOnly> boolean </singleRelatedSKUPurchaseOnly>
    </relatedProductGroup>
    <!-- ... more relatedProductGroup nodes here ... -->
    <scheduledEndTime> dateTime </scheduledEndTime>
    <scheduledStartTime> dateTime </scheduledStartTime>
    <site> GlobalId (token) </site>
  </bundle>
  <!-- ... more bundle nodes here ... -->
</findBundlesResponse>
Return Value Type Occurrence Meaning
Standard Output Fields   [Jump to call-specific fields]
ack AckValue Always A token representing the application-level acknowledgement code that indicates the response status.

Applicable values:

•   Failure

(out) eBay encountered a fatal error during the processing of the request, causing the request to fail. When a serious application-level error occurs, the error is returned instead of the business data.

•   PartialFailure

(out) eBay successfully processed the request, but one or more non-fatal errors occurred during the processing. Inspect the message details and resolve any problems before resubmitting the request.

•   Success

(out) eBay successfully processed the request and the business data is returned in the response. Note that it is possible for a response to return Success, but still not contain the expected data in the result.

•   Warning

(out) The request that triggered the error was processed successfully but with one or more warnings.


errorMessage ErrorMessage Conditionally Information for an error or warning that occurred when eBay processed the request. This field is not returned if the ack value is Success.
errorMessage.error ErrorData Conditionally,
repeatable: [0..*]
Details about a single error.
errorMessage.error.category ErrorCategory Conditionally There are three categories of errors: request errors, application errors, and system errors.

Applicable values:

•   Application

(out) An error occurred due to a problem with the request, with the most likely source being the application sending the request. For example, the request is missing a required data element or it contains an invalid field. The problem must be corrected before the request can be resent. Inspect the error message to find the cause of the problem. If the problem is due to an application error, modify the application and resend the request. If the error is due to invalid data, the source of the data must be corrected before you resend the resend request to eBay.

•   Request

(out) An error occurred due to a problem with the request, with the most likely source being missing or invalid data in the request. The problem must be corrected before the request can be retried. Inspect the error message to find the cause of the problem. If the problem is a result of end-user data, alert the end-user to the problem and provide the means for them to correct the problem. Once the problem is resolved, resend the request to eBay.

•   System

(out) Indicates that an error has occurred on the eBay system side. For example, a database or server could be down. Inspect the error message to find the cause of the problem. If the problem is on the eBay side, an application can retry the request 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.


errorMessage.error.domain string Conditionally Name of the domain in which the error occurred.
errorMessage.error.errorId long 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.
errorMessage.error.exceptionId token Conditionally Unique identifier for an exception associated with an error.
errorMessage.error.message string Conditionally A detailed description of the condition that caused the error.
errorMessage.error.parameter ErrorParameter (string) Conditionally,
repeatable: [0..*]
Various warning and error messages return one or more variables that contain contextual information about the error. This is often the field or value that triggered the error.
errorMessage.error.parameter
  [ attribute name ]
string Conditionally The name of the input parameter returned with the error. Inspecting the parameter (or its input value) will often aid in understanding the cause of the error. Not all error messages contain this value.
errorMessage.error.severity ErrorSeverity Conditionally Indicates whether the reported problem is fatal (an error) or is less severe (a warning). Review the error message details for information on the cause.

If the request fails and the application is the source of the error (for example, a required element is missing), update the application before you retry the request. If the problem is due to incorrect user data, alert the end-user to the problem and provide the means for them to correct the data. Once the problem in the application or data is resolved, resend the request to eBay.

If the source of the problem is on eBay's side, you can retry the request a reasonable number of times (eBay recommends you try the request twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, you can resend the request in its original form.

If a warning occurs, warning information is returned in addition to the business data. Normally, you do not need to resend the request (as the original request was successful). However, depending on the cause of the warning, you might need to contact the end user, or eBay, to effect a long term solution to the problem.

Applicable values:

•   Error

(out) eBay encountered a fatal error during the processing of the request, causing the request to fail. When eBay encounters an error, it returns error data instead of the requested business data. Inspect the error details and resolve the problem before resubmitting the request.

•   Warning

(out) The request was successfully processed, but eBay encountered a non-fatal error during the processing that could affect the data returned. For example, eBay might have changed the value of an input field. In this case, eBay returns a successful response, but it also returns a warning. For best results, requests should return without warnings. Inspect the warning details and resolve the problem before resubmitting the request.


errorMessage.error.subdomain string Conditionally Name of the subdomain in which the error occurred.
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.
version string Always The version of the response payload schema. Indicates the version of the schema that eBay used to process the request.
Call-specific Output Fields
bundle Bundle Conditionally,
repeatable: [0..*]
Root container of a product bundle. All product bundles matching the input filter(s) are retrieved. Based on the use of filters, it is possible that no product bundles will be retrieved. All bundle fields are returned if bundleDetailSelector is set to Details (default).
bundle.bundleID long Always Unique identifier for a product bundle. bundleID is a required field for the deleteBundles, getBundles, and updateBundleStatus calls. For the updateBundles call, either the bundleID, the bundleName, or both values, must be included in the request. The bundleID is always returned for all product bundles that are successfully created, updated, retrieved, and deleted with the corresponding API calls.
bundle.bundleName string Conditionally The name of the product bundle. bundleName is a required field for the createBundles and updateBundles calls. The bundleName is only available to you as a seller, and can assist you in managing your offers. The bundleName is always returned for all product bundles that are successfully created, updated, retrieved, and deleted with the corresponding API calls.
Max length: 50.
bundle.bundleStatus BundleStatusEnum Always This enumeration value indicates the current status of a product bundle. A bundleStatus value is required when using the updateBundleStatus call, and is optional when using the createBundles or updateBundles calls. In both update calls, the specified value will change the state of the existing product bundle if the call is successful.

In the createBundles call, the common use case is to create a new product bundle and have that product bundle automatically activated once the scheduledStartTime is reached. For this use case, the bundleStatus field is not necessarily. However, there may a use case where a seller wants to create a new product bundle, but does not want it active yet, even after the scheduledStartTime is reached. In this case, the seller would include the bundleStatus field and set its value to Disabled.

The bundleStatus field is always returned in the findBundles and getBundles calls if matching product bundle(s) are returned.

Applicable values:

•   Active

(in/out) This value indicates that the product bundle is active. Typically, a seller would specify this value in the createBundle call to create and activate the product bundle, or in either of the update calls to activate a disabled product bundle.

•   Disabled

(in/out) This value indicates that the product bundle is disabled. Typically, a seller would specify this value in the updateBundles or updateBundleStatus calls to disable an active product bundle.

•   Ended

(in/out) This value indicates that the life of the product bundle has ended. The life of a product bundle ends at scheduledEndTime.

•   Scheduled

(in/out) This value indicates that the product bundle is scheduled to become Active at scheduledStartTime.


bundle.isoCurrencyCode int Always Currency representation based on ISO 4217 Standard: http://www.iso.org/iso/currency_codes_list-1 Every currency has the following attributes:
  • Numeric Code - 3 Digits Zero Padded Numeric Code, which uniquely identifies a currency.
  • Alphabetic Code - 3 Letter Alphabetic Code, which uniquely identifies a currency.
  • Currency - The name of the currency
  • Entity - The country/Entity, which uses this currency.
This type exposes only a subset of ISO 4217. The enumeration represents the Alphabetic Code. Comments are included for quick reference.
bundle.primarySKU string Always,
repeatable: [1..500]
The seller-defined SKU (Stock Keeping Unit) value of the primary product. All related products in a product bundle are associated with this primary product SKU, appear on the primary product's listings, and are eligible for the product bundle discount. The primarySKU is always returned for all product bundles that are successfully created, updated, retrieved, and deleted with the corresponding API calls.

Up to 500 primarySKU values may be used in a product bundle so the same set of related products is displayed on each primary product's listings.
bundle.relatedProductGroup RelatedProductGroup Always,
repeatable: [1..*]
Container consisting of detailed information on a related product group. Related product groups are tied to the primary product in a product bundle, and there can be multiple related product groups in a product bundle.
bundle.relatedProductGroup
  .groupName
string Always This value indicates the name of related product group.
bundle.relatedProductGroup
  .rank
int Always This integer value controls (in request) or indicates (in response) the placement of the related product group in the primary product listing. If the rank value(s) are not specified for related product groups, the placement of the product groups in the primary product listing will coincide with the order in which the related product groups are listed in the createBundles or updateBundles calls.
bundle.relatedProductGroup
  .relatedProduct
RelatedProduct Always,
repeatable: [1..14]
Container consisting of detailed information on one product in the related product group. There can be up to 14 products in one related product group.
bundle.relatedProductGroup
  .relatedProduct.discount
Discount Always Container consisting of discount type and discount amount (fixed or percentage value) that the buyer will receive on a specific related product if that buyer purchases the primary product.
bundle.relatedProductGroup
  .relatedProduct.discount
  .discountAmount
Amount (double) Conditionally This dollar amount indicates the fixed discount that a buyer will receive on the related product with the purchase of a primary product in a product bundle. This field must be specified in createBundles and updateBundles if the discountType value is set to Amount. Similarly, this field is returned in findBundles and getBundles if the discountType value is set to Amount.
bundle.relatedProductGroup
  .relatedProduct.discount
  .discountAmount
  [ attribute currencyId ]
string Conditionally This attribute identifies the currency in which the monetary amount is specified.
bundle.relatedProductGroup
  .relatedProduct.discount
  .discountPercent
double Conditionally This percentage value indicates the percentage rate that a buyer will receive on a related product with the purchase of primary product in a product bundle. This field must be specified in createBundles and updateBundles< /b> if the discountType value is set to Percentage< /b>. Similarly, this field is returned in findBundles and < b>getBundles if the discountType value is set to Percentage.
bundle.relatedProductGroup
  .relatedProduct.discount
  .discountType
DiscountTypeEnum Always Field indicating if the discount type for the product bundle is a fixed amount or a percentage of the related product value.

Applicable values:

•   Amount

(in/out) Specifies discount type as a fixed amount. Discount will be in the currency of the original listing.

•   Percentage

(in/out) This enumeration value indicates that the discount type is a percentage value of the related product value.


bundle.relatedProductGroup
  .relatedProduct
  .maxQtyForSinglePrimary
int Conditionally The seller includes this field in createBundles or updateBundles calls to set an upper threshold value on the quantity of a specific related product that a single buyer may purchase and still be eligible for the product group discount.

This field is only returned in findBundles and getBundles calls if set for the specific product.
bundle.relatedProductGroup
  .relatedProduct.rank
int Always This integer value controls (in request) or indicates (in response) the placement of the related product within the related product group. If the rank value is not specified for the product, the placement of the product in the related product group will coincide with the order in which the product is listed in the createBundles or updateBundles calls.
bundle.relatedProductGroup
  .relatedProduct.SKU
string Conditionally This value indicates the seller-defined SKU (Stock Keeping Unit) for a specific product in the related product group. To identify a product, either a SKU value, a title value, or both values must be specified in the createBundles and updateBundles calls.
Max length: 50.
bundle.relatedProductGroup
  .relatedProduct.title
string Conditionally This value indicates the product title for a specific product in the related product group. To identify a product, either a SKU value, a title value, or both values must be specified in the createBundles and updateBundles calls.
bundle.relatedProductGroup
  .singleRelatedSKUPurchaseOnly
boolean Conditionally The seller includes and sets this boolean field to 'true' in createBundles or updateBundles calls if the product group discount only applies to a specific product in the product group. If this boolean field is 'false', it indicates that the buyer can select multiple products within the product group and still be eligibile for the product group discount. For single SKU discounts, radio buttons will appear adjacent to each product of the product group in the primary product listing. For multiple SKU discounts, check boxes (for multiple selections) will appear adjacent to each product of the product group in the primary product listing.

This field is only returned in findBundles and getBundles calls if 'true'.
bundle.scheduledEndTime dateTime Always This dateTime value indicates the scheduled end time of a product bundle. Once the scheduledEndTime value is reached, the product bundle becomes inactive on eBay and changes to the Ended state. The following dateTime format is used: YYYY-mm-DDTHH:MM:SS + Tz offset. If time zone offset is not set, then time zone will be defaulted to MST.

If time (HH:MM:SS) is not set, then time will be defaulted to 00:00:00 MST.

scheduledEndTime is a required field for the createBundles and updateBundles calls and its value should be further into the future than the scheduledStartTime. The scheduledEndTime is always returned for all product bundles that are successfully retrieved with the findBundles and getBundles calls.
bundle.scheduledStartTime dateTime Always This dateTime value indicates the scheduled start time of a product bundle. Once the scheduledStartTime value is reached, the product bundle becomes active on eBay and remains active until the scheduledEndTime is reached, or until the product bundle is disabled or ended on the site or through the updateBundles or updateBundleStatus calls. The following dateTime format is used: YYYY-mm-DDTHH:MM:SS + Tz offset. If time zone offset is not set, then time zone will be defaulted to MST.

If time (HH:MM:SS) is not set, then time will be defaulted to 00:00:00 MST.

scheduledStartTime is a required field for the createBundles and updateBundles calls. The scheduledStartTime is always returned for all product bundles that are successfully retrieved with the findBundles and getBundles calls.
bundle.site GlobalId (token) Always This GlobalId value (such as EBAY-US) indicates the listing site on which the product bundle will appear. This field is required for the createBundles and updateBundles calls, and is always returned for matching product bundles in the findBundles and getBundles calls.



Back to top

findBundles Samples



Back to top

findBundles Change History

Version Description
1.0.0
2011-09-14
  • (added) New call.



Back to top

User-Contributed Notes

   
 
 
 

Copyright © 2011–2012 eBay, Inc. All rights reserved. This documentation and the API may only be used in accordance with the eBay Developer Network and API License Agreement.