getProductMetadataBulk
Note: This call is deprecated, and will be decommissioned on March 31st, 2025.
Use this call to find the product metadata needed to add a product to the eBay catalog for a specified category.
All eBay Electronics categories require sellers to list with a product whenever there's a product match in the associated eBay catalog. Some other categories also require listing with a product. When listing with a product is required and the catalog does not contain a matching product, the seller must add the product to the catalog before listing.
You use this call to retrieve the product metadata for a given category. In turn, this product metadata is used to construct an addProducts call (Product API) for submitting new products for inclusion into an eBay catalog. Product metadata consists of the property names and the related value constraints used to construct the name-value pairs that describe a product.
Note: This call is not supported in the Sandbox environment. Product creation is supported in production for a subset of categories on the US (global ID EBAY-US) and UK (global ID EBAY-GB) sites only. Use GetCategoryFeatures in the Trading API to determine which categories support product creation. |
See Product Creation for more information about when you should add a product to an eBay catalog, and how to do it.
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"?> <getProductMetadataBulkRequest xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services"> <!-- Call-specific Input Fields --> <productMetadataRequest> ProductMetadataRequest (BaseRequest) <categoryId> string </categoryId> <groupType> token </groupType> <!-- ... more groupType values allowed here ... --> <includeGroupPropertiesOnly> boolean </includeGroupPropertiesOnly> <includeManagedValues> boolean </includeManagedValues> </productMetadataRequest> <!-- ... more productMetadataRequest values allowed here ... --> </getProductMetadataBulkRequest>
Argument | Type | Occurrence | Meaning |
---|
productMetadataRequest | ProductMetadataRequest (BaseRequest) | Required,
repeatable: [1..3] |
Request to retrieve product metadata for a single category. Your getProductMetadtaBulk request may contain three productMetadataRequest containers. Each container must specify a valid category ID for the eBay site specified in the X-EBAY-SOA-GLOBAL-ID header. |
productMetadataRequest .categoryId |
string | Required |
Specifies the leaf category from which you want to retrieve product metadata information that can be used to add products into the corresponding eBay catalog. If the specified category is not enabled for product creation, eBay returns an error. Use GetCategoryFeatures (Trading API) with FeatureID set to "ProductCreationEnabled" to identify categories that are enabled for product creation. Max length: 10. |
productMetadataRequest .groupType |
token | Optional,
repeatable: [0..*] |
Reserved for future use. Currently, all supported group types are returned. |
productMetadataRequest .includeGroupPropertiesOnly |
boolean | Optional |
Reserved for future use. Currently, both group properties (productMetadataResponse.productMetadata.groupProperties) and property metadata (productMetadataResponse.productMetadata.propertyMetadata) are always returned. Default: false. |
productMetadataRequest .includeManagedValues |
boolean | Optional |
If true, the response will include managed values (approved standard values) for certain string-based properties, such as brand or device type. Managed values are not maintained for all properties, but when they are available, they can be used as an enumeration list to create a selection list. When possible, use a managed value to ensure consistent spelling and capitalization. Default: false. |
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"?> <getProductMetadataBulkResponse xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services"> <!-- Call-specific Output Fields --> <productMetadataResponse> ProductMetadataResponse (BaseResponse) <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> <productMetadata> ProductMetadata <groupProperties> GroupProperties <description> string </description> <groupName> string </groupName> <groupProperty> GroupProperty <propertyName> string </propertyName> <tag> Tag <dataType> token </dataType> <description> string </description> <name> token </name> <value> string </value> <!-- ... more value values allowed here ... --> </tag> <!-- ... more tag nodes allowed here ... --> </groupProperty> <!-- ... more groupProperty nodes allowed here ... --> <groupType> token </groupType> </groupProperties> <!-- ... more groupProperties nodes allowed here ... --> <productMetadataVersion> string </productMetadataVersion> <propertyMetadata> PropertyMetadata <alternatePropertyName> string </alternatePropertyName> <!-- ... more alternatePropertyName values allowed here ... --> <canonicalName> string </canonicalName> <dataType> token </dataType> <description> string </description> <multiValued> boolean </multiValued> <propertyName> string </propertyName> <propertyTags> Tag <dataType> token </dataType> <description> string </description> <name> token </name> <value> string </value> <!-- ... more value values allowed here ... --> </propertyTags> <!-- ... more propertyTags nodes allowed here ... --> <typeSpecificInformation> TypeSpecificInformation <mediaTypeSpecificInformation> MediaTypeSpecificInformation </mediaTypeSpecificInformation> <numericTypeSpecificInformation> NumericTypeSpecificInformation <maximumValueAllowed> long </maximumValueAllowed> <unitOfMeasurement> token </unitOfMeasurement> </numericTypeSpecificInformation> <stringTypeSpecificInformation> StringTypeSpecificInformation <managedValue> string </managedValue> <!-- ... more managedValue values allowed here ... --> <maximumCharactersAllowed> int </maximumCharactersAllowed> </stringTypeSpecificInformation> <uriTypeSpecificInformation> URITypeSpecificInformation </uriTypeSpecificInformation> </typeSpecificInformation> </propertyMetadata> <!-- ... more propertyMetadata nodes allowed here ... --> </productMetadata> <requestInformation> ProductMetadataRequest (BaseRequest) <categoryId> string </categoryId> <groupType> token </groupType> <!-- ... more groupType values allowed here ... --> <includeGroupPropertiesOnly> boolean </includeGroupPropertiesOnly> <includeManagedValues> boolean </includeManagedValues> </requestInformation> <timestamp> dateTime </timestamp> <version> string </version> </productMetadataResponse> <!-- ... more productMetadataResponse values allowed here ... --> <!-- 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> </getProductMetadataBulkResponse>
Return Value | Type | Occurrence | Meaning |
---|
Call-specific Output Fields [Jump to standard fields] |
productMetadataResponse | ProductMetadataResponse (BaseResponse) | Always,
repeatable: [1..*] |
Product metadata for the category specified in the corresponding productMetadataRequest in the request. Product metadata consists of individual property metadata, group properties, the metadata version, and the corresponding request.+++ |
productMetadataResponse.ack | AckValue | Always |
Applicable values: |
productMetadataResponse .errorMessage |
ErrorMessage | Conditionally | Description of an error or warning that occurred when eBay processed the request. Not returned if the ack value is Success. |
productMetadataResponse .errorMessage.error |
ErrorData | Conditionally,
repeatable: [0..*] |
Details about a single error. |
productMetadataResponse .errorMessage.error.category |
ErrorCategory | Conditionally |
There are three categories of errors: request errors, application errors, and system errors.
Applicable values: |
productMetadataResponse .errorMessage.error.domain |
string | Conditionally |
Name of the domain in which the error occurred.
|
productMetadataResponse .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. |
productMetadataResponse .errorMessage.error .exceptionId |
token | Conditionally | Unique identifier for an exception associated with an error. |
productMetadataResponse .errorMessage.error.message |
string | Conditionally | A detailed description of the condition that caused in the error. |
productMetadataResponse .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. |
productMetadataResponse .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. |
productMetadataResponse .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: |
productMetadataResponse .errorMessage.error.subdomain |
string | Conditionally |
Name of the subdomain in which the error occurred.
|
productMetadataResponse .productMetadata |
ProductMetadata | Always | Product metadata for the specified category. This product metadata provides all the requirements and constraints to submit a new product for inclusion into the eBay catalog associated with the given category. Product metadata consists of metadata for individual properties, property group information, and the version of the product metadata for the category. |
productMetadataResponse .productMetadata .groupProperties |
GroupProperties | Conditionally,
repeatable: [0..*] |
Some product properties share a common characteristic, such as being required for product creation or qualifying as a globally unique identifier (GUID). The required properties group contains the minimum set of properties you must submit to add a product to an eBay catalog. GUID properties make products easier to find and can improve search rankings for associated listings. |
productMetadataResponse .productMetadata .groupProperties.description |
string | Conditionally | Reserved for future use. |
productMetadataResponse .productMetadata .groupProperties.groupName |
string | Conditionally | A displayable name for the given group type. |
productMetadataResponse .productMetadata .groupProperties.groupProperty |
GroupProperty | Conditionally,
repeatable: [1..*] |
Basic information for an individual property, consisting of the property name and any supplemental tags (name-value pair information) to describe the property, when needed. Use property metadata for more details about a property, including datatype constraints. |
productMetadataResponse .productMetadata .groupProperties.groupProperty .propertyName |
string | Conditionally | Name of the property for use as input in the corresponding propertyName field in the addProducts request. See the corresponding propertyMetadata container with the same propertyName for property details. |
productMetadataResponse .productMetadata .groupProperties.groupProperty .tag |
Tag | Conditionally,
repeatable: [0..*] |
Name-value pairs that provide additional descriptive details about the property when needed. This information is not used for adding a product to an eBay catalog, but can provide clarification about an individual property. For example, tag information could indicate that a specific property constitutes a unique product identifier. |
productMetadataResponse .productMetadata .groupProperties.groupProperty .tag.dataType |
token | Conditionally | The datatype of the value part of the name-value pair (e.g., BOOLEAN, STRING, or NUMERIC). |
productMetadataResponse .productMetadata .groupProperties.groupProperty .tag.description |
string | Conditionally | Reserved for future use. |
productMetadataResponse .productMetadata .groupProperties.groupProperty .tag.name |
token | Conditionally | The name part of the name-value pair. |
productMetadataResponse .productMetadata .groupProperties.groupProperty .tag.value |
string | Conditionally,
repeatable: [1..*] |
Value part of the name-value pair. One or more values may be associated with a given name. |
productMetadataResponse .productMetadata .groupProperties.groupType |
token | Conditionally |
Identifies the nature of a given group of properties.
|
productMetadataResponse .productMetadata .productMetadataVersion |
string | Always | Specifies the current version of the metadata for the given category. |
productMetadataResponse .productMetadata .propertyMetadata |
PropertyMetadata | Always,
repeatable: [1..*] |
Contains all the metadata associated with a specific property, such as Title or Brand. |
productMetadataResponse .productMetadata .propertyMetadata .alternatePropertyName |
string | Conditionally,
repeatable: [0..*] |
Value that may be used in place of the property name value (propertyMetadata.propertyName) when adding a product to an eBay catalog. Only returned when there are synonymous property names available. |
productMetadataResponse .productMetadata .propertyMetadata .canonicalName |
string | Always | The official unique property name for use as a primary key for locally stored metadata. This value is not used for product creation. Use productMetadata.propertyName instead for adding a product to an eBay catalog. |
productMetadataResponse .productMetadata .propertyMetadata.dataType |
token | Always |
The data type for the property value.
|
productMetadataResponse .productMetadata .propertyMetadata.description |
string | Conditionally | Describes the given property. |
productMetadataResponse .productMetadata .propertyMetadata.multiValued |
boolean | Always | Indicates whether or not more than one value can be specified for a given property when adding a product to an eBay catalog. When true, multiple values can be specified for the given property. |
productMetadataResponse .productMetadata .propertyMetadata.propertyName |
string | Always | this is label for the property that should be used for making products data. |
productMetadataResponse .productMetadata .propertyMetadata.propertyTags |
Tag | Conditionally,
repeatable: [0..*] |
Name-value pairs that provide additional descriptive details about the property when needed. This information is not used for adding a product to an eBay catalog, but can provide clarification about an individual property. For example, propertyTags information could indicate that a specific property constitutes a unique product identifier. |
productMetadataResponse .productMetadata .propertyMetadata.propertyTags .dataType |
token | Conditionally | The datatype of the value part of the name-value pair (e.g., BOOLEAN, STRING, or NUMERIC). |
productMetadataResponse .productMetadata .propertyMetadata.propertyTags .description |
string | Conditionally | Reserved for future use. |
productMetadataResponse .productMetadata .propertyMetadata.propertyTags .name |
token | Conditionally | The name part of the name-value pair. |
productMetadataResponse .productMetadata .propertyMetadata.propertyTags .value |
string | Conditionally,
repeatable: [1..*] |
Value part of the name-value pair. One or more values may be associated with a given name. |
productMetadataResponse .productMetadata .propertyMetadata .typeSpecificInformation |
TypeSpecificInformation | Always | Container for any type-specific constraints for property values. |
productMetadataResponse .productMetadata .propertyMetadata .typeSpecificInformation .mediaTypeSpecificInformation |
MediaTypeSpecificInformation | Conditionally | Specifies the constraints, if any, for property values that are of type media. Currently, there are no constraints for media type properties, which apply to images only. Media type properties are specified as a URL in the addProducts request. |
productMetadataResponse .productMetadata .propertyMetadata .typeSpecificInformation .numericTypeSpecificInformation |
NumericTypeSpecificInformation | Conditionally | Specifies the constraints for property values that are of type numeric. |
productMetadataResponse .productMetadata .propertyMetadata .typeSpecificInformation .numericTypeSpecificInformation .maximumValueAllowed |
long | Conditionally | Specifies the highest numeric value that can be submitted for the given property value. Always returned for numeric values. |
productMetadataResponse .productMetadata .propertyMetadata .typeSpecificInformation .numericTypeSpecificInformation .unitOfMeasurement |
token | Conditionally | Specifies the unit of measurement (e.g., lb or kg) associated with the given numeric value. |
productMetadataResponse .productMetadata .propertyMetadata .typeSpecificInformation .stringTypeSpecificInformation |
StringTypeSpecificInformation | Conditionally | Specifies the constraints for property values that are of type string. In most cases, this is simply the maximum number of characters allowed in the string. In some cases, a list of managed (known good) values may also be returned. |
productMetadataResponse .productMetadata .propertyMetadata .typeSpecificInformation .stringTypeSpecificInformation .managedValue |
string | Conditionally,
repeatable: [0..*] |
Specifies a known good value for the given property. For example, for digital cameras, eBay may maintain a list of brands, camera types, lens types, focus types, etc. When possible, use a managed value to ensure consistent spelling and capitalization. |
productMetadataResponse .productMetadata .propertyMetadata .typeSpecificInformation .stringTypeSpecificInformation .maximumCharactersAllowed |
int | Conditionally | Specifies the maximum number of characters that can be submitted for the given property value. Always returned for string values. |
productMetadataResponse .productMetadata .propertyMetadata .typeSpecificInformation .uriTypeSpecificInformation |
URITypeSpecificInformation | Conditionally | Specifies the constraints for property values that are of type URI. Currently, there are no constraints for URI type properties. |
productMetadataResponse .requestInformation |
ProductMetadataRequest (BaseRequest) | Always | The corresponding productMetadataRequest that was passed in the getProductMetadataBulk request. |
productMetadataResponse .requestInformation.categoryId |
string | Always |
Specifies the leaf category from which you want to retrieve product metadata information that can be used to add products into the corresponding eBay catalog. If the specified category is not enabled for product creation, eBay returns an error. Use GetCategoryFeatures (Trading API) with FeatureID set to "ProductCreationEnabled" to identify categories that are enabled for product creation. Max length: 10. |
productMetadataResponse .requestInformation.groupType |
token | Conditionally,
repeatable: [0..*] |
Reserved for future use. Currently, all supported group types are returned. |
productMetadataResponse .requestInformation .includeGroupPropertiesOnly |
boolean | Conditionally |
Reserved for future use. Currently, both group properties (productMetadataResponse.productMetadata.groupProperties) and property metadata (productMetadataResponse.productMetadata.propertyMetadata) are always returned. Default: false. |
productMetadataResponse .requestInformation .includeManagedValues |
boolean | Conditionally |
If true, the response will include managed values (approved standard values) for certain string-based properties, such as brand or device type. Managed values are not maintained for all properties, but when they are available, they can be used as an enumeration list to create a selection list. When possible, use a managed value to ensure consistent spelling and capitalization. Default: false. |
productMetadataResponse .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. |
productMetadataResponse .version |
string | Always | Version number for the current search metadata (product or compatibility). If you are maintaining search metadata locally, compare this value to the version of the search metadata you last downloaded to determine whether the data may have changed. |
Standard Output Fields |
ack | AckValue | Always |
Applicable values: |
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: |
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: |
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 | Version number for the current search metadata (product or compatibility). If you are maintaining search metadata locally, compare this value to the version of the search metadata you last downloaded to determine whether the data may have changed. |
Input Output Change History |
Samples
Code samples not yet added for this call's documentation.
Input Output Samples |
Change History
Change Date | Description |
---|---|
1.3.0 7/20/2011 |
|