addProducts

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.



Back to top

addProducts 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"?>
<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 nodes allowed here ... -->
  <clientBatchId> string </clientBatchId>
</addProductsRequest>
Argument Type Occurrence Meaning
addProductRequest ProductSubmission (BaseServiceRequest) Optional,
repeatable: [1..50]
Identerfier to help users match requests and responses in multi- threaded applications. When provided in the request, the value is displayed in the corresponding response.
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..*]
Details for any media, such as pictures, associated with 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.
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:

•   Image

Indicates that the specified media is an image.


addProductRequest
  .productPropertyValue
PropertyValue Required,
repeatable: [1..*]
Name-value pairs that describe the product.

See Product Creation Metadata for details about required and optional product properties..

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.
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).
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: ???.



Back to top

addProducts 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"?>
<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>
      <statusReasonCode> ProductSubmissionStatusReasonCode (string) </statusReasonCode>
      <statusReasonDetail> string </statusReasonDetail>
    </status>
    <timestamp> dateTime </timestamp>
    <version> string </version>
  </addProductResponse>
  <!-- ... more addProductResponse nodes 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:

•   Failure

The request was processed successfully, but something occurred that may affect your application or the user.

•   PartialFailure

The request that triggered the error was processed successfully but with some warnings.

•   Success

The request that triggered the error was not processed successfully. When a serious application-level error occurs, the error is returned instead of the business data.

•   Warning

The request that triggered the error was processed successfully but with some warnings.


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:

•   Application

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

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

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 as-is 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.


addProductResponse
  .errorMessage.error.domain
string Conditionally Name of the domain in which the error occurred.
domain values:
Marketplace
A business or validation error occurred in the service.
SOA
An exception occurred in the Service Oriented Architecture (SOA) framework.
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 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.
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:

•   Error

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

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.


addProductResponse
  .errorMessage.error.subdomain
string Conditionally Name of the subdomain in which the error occurred.
subdomain values:
MarketplaceCatalog
The error is specific to the Marketplace Catalog subdomain.
MarketplaceCommon
The error is common to all Marketplace services.
addProductResponse
  .invocationId
string Conditionally A unique identifer for a given product submission, corresponding to a specific product request.
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 , which was added to the eBay catalog. Only returned for product submissions that are approved.
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:

•   Approved

The product submission has been approved and added to the eBay catalog.

•   Pending

The product submission is under review.

•   Rejected

The product submission was rejected. The product did not meet all acceptance criteria.


addProductResponse.status
  .statusReasonCode
ProductSubmissionStatusReasonCode (string) Conditionally The brief reason the product submission was rejected.
Max length: TBD.
addProductResponse.status
  .statusReasonDetail
string Conditionally An explanation of why the product submission was rejected.
Max length: TBD.
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:

•   Failure

The request was processed successfully, but something occurred that may affect your application or the user.

•   PartialFailure

The request that triggered the error was processed successfully but with some warnings.

•   Success

The request that triggered the error was not processed successfully. When a serious application-level error occurs, the error is returned instead of the business data.

•   Warning

The request that triggered the error was processed successfully but with some warnings.


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:

•   Application

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

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

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 as-is 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.
domain values:
Marketplace
A business or validation error occurred in the service.
SOA
An exception occurred in the Service Oriented Architecture (SOA) framework.
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 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, 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:

•   Error

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

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.
subdomain values:
MarketplaceCatalog
The error is specific to the Marketplace Catalog subdomain.
MarketplaceCommon
The error is common to all Marketplace services.
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.



Back to top

addProducts Samples

New to making API calls? Please see Making an API Call.

Note: Some data in these samples might no longer be active. If necessary, you can substitute current data in your requests.

Sample: Basic Call

Submits a product for inclusion into the eBay catalog.

Description

To improve the finding experience for buyers, eBay is requiring sellers to list with the eBay catalog in selected categories, such as Electronics. If the seller's item matches a product in the eBay catalog, the seller must list with the product by supplying a supported product ID, such as an ePID, a UPC, or a ProductID that corresponds to the catalog product.

If the seller cannot find a match in eBay's product catalog, he can use addProducts to add the product.

Input

The product request must include the category ID (categoryId), and one or more product property name value pairs (addProductRequest.productPropertyValue.propertyName and addProductRequest.productPropertyValue.value) to describe the product. Retrieve compatibility search values for vehicle model (propertyName set to Model) from the Other Parts category (categoryId set to 6763). Limit the results to models for Honda make vehicles only (propertyFilter.propertyName set to Make and propertyFilter.value.text.value set to Honda).

XML format (HTTP POST). Also available is the .txt version of this XML.

<?xml version="1.0" encoding="UTF-8"?>
<addProductsRequest xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services">
   <addProductRequest>
      <invocationId>0123456789</invocationId>
      <categoryId>156955</categoryId>
      <productPropertyValue>
         <propertyName>Title</propertyName>
         <value>
            <text>
               <value>Long description </value>
            </text>
         </value>
      </productPropertyValue>
      <productPropertyValue>
         <propertyName>Brand</propertyName>
         <value>
            <text>
               <value>Belkin</value>
            </text>
         </value>
      </productPropertyValue>
      <productPropertyValue>
         <propertyName>Model</propertyName>
         <value>
            <text>
               <value>Belkin456</value>
            </text>
         </value>
      </productPropertyValue>
      <productPropertyValue>
         <propertyName>SKU</propertyName>
         <value>
            <text>
               <value>BelkSKUin123</value>
            </text>
         </value>
      </productPropertyValue>
      <productPropertyValue>
         <propertyName>GPS_Devices_GPS_Type</propertyName>
         <value>
            <text>
               <value>Automobile</value>
            </text>
         </value>
      </productPropertyValue>
      <productPropertyValue>
         <propertyName>GPS_Devices_Form_Factor</propertyName>
         <value>
            <text>
               <value>Logi1</value>
            </text>
         </value>
         <value>
            <text>
               <value>Logi2</value>
            </text>
         </value>
      </productPropertyValue>
      <productPropertyValue>
         <propertyName/>
         <value>
            <number>
               <value>2536</value>
               <unitOfMeasurement/>
            </number>
         </value>
      </productPropertyValue>
      <media>
         <mediaIdentifier>
            <url>http://www.botany.com/img/plants/dictionary-plants-flowers.jpg</url>
         </mediaIdentifier>
         <mediaType>Image</mediaType>
      </media>
   </addProductRequest>
   <clientBatchId>54321</clientBatchId>
</addProductsRequest>

Output

The response defaults to a tree format, in which each child property specifies a model name (e.g., (propertyValuesTree.childPropertyNameValue.value.text.value is Accord).

XML format. Also available is the .txt version of this XML.

<addProductsResponse xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services">
   <ack>Success</ack>
   <errorMessage/>
   <version>1.3.1</version>
   <timestamp>2011-05-02T20:14:22.569Z</timestamp>
   <addProducResponse>
      <errorMessage/>
      <invocationId>0123456789</invocationId>
      <status>
         <productSubmissionId>5000102408</productSubmissionId>
         <statusCode>Pending</statusCode>
      </status>
   </addProducResponse>
   <clientBatchId>54321</clientBatchId>
</addProductsResponse>



Back to top

addProducts Change History

Version Description
1.4.0
4/15/2011
  • (added) New call.



Back to top

User-Contributed Notes

   
 
 
 

Copyright © 2009–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.