getProductCompatibilities
This call retrieves all available item compatibility details for the specified product. Item compatibility properties are returned as name-value pairs. The request requires a product identifier, either an eBay-specific identifier (e.g., ePID) or an external identifier, such as a Universal Part Code (UPC). Use this call to get complete compatibility details for products you find using findProductsByCompatibility. For example, if you searched for parts that fit a Honda Accord, you can use this call to see the years, engine, and trim for which the part is compatible, as well as any other compatibilities for the product.
Use either dataset or datasetPropertyName to restrict the name-value pairs returned in the response. The dataset value specifies the type of compatibility properties you want back. For example, if you specify Searchable, your compatibility details will be contain properties that can be used to search for products, such as Make and Model. Some compatibility properties, such as FitmentComments, are not intended for product searches.
Note: Parts Compatibility is supported in limited Parts & Accessories categories, for the eBay US Motors (100), UK (3), AU (15) and DE (77) sites only. |
Output Samples Change History |
Input
See also Samples.
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).
<?xml version="1.0" encoding="utf-8"?> <getProductCompatibilitiesRequest xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services"> <!-- Call-specific Input Fields --> <applicationPropertyFilter> PropertyValue <propertyName> string </propertyName> <value> Value <number> NumericValue <unitOfMeasurement> token </unitOfMeasurement> <value> string </value> </number> <text> StringValue <value> string </value> </text> <URL> URIValue <value> anyURI </value> </URL> </value> <!-- ... more value nodes allowed here ... --> </applicationPropertyFilter> <!-- ... more applicationPropertyFilter nodes allowed here ... --> <dataset> token </dataset> <!-- ... more dataset values allowed here ... --> <datasetPropertyName> string </datasetPropertyName> <!-- ... more datasetPropertyName values allowed here ... --> <disabledProductFilter> ProductStatus <excludeForeBayReviews> boolean </excludeForeBayReviews> <excludeForeBaySelling> boolean </excludeForeBaySelling> <excludeForHalfSelling> boolean </excludeForHalfSelling> </disabledProductFilter> <paginationInput> PaginationInput <entriesPerPage> int </entriesPerPage> <pageNumber> int </pageNumber> </paginationInput> <productIdentifier> ProductIdentifier <EAN> string </EAN> <ePID> string </ePID> <ISBN> string </ISBN> <productId> string </productId> <UPC> string </UPC> </productIdentifier> <sortOrder> CompatibilitySort <sortOrder> SortOrder <order> OrderType </order> <propertyName> string </propertyName> </sortOrder> <sortPriority> SortPriority </sortPriority> </sortOrder> <!-- ... more sortOrder nodes allowed here ... --> </getProductCompatibilitiesRequest>
Argument | Type | Occurrence | Meaning |
---|
applicationPropertyFilter | PropertyValue | Optional,
repeatable: [0..*] |
This will contain the property name value pairs of the application, such as a particular vehicle make and model. Application property filters are specified as name-value pairs. |
applicationPropertyFilter .propertyName |
string | Optional | This is the canonical name of the property. Used to identify a property within a catalog that this category belongs to. |
applicationPropertyFilter .value |
Value | Optional,
repeatable: [0..*] |
A value for the property. |
applicationPropertyFilter .value.number |
NumericValue | Optional | For numeric value type. |
applicationPropertyFilter .value.number .unitOfMeasurement |
token | Optional |
Unit of measure for a numeric value.
|
applicationPropertyFilter .value.number.value |
string | Optional | A numeric value. For example, physical dimensions of a product, such as height or weight, are specified as nummeric values. |
applicationPropertyFilter .value.text |
StringValue | Optional | For string value type. |
applicationPropertyFilter .value.text.value |
string | Optional | A string value. |
applicationPropertyFilter .value.URL |
URIValue | Optional | For URL value type. |
applicationPropertyFilter .value.URL.value |
anyURI | Optional |
As part of request, this will be the URL to download media file. As part of response, this will be the URL where the media file is stored on eBay Picture Services (EPS). Max length: 400. |
dataset | token | Optional,
repeatable: [0..*] |
This will define what are properties that will be returned for this catelog-enabled category.
|
datasetPropertyName | string | Required,
repeatable: [1..*] |
Individual property name from the dataset. You can either enter dataset name or enter individual property names from the dataset. Only one should be preset at a time. |
disabledProductFilter | ProductStatus | Optional | Specifies whether or not to filter out the products which are disabled for selling on eBay, disabled for product reviews, or disabled for selling on half.com. |
disabledProductFilter .excludeForeBayReviews |
boolean | Optional |
Product cannot be used in product review flows. Default: false. |
disabledProductFilter .excludeForeBaySelling |
boolean | Optional |
Product cannot be used in selling flows on eBay. Default: false. |
disabledProductFilter .excludeForHalfSelling |
boolean | Optional |
Product cannot be used in selling flows on half.com. Default: false. |
paginationInput | PaginationInput | Optional |
Controls the pagination of the result set. Child elements specify the maximum number of products to return per call and the page of data to return. Controls the number of products returned in the response, but does not specify the amount of data to return for each product. Note: No more than 10,000 products can be retrieved for a given search, regardless of how many matches are found. This limit is enforced by the maximum page number allowed (100) and the maximum entries per page allowed (20). |
paginationInput.entriesPerPage | int | Optional |
Specifies the maximum number of entries to return in a single call. If the number of entries found on the specified pageNumber is less than the value specified here, the number of items returned will be less than the value of entriesPerPage. This indicates the end of the result set. If entriesPerPage is set to a number greater than 100, the default value, 100, will be used. Max: 100. Default: 100. |
paginationInput.pageNumber | int | Optional |
Specifies which subset of data (or "page") to return in the call response. The number of data pages is determined by the total number of items matching the request search criteria (returned in paginationOutput.totalEntries) divided by the number of entries to display in each response (entriesPerPage). You can return up to the first 100 pages of the result set by issuing multiple requests and specifying, in sequence, the pages to return. Max: 100. Default: 1. |
productIdentifier | ProductIdentifier | Required | The ProductIdentifierType and a value for one of the supported ProductIdentifierTypes which are unique across all sites (ePID, MementoString) |
productIdentifier.EAN | string | Conditional |
European Article Number (EAN) value for books. (This is used more commonly in European countries.) If you know a book's EAN, you can use this instead of the eBay CatalogItem or Reference ID to search for that book. Max length: 13. |
productIdentifier.ePID | string | Conditional |
eBay Product ID. eBay's global reference ID for a catalog product. On the eBay Web site, this is known as the "ePID". A reference ID is a fixed reference to a product (regardless of version). One reference ID can be associated with multiple ProductID values. The value should start with "EPID", for example "EPID30971438" (without quotes). You can find reference IDs for products by using GetProducts (or FindProducts in the Shopping API). You can also find the ePID on eBay's Web site. If the primary and secondary categories are both catalog-enabled, this ID should correspond to the primary category (not the secondary category). Max length: 38. |
productIdentifier.ISBN | string | Conditional |
ISBN-10 or ISBN-13 value for books. (The string length of ProductID indicates whether the ID is 10 or 13 characters.) If you know a book's ISBN, you can use this instead of the eBay CatalogItem or Reference ID to search for that book. Max length: 13. |
productIdentifier.productId | string | Conditional |
eBay's unique identifier for a specific version of a product. This is the long alphanumeric ID that is returned from GetProductSearchResults and related calls. See the Trading API Guide for information about finding this type of product ID. (For the shorter ePID value that is displayed on the eBay Web site, see ProductReferenceID instead.) Max length: 4000. |
productIdentifier.UPC | string | Conditional |
eBay Product ID. Max length: 12. |
sortOrder | CompatibilitySort | Optional,
repeatable: [0..*] |
We need to allow multiple sort orders. This is very specific to fitment. We allow the caller sorty by Make + Model + year. To start with we will only allow 5 sorts. |
sortOrder.sortOrder | SortOrder | Optional | The property with its associated sort order, ascending or descending. |
sortOrder.sortOrder.order | OrderType | Optional |
Order of the sort, either Ascending or Descending. Default: Descending. Applicable values: |
sortOrder.sortOrder .propertyName |
string | Optional |
Output can be sorted by one or more property names. You can look these values up using the getProductSearchNames call in the Product Metadata API. Max length: 100. |
sortOrder.sortPriority | SortPriority | Optional |
Indicates where in the sequence of ordering the property should ordered. There are five sorting steps, Sort1 through Sort5. When a property is assigned Sort1 as its sort priority, its values are sorted first. Values for the property assigned Sort2, are sorted second, and so on.
Applicable values: |
Input Samples Change History |
Output
See also Samples.
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).
<?xml version="1.0" encoding="utf-8"?> <getProductCompatibilitiesResponse xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services"> <!-- Call-specific Output Fields --> <compatibilityDetails> Product <compatibilityCount> int </compatibilityCount> <notes> Notes <noteDetails> PropertyValue <propertyName> string </propertyName> <value> Value <number> NumericValue <value> string </value> </number> <text> StringValue <value> string </value> </text> <URL> URIValue <value> anyURI </value> </URL> </value> <!-- ... more value nodes allowed here ... --> </noteDetails> <!-- ... more noteDetails nodes allowed here ... --> </notes> <productDetails> PropertyValue <propertyName> string </propertyName> <value> Value <number> NumericValue <value> string </value> </number> <text> StringValue <value> string </value> </text> <URL> URIValue <value> anyURI </value> </URL> </value> <!-- ... more value nodes allowed here ... --> </productDetails> <!-- ... more productDetails nodes allowed here ... --> <productIdentifier> ProductIdentifier <EAN> string </EAN> <ePID> string </ePID> <ISBN> string </ISBN> <productId> string </productId> <UPC> string </UPC> </productIdentifier> <productStatus> ProductStatus <excludeForeBayReviews> boolean </excludeForeBayReviews> <excludeForeBaySelling> boolean </excludeForeBaySelling> <excludeForHalfSelling> boolean </excludeForHalfSelling> </productStatus> <stockPhotoURL> StockPhotoURL <standard> URIValue <value> anyURI </value> </standard> <thumbnail> URIValue <value> anyURI </value> </thumbnail> </stockPhotoURL> <type> string </type> </compatibilityDetails> <!-- ... more compatibilityDetails nodes allowed here ... --> <paginationOutput> PaginationOutput <entriesPerPage> int </entriesPerPage> <pageNumber> int </pageNumber> <totalEntries> int </totalEntries> <totalPages> int </totalPages> </paginationOutput> <!-- 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 values allowed here ... --> <severity> ErrorSeverity </severity> <subdomain> string </subdomain> </error> <!-- ... more error nodes allowed here ... --> </errorMessage> <timestamp> dateTime </timestamp> <version> string </version> </getProductCompatibilitiesResponse>
Return Value | Type | Occurrence | Meaning |
---|
Call-specific Output Fields [Jump to standard fields] |
compatibilityDetails | Product | Conditionally,
repeatable: [0..*] |
Compatibility details for a single product. |
compatibilityDetails .compatibilityCount |
int | Conditionally | Coming soon. The quantity of compatibilities that have been specified for the product. When returned, indicates that the product is Parts Compatibility eanbled. |
compatibilityDetails.notes | Notes | Conditionally | Optional notes that provide additional information about the product, such as the placement of the part or accessory on a vehicle or the type of vehicle a part fits. |
compatibilityDetails.notes .noteDetails |
PropertyValue | Conditionally,
repeatable: [0..*] |
Additional comments about the product in the form of name-value pairs. |
compatibilityDetails.notes .noteDetails.propertyName |
string | Conditionally | This is the canonical name of the property. Used to identify a property within a catalog that this category belongs to. |
compatibilityDetails.notes .noteDetails.value |
Value | Conditionally,
repeatable: [0..*] |
A value for the property. |
compatibilityDetails.notes .noteDetails.value.number |
NumericValue | Conditionally | For numeric value type. |
compatibilityDetails.notes .noteDetails.value.number .value |
string | Conditionally | A numeric value. For example, physical dimensions of a product, such as height or weight, are specified as nummeric values. |
compatibilityDetails.notes .noteDetails.value.text |
StringValue | Conditionally | For string value type. |
compatibilityDetails.notes .noteDetails.value.text.value |
string | Conditionally | A string value. |
compatibilityDetails.notes .noteDetails.value.URL |
URIValue | Conditionally | For URL value type. |
compatibilityDetails.notes .noteDetails.value.URL.value |
anyURI | Conditionally |
As part of request, this will be the URL to download media file. As part of response, this will be the URL where the media file is stored on eBay Picture Services (EPS). Max length: 400. |
compatibilityDetails .productDetails |
PropertyValue | Conditionally,
repeatable: [0..*] |
Details about the product in the form of name-value pairs. |
compatibilityDetails .productDetails.propertyName |
string | Conditionally | This is the canonical name of the property. Used to identify a property within a catalog that this category belongs to. |
compatibilityDetails .productDetails.value |
Value | Conditionally,
repeatable: [0..*] |
A value for the property. |
compatibilityDetails .productDetails.value.number |
NumericValue | Conditionally | For numeric value type. |
compatibilityDetails .productDetails.value.number .value |
string | Conditionally | A numeric value. For example, physical dimensions of a product, such as height or weight, are specified as nummeric values. |
compatibilityDetails .productDetails.value.text |
StringValue | Conditionally | For string value type. |
compatibilityDetails .productDetails.value.text .value |
string | Conditionally | A string value. |
compatibilityDetails .productDetails.value.URL |
URIValue | Conditionally | For URL value type. |
compatibilityDetails .productDetails.value.URL .value |
anyURI | Conditionally |
As part of request, this will be the URL to download media file. As part of response, this will be the URL where the media file is stored on eBay Picture Services (EPS). Max length: 400. |
compatibilityDetails .productIdentifier |
ProductIdentifier | Conditionally | The eBay produdt ID (ePID) or external IDs associated with the product. Use the Reference value as input to search for the same product in the future, or use the ISBN, EAN, or UPC value (if returned). The ISBN, EAN, and UPC values can also be useful as keys if your application is comparing products across different sites. Always returned when Product is returned. |
compatibilityDetails .productIdentifier.EAN |
string | Conditionally |
European Article Number (EAN) value for books. (This is used more commonly in European countries.) If you know a book's EAN, you can use this instead of the eBay CatalogItem or Reference ID to search for that book. Max length: 13. |
compatibilityDetails .productIdentifier.ePID |
string | Conditionally |
eBay Product ID. eBay's global reference ID for a catalog product. On the eBay Web site, this is known as the "ePID". A reference ID is a fixed reference to a product (regardless of version). One reference ID can be associated with multiple ProductID values. The value should start with "EPID", for example "EPID30971438" (without quotes). You can find reference IDs for products by using GetProducts (or FindProducts in the Shopping API). You can also find the ePID on eBay's Web site. If the primary and secondary categories are both catalog-enabled, this ID should correspond to the primary category (not the secondary category). Max length: 38. |
compatibilityDetails .productIdentifier.ISBN |
string | Conditionally |
ISBN-10 or ISBN-13 value for books. (The string length of ProductID indicates whether the ID is 10 or 13 characters.) If you know a book's ISBN, you can use this instead of the eBay CatalogItem or Reference ID to search for that book. Max length: 13. |
compatibilityDetails .productIdentifier.productId |
string | Conditionally |
eBay's unique identifier for a specific version of a product. This is the long alphanumeric ID that is returned from GetProductSearchResults and related calls. See the Trading API Guide for information about finding this type of product ID. (For the shorter ePID value that is displayed on the eBay Web site, see ProductReferenceID instead.) Max length: 4000. |
compatibilityDetails .productIdentifier.UPC |
string | Conditionally |
eBay Product ID. Max length: 12. |
compatibilityDetails .productStatus |
ProductStatus | Conditionally | Indicates whether or not a product is disabled for selling, product reviews, or use on Half.com. |
compatibilityDetails .productStatus .excludeForeBayReviews |
boolean | Conditionally | Product cannot be used in product review flows. |
compatibilityDetails .productStatus .excludeForeBaySelling |
boolean | Conditionally | Product cannot be used in selling flows on eBay. |
compatibilityDetails .productStatus .excludeForHalfSelling |
boolean | Conditionally | Product cannot be used in selling flows on half.com. |
compatibilityDetails .stockPhotoURL |
StockPhotoURL | Conditionally | Thumbnail and standard stockphoto URLs. |
compatibilityDetails .stockPhotoURL.standard |
URIValue | Conditionally | Fully qualified URL for a stock image (if any) that is associated with a catalog product. The URL is for the image eBay usually displays in product search results (usually 70px tall). It may be helpful to calculate the dimensions of the photo programmatically before displaying it. Only returned if a URL is available for the product. |
compatibilityDetails .stockPhotoURL.standard.value |
anyURI | Conditionally |
As part of request, this will be the URL to download media file. As part of response, this will be the URL where the media file is stored on eBay Picture Services (EPS). Max length: 400. |
compatibilityDetails .stockPhotoURL.thumbnail |
URIValue | Conditionally | Fully qualified URL for the thumbnail of a stock image (if any) that is associated with a catalog product. The URL is for the image eBay usually displays in product search results (usually 40px tall). It may be helpful to calculate the dimensions of the photo programmatically before displaying it. Only returned if a URL is available for the product. |
compatibilityDetails .stockPhotoURL.thumbnail.value |
anyURI | Conditionally |
As part of request, this will be the URL to download media file. As part of response, this will be the URL where the media file is stored on eBay Picture Services (EPS). Max length: 400. |
compatibilityDetails.type | string | Conditionally |
Indicates if a product is the top or main product in a family (Head) or a variant of the head product (Member). If a product is not part of a product family, it is also the Head. Sometimes several versions (or editions) of a product may be available. All versions of the same product are considered to be part of the same product family. Some product families may contain only one product; others may contain many products.
|
paginationOutput | PaginationOutput | Always | Indicates the pagination of the result set. Child elements indicate the maximum number of compatibilityDetails nodes returned per response and which page of data has been returned. |
paginationOutput .entriesPerPage |
int | Conditionally |
The maximum number of items that can be returned in the response. This number is always equal to the value input for paginationInput.entriesPerPage. The end of the result set has been reached if the number specified for entriesPerPage is greater than the number of items found on the specified pageNumber. In this case, there will be fewer items returned than the number specified in entriesPerPage. This can be determined by comparing the entriesPerPage value with the value returned in the count attribute for the searchResult field. |
paginationOutput.pageNumber | int | Conditionally |
The subset of item data returned in the current response. Search results are divided into sets, or "pages," of item data. The number of pages is equal to the total number of entries matching the search criteria divided by the value specified for entriesPerPage in the request. The response for a request contains one "page" of data. This returned value indicates the page number of data returned (a subset of the complete result set). If this field contains 1, the response contains the first page of item data (the default). If the value returned in totalEntries is less than the value for entriesPerPage, pageNumber returns 1 and the response contains the entire result set. The value of pageNumber is normally equal to the value input for paginationInput.pageNumber. However, if the number input for pageNumber is greater than the total possible pages of output, eBay returns the last page of item data in the result set, and the value for pageNumber is set to the respective (last) page number. |
paginationOutput.totalEntries | int | Conditionally | The total number of entries found that match the search criteria in your request. Depending on the input value for entriesPerPage, the response might include only a portion (a page) of the entire result set. A value of "0" is returned if eBay does not find any entries that match the search criteria. |
paginationOutput.totalPages | int | Conditionally | The total number of pages of data that could be returned by repeated search requests. Note that if you modify the value of inputPagination.entriesPerPage in a request, the value output for totalPages will change. A value of "0" is returned if eBay does not find any entries that match the search criteria. |
Standard Output Fields |
ack | AckValue | Always |
Indicates whether or not errors or warnings were generated during the processing of the request.
Applicable values: Code so that your app gracefully handles any future changes to this list. |
errorMessage | ErrorMessage | Conditionally | Description of an error or warning that occurred when eBay processed the request. 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: Code so that your app gracefully handles any future changes to this list. |
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 in 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 | 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.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, re-send 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: Code so that your app gracefully handles any future changes to this list. |
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. This value is returned in GMT, the ISO 8601 date and time format (YYYY- MM- DDTHH:MM:SS.SSSZ). See the "dateTime" type for information about the time format, and for details on converting to and from the GMT time zone. |
version | string | Always |
The release version that eBay used to process the request. Developer Technical Support may ask you for the version value if you work with them to troubleshoot issues. Note: The version in use is normally the latest release version, as specified in the release notes. Note that eBay releases the API to international sites about a week after the API version is released to the US site. |
Input Output Change History |
Samples
Code samples not yet added for this call's documentation.
Input Output Samples |
Change History
Change Date | Description |
---|---|
1.1.0 11/3/2009 |
|