eBay Product APIVersion 1.4.0
 

getProductSubmissions

All eBay Electronics categories require sellers to list with a product whenever there's a product match in the associated eBay catalog. Starting in September 2011, listing with a product will be required in some categories. 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.

Use this call to submit a product 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 the getProductSubmissions 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 categoreis 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:



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"?>
<getProductSubmissionsRequest xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services">
  <!-- Call-specific Input Fields -->
  <outputSelector> OutputSelector </outputSelector>
  <paginationInput> PaginationInput
    <entriesPerPage> int </entriesPerPage>
    <pageNumber> int </pageNumber>
  </paginationInput>
  <productSubmissionFilter> ProductSubmissionFilter
    <filterName> ProductSubmissionFilterName (string) </filterName>
    <filterValue> string </filterValue>
    <!-- ... more filterValue values allowed here ... -->
  </productSubmissionFilter>
  <!-- ... more productSubmissionFilter nodes allowed here ... -->
  <sortOption> SortOption
    <sortOrder> OrderType </sortOrder>
    <sortType> SortType </sortType>
  </sortOption>
  <!-- ... more sortOption nodes allowed here ... -->
</getProductSubmissionsRequest>
Argument Type Occurrence Meaning
outputSelector OutputSelector Optional Defines what data to return, in addition to the default set of data, in a response.

If you don't specify this field, eBay returns a default set of product submission status information. Use outputSelector to include the properties for the product submissions, as well.

If you specify this field, the additional fields returned can affect the call's response time (performance)

Applicable values:

ProductSubmission
Include the product submission details in the response. These are the name-value properties used to describe the product. In some cases, the returned properties may vary from the submitted properties. [This was mentioned in a meeting. When does this happen? Does this only happen for submissions that are approved?]
paginationInput PaginationInput Optional
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.
productSubmissionFilter ProductSubmissionFilter Optional,
repeatable: [0..*]
Restrict the scope of product submissions for which to retrieve status information.
productSubmissionFilter
  .filterName
ProductSubmissionFilterName (string) Optional Specify the name of the product submission filter you want to use. The productSubmissionFilter filter name must have a corresponding value. You can apply multiple productSubmissionFilter Name/Value pairs in a single request.
productSubmissionFilter
  .filterValue
string Optional,
repeatable: [1..*]
The value associated with the respective product submission filter name. Allowed values and datatypes vary for a given filter name.
sortOption SortOption Optional,
repeatable: [0..*]
Specifies the logic for sorting the productSubmissionResponse nodes in the response. If sortOption is not specified, no sorting is applied to the response.
sortOption.sortOrder OrderType Conditional This value specifies whether you want to sort search results in ascending or descending order, in conjunction with the value you specify in sortType. If you specify a sortOption, you must include sortOrder.

Applicable values:

Ascending
The results will be sorted by the specified attribute in ascending (low to high) order.
Descending
The results will be sorted by the specified attribute in descending (high to low) order.
sortOption.sortType SortType Conditional Indicates the property value used for sorting. Currently, results can only be sorted by product submission ID. If you specify a sortOption, you must include sortType.

Applicable values:

ByProductSubmissionId
Sorts the response by the product submission ID. The sortOrder value determines whether results are returned in ascending or descending order.



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"?>
<getProductSubmissionsResponse xmlns="http://www.ebay.com/marketplace/marketplacecatalog/v1/services">
  <!-- Call-specific Output Fields -->
  <paginationOutput> PaginationOutput
    <entriesPerPage> int </entriesPerPage>
    <pageNumber> int </pageNumber>
    <totalEntries> int </totalEntries>
    <totalPages> int </totalPages>
  </paginationOutput>
  <productSubmissionResponse> ProductSubmissionResult (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>
    <productSubmission> ProductSubmission (BaseServiceRequest)
      <categoryId> string </categoryId>
      <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 ... -->
    </productSubmission>
    <status> ProductSubmissionStatus
      <ePID> string </ePID>
      <!-- ... more ePID values allowed here ... -->
      <productSubmissionId> string </productSubmissionId>
      <statusCode> ProductSubmissionStatusCode </statusCode>
    </status>
    <timestamp> dateTime </timestamp>
    <version> string </version>
  </productSubmissionResponse>
  <!-- ... more productSubmissionResponse 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>
</getProductSubmissionsResponse>
Return Value Type Occurrence Meaning
Call-specific Output Fields [Jump to standard fields]
paginationOutput PaginationOutput Conditionally Indicates the pagination of the result set. Child elements indicate the page number that is returned, the maximum number of product submission responses to return per page, total number of pages that can be returned, and the total number of entries that match the search criteria.
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.
productSubmissionResponse ProductSubmissionResult (BaseServiceResponse) Conditionally,
repeatable: [0..*]
Status information about the submitted product. This information may include API errors for failed submissions (not the same as a status of rejected), status of successful submissions (i.e., pending, approved, or rejected), and product submission details (i.e., name-value properties that describe the product).
productSubmissionResponse.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.

Code so that your app gracefully handles any future changes to this list.
productSubmissionResponse
  .errorMessage
ErrorMessage Conditionally Description of an error or warning that occurred when eBay processed the request. Not returned if the ack value is Success.
productSubmissionResponse
  .errorMessage.error
ErrorData Conditionally,
repeatable: [0..*]
Details about a single error.
productSubmissionResponse
  .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.

Code so that your app gracefully handles any future changes to this list.
productSubmissionResponse
  .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.
productSubmissionResponse
  .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.
productSubmissionResponse
  .errorMessage.error
  .exceptionId
token Conditionally Unique identifier for an exception associated with an error.
productSubmissionResponse
  .errorMessage.error.message
string Conditionally A detailed description of the condition that caused in the error.
productSubmissionResponse
  .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.
productSubmissionResponse
  .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.
productSubmissionResponse
  .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.

Code so that your app gracefully handles any future changes to this list.
productSubmissionResponse
  .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.
productSubmissionResponse
  .productSubmission
ProductSubmission (BaseServiceRequest) Conditionally
productSubmissionResponse
  .productSubmission.categoryId
string Conditionally Specifies the category to which you want to add a product. Only select Electronics categories support product creation.
Max length: 10.
productSubmissionResponse
  .productSubmission.media
Media Conditionally,
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.
productSubmissionResponse
  .productSubmission.media
  .mediaIdentifier
MediaIdentifier Conditionally 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.
productSubmissionResponse
  .productSubmission.media
  .mediaIdentifier.url
string Conditionally 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.
productSubmissionResponse
  .productSubmission.media
  .mediaType
MediaType Conditionally 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.

Code so that your app gracefully handles any future changes to this list.
productSubmissionResponse
  .productSubmission
  .productPropertyValue
PropertyValue Conditionally,
repeatable: [1..100]
Name-value pairs that describe the product.

See getProductMetadataBulk for details about required and optional product properties and value constraints..

productSubmissionResponse
  .productSubmission
  .productPropertyValue
  .propertyName
string Conditionally This is the canonical name of the property. Used to identify a property within a catalog that this category belongs to.
productSubmissionResponse
  .productSubmission
  .productPropertyValue.value
Value Conditionally,
repeatable: [0..*]
A value for the property.
productSubmissionResponse
  .productSubmission
  .productPropertyValue.value
  .number
NumericValue Conditionally For numeric value type.
productSubmissionResponse
  .productSubmission
  .productPropertyValue.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.
productSubmissionResponse
  .productSubmission
  .productPropertyValue.value
  .text
StringValue Conditionally For string value type.
productSubmissionResponse
  .productSubmission
  .productPropertyValue.value
  .text.value
string Conditionally A string value.
productSubmissionResponse
  .productSubmission
  .productPropertyValue.value
  .URL
URIValue Conditionally For URL value type.
productSubmissionResponse
  .productSubmission
  .productPropertyValue.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.
productSubmissionResponse
  .status
ProductSubmissionStatus Conditionally Always returned when there are product submissions that match the request criteria.
productSubmissionResponse
  .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:
  • Product successfully added or updated—when a product has been successfully added to or updated in the catalog (i.e., status is Approved), the ePID for the new or updated product is returned.
  • Matching product found—when the catalog already contains a product that matches the submitted product, the submission is rejected and the ePID of the existing product is returned.
productSubmissionResponse
  .status.productSubmissionId
string Conditionally A unique [how unique?] identifier for a specific product submission. [When is this not returned?]
productSubmissionResponse
  .status.statusCode
ProductSubmissionStatusCode Conditionally 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.

Code so that your app gracefully handles any future changes to this list.
productSubmissionResponse
  .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.
productSubmissionResponse
  .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.
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.

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:

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.

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

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.

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



Samples

Code samples not yet added for this call's documentation.



Change History

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