addProducts
Note: This call is deprecated, and will be decommissioned on March 31st, 2025.
Use this call to check the status of products you have previously submitted (with addProducts) for inclusion in the eBay catalog for a given category. addProducts is an asynchronous call. Although you will get an immediate response to indicate whether the call was successful or not, you will need to use this call to determine whether the submission has been approved or rejected. The approval process may take up to 6 hours.
Note: Product creation is supported 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.
See also the reference documentation for this call:
- getProductSubmissions - Retrieves status and details for products submitted for addition to the eBay catalog.
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"?> <addProductsRequest xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services"> <!-- Call-specific Input Fields --> <addProductRequest> ProductSubmission (BaseServiceRequest) <categoryId> string </categoryId> <invocationId> string </invocationId> <media> Media <mediaIdentifier> MediaIdentifier <url> string </url> </mediaIdentifier> <mediaType> MediaType </mediaType> </media> <!-- ... more media nodes allowed here ... --> <productPropertyValue> 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 ... --> </productPropertyValue> <!-- ... more productPropertyValue nodes allowed here ... --> </addProductRequest> <!-- ... more addProductRequest values allowed here ... --> <clientBatchId> string </clientBatchId> </addProductsRequest>
Argument | Type | Occurrence | Meaning |
---|
addProductRequest | ProductSubmission (BaseServiceRequest) | Optional,
repeatable: [1..10] |
Information about a single product to be added to the eBay catalog. The product information must include a category ID and a set of name-value properties that describe the product. |
addProductRequest.categoryId | string | Required |
Specifies the category to which you want to add a product. Only select Electronics categories support product creation. Max length: 10. |
addProductRequest.invocationId | string | Optional |
A unique identifer for a given product request. Use invocationId to prevent the submission of duplicate data. In the event of a partial failure, the invocation ID can also be used to identify a product request that did not succeed. If the same invocationId is passed in more than once in the same request, then an error will be returned. The identifier must be a number. |
addProductRequest.media | Media | Optional,
repeatable: [0..10] |
Details for any media, such as images, associated with the product. Currently, images are the only supported media type. When submitting multiple images, the image specified in the first media node will be used as the stock photo for the product. |
addProductRequest.media .mediaIdentifier |
MediaIdentifier | Optional | A reference to the media for you product. Currently, only URLs are supported. You must specify a media identifier when you include media details for your product. |
addProductRequest.media .mediaIdentifier.url |
string | Optional |
A URL to the media file for your product. You must specify a URL when you include media details for your product. Max length: 400. |
addProductRequest.media .mediaType |
MediaType | Optional |
The kind of media used to describe your product. Currently, images are the only supported media type. You must specify a media type when you include media details for your product.
Applicable values: |
addProductRequest .productPropertyValue |
PropertyValue | Required,
repeatable: [1..100] |
Name-value pairs that describe the product.
See getProductMetadataBulk for details about required and optional product properties and value constraints.. |
addProductRequest .productPropertyValue .propertyName |
string | Required | This is the canonical name of the property. Used to identify a property within a catalog that this category belongs to. |
addProductRequest .productPropertyValue.value |
Value | Required,
repeatable: [1..*] |
A value for the property. |
addProductRequest .productPropertyValue.value .number |
NumericValue | Conditional | For numeric value type. |
addProductRequest .productPropertyValue.value .number.value |
string | Conditional | A numeric value. For example, physical dimensions of a product, such as height or weight, are specified as nummeric values. |
addProductRequest .productPropertyValue.value .text |
StringValue | Conditional | For string value type. |
addProductRequest .productPropertyValue.value .text.value |
string | Conditional | A string value. |
addProductRequest .productPropertyValue.value .URL |
URIValue | Conditional | For URL value type. |
addProductRequest .productPropertyValue.value .URL.value |
anyURI | Conditional |
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. |
clientBatchId | string | Optional |
Identifier to help users match requests and responses in multi- threaded applications. When provided in the request, the value is returned in the corresponding response. Max length: 64. |
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"?> <addProductsResponse xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services"> <!-- Call-specific Output Fields --> <addProductResponse> AddProductResponse (BaseServiceResponse) <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> <invocationId> string </invocationId> <status> ProductSubmissionStatus <ePID> string </ePID> <!-- ... more ePID values allowed here ... --> <productSubmissionId> string </productSubmissionId> <statusCode> ProductSubmissionStatusCode </statusCode> </status> <timestamp> dateTime </timestamp> <version> string </version> </addProductResponse> <!-- ... more addProductResponse values allowed here ... --> <clientBatchId> string </clientBatchId> <!-- 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> </addProductsResponse>
Return Value | Type | Occurrence | Meaning |
---|
Call-specific Output Fields [Jump to standard fields] |
addProductResponse | AddProductResponse (BaseServiceResponse) | Always,
repeatable: [1..*] |
Status for an individual product submission. |
addProductResponse.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. |
addProductResponse .errorMessage |
ErrorMessage | Conditionally | Description of an error or warning that occurred when eBay processed the request. Not returned if the ack value is Success. |
addProductResponse .errorMessage.error |
ErrorData | Conditionally,
repeatable: [0..*] |
Details about a single error. |
addProductResponse .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. |
addProductResponse .errorMessage.error.domain |
string | Conditionally |
Name of the domain in which the error occurred.
|
addProductResponse .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. |
addProductResponse .errorMessage.error .exceptionId |
token | Conditionally | Unique identifier for an exception associated with an error. |
addProductResponse .errorMessage.error.message |
string | Conditionally | A detailed description of the condition that caused in the error. |
addProductResponse .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. |
addProductResponse .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. |
addProductResponse .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. |
addProductResponse .errorMessage.error.subdomain |
string | Conditionally |
Name of the subdomain in which the error occurred.
|
addProductResponse .invocationId |
string | Conditionally | A unique identifer for a given product submission, corresponding to a specific product request. Only returned if it was specified in the addProductRequest when the product was submitted with addProducts. |
addProductResponse.status | ProductSubmissionStatus | Always | Processing/acceptance status for a product submission. |
addProductResponse.status.ePID | string | Conditionally,
repeatable: [0..*] |
The eBay Product Identifier (ePID) is the unique identifier for the product in the eBay catalog. Returned in the following conditions:
|
addProductResponse.status .productSubmissionId |
string | Conditionally | A unique [how unique?] identifier for a specific product submission. [When is this not returned?] |
addProductResponse.status .statusCode |
ProductSubmissionStatusCode | Always |
The state of the product submission. When a product is submitted, its status is Pending while eBay reviews the submission. Product submissions may remain in a Pending state for several hours.
Applicable values: Code so that your app gracefully handles any future changes to this list. |
addProductResponse.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. |
addProductResponse.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. |
clientBatchId | string | Conditionally |
Identifier to help users match requests and responses in multi-threaded applications. Simple pass-thru of identifier provided in the request. Only returned if it is specified in the request. Max length: ???. |
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.4.0 4/15/2011 |
|