eBay Bulk Data Exchange APIVersion 1.5.0

createUploadJob

Creates a Bulk Data Exchange Job and assigns it a job ID and a file reference ID. You need to add these IDs to all Bulk Data Exchange calls that are related to your job, such as getJobStatusRequest. You will also need to add this information to File Transfer API call requests for this job.



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"?>
<createUploadJobRequest xmlns="http://www.ebay.com/marketplace/services">
  <!-- Call-specific Input Fields -->
  <fileType> FileType </fileType>
  <uploadJobType> token </uploadJobType>
  <UUID> string </UUID>
</createUploadJobRequest>
Argument Type Occurrence Meaning
fileType FileType Optional Specifies the upload job type. Only XML is currently allowed.

Applicable values:

XML
This value indicates that XML will be used to upload and download files.

uploadJobType token Required Specifies the Merchant Data API request used in a Bulk Data Exchange upload job. Each Bulk Data Exchange job can only have one uploadjobType (Merchant Data API request) per job. For instance, if you are uploading a data file, it can not have AddFixedPriceItem requests and ReviseFixedPriceItem requests within the same upload file.

For each of the request job types, Merchant Data requests with the same name are included within a data file and uploaded. For instance, if you create an AddFixedPriceItem job, then the file you are going to upload must contain AddFixedPriceItem requests - one request for each item, listing, or acknowledgement in your data file.

The following value definitions describe the request or response associated with each job type.

For more information about creating and uploading Merchant Data files, see the Large Merchant Services User Guide.

Applicable values:
AddFixedPriceItem
Defines a single new fixed-price item and lists it on a specified eBay site.
AddItem
Defines a single new item and lists it on a specified eBay site.
EndFixedPriceItem
Ends the specified item listing before the date and time at which it would normally end (per the listing duration).
EndItem
Ends the specified item listing before the date and time at which it would normally end (per the listing duration).
OrderAck
Request that acknowledges that an order has been received. Use the OrderAck request to acknowledge each line item in a SoldReport by order ID or line item ID.

After you send the first OrderAck call, future SoldReport calls will only contain unacknowledged orders or line items.
RelistFixedPriceItem
Enables a seller to take a single fixed-price item that ended without buyers and relist it on a specified eBay site.

An item may be relisted with the same item properties as the original listing, or the seller may change a number of the item's defining properties at relisting time. The new listing will have a different item ID than the original one.
RelistItem
Enables a seller to take a single item and relist it on a specified eBay site.
ReviseFixedPriceItem
Enables a seller to change the properties of a currently active fixed-price listing.

If the listing contains multiple quantities of an item, you can revise most of the fields in the listing (except item title, currency, product ID, photo display type, variation details, listing duration, listing format, or eBay Giving Works charity), even after one of the items in the listing has been purchased. To revise multiple listings, include a ReviseFixedPriceItem request once for each item or listing in your data file, with new information for each item or listing.
ReviseInventoryStatus
Enables a seller to change the price and quantity of a currently active fixed-price listing. Inputs are the item IDs or SKUs of the listings being revised, and price and quantity that are being changed for each revision.

You can use SKU as input only for fixed-price listings that are managed by SKU (i.e., InventoryTrackingMethod is set to SKU). ItemID can be used in either case.
ReviseItem
Enables a seller to change the properties of a currently active listing.
SetShipmentTrackingInfo
Includes information about a specific item and the shipping information associated with it.
UploadSiteHostedPictures
Uploads a picture to EPS (eBay Picture Services) when you supply a URL in the ExternalPictureURL field (the location of the picture on an external Web server). Unlike what the call name implies, you can only upload one picture per request.
VerifyAddFixedPriceItem
Acknowledges that the data for a single new fixed-price item matches the schema and can be added without data errors.
VerifyAddItem
Enables a seller to specify the definition of a new item and submit the definition to eBay without creating a listing.
UUID string Required A Universally Unique Identifier (UUID) provided by the seller's application.
Max length: 32.



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"?>
<createUploadJobResponse xmlns="http://www.ebay.com/marketplace/services">
  <!-- Call-specific Output Fields -->
  <fileReferenceId> string </fileReferenceId>
  <jobId> string </jobId>
  <maxFileSize> string </maxFileSize>
  <!-- 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 nodes allowed here ... -->
      <severity> ErrorSeverity </severity>
      <subdomain> string </subdomain>
    </error>
    <!-- ... more error nodes allowed here ... -->
  </errorMessage>
  <timestamp> dateTime </timestamp>
  <version> string </version>
</createUploadJobResponse>
Return Value Type Occurrence Meaning
Call-specific Output Fields [Jump to standard fields]
fileReferenceId string Always A unique ID assigned to a file by the Bulk Data Exchange API. This value will be passed into the fileReferenceId field in the File Transfer API's uploadFile call.
jobId string Always Unique ID assigned by the Bulk Data Exchange API for managing your upload job. Use this jobId to activate (startUploadJobb) or abort (abortJob) processing of an uploaded file. You can also use jobId in getJobStatus to check on processing progress for a job.

Before you can start an upload job, you must upload the corresponding data file, using the File Transfer API. In the File Transfer API, jobId maps to taskReferenceId in the uploadFile call.
maxFileSize string Always This value indicates the maximum size of a file that may be uploaded or downloaded. Currently, the default maximum size is 15MB. The number of calls allowed in a data file that you want to upload varies with the size of the Item description, the type of data in the description, and the complexity of each call in your file.
Standard Output Fields  
ack AckValue Always Returns the acknowledgement of the call success or failure.

Applicable values:

Failure
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.
PartialFailure
Reserved for future use.
Success
The request was processed successfully, but something occurred that may affect your application or the user.
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, such as missing or invalid fields. The problem must be corrected before the request can be made again. If the problem is due to something in the application (such as a missing required field), the application must be changed. Once the problem in the application or data is resolved, resend the corrected request to eBay.
Request
An error occurred due to a problem with the request, such as invalid or missing data. The problem must be corrected before the request can be made again. If the problem is a result of end-user data, the application must alert the end-user to the problem and provide the means for the end-user to correct the data. Once the problem in the data is resolved, resend the request to eBay with the corrected data.
System
Indicates that an error has occurred on the eBay system side, such as a database or server down. 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 upon which the error occurred.
Domains include:
Marketplace
A business or validation error occurred for the Bulk Data Exchange 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 resulted in the error.
errorMessage.error.parameter ErrorParameter (string) Conditionally,
repeatable: [0..*]
Some 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 Some 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 error caused the request to fail (Error) or not (Warning).

If the request fails and the source of the problem is within the application (such as a missing required element), please change the application before you retry the request. If the problem is due to end-user input data, please 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, you can attempt to re- send the request to eBay.

If the source of the problem is on eBay's side, you 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.

When a warning occurs, the error is returned in addition to the business data. In this case, you do not need to retry the request (as the original request was successful). However, depending on the cause or nature of the warning, you might need to contact either the end user or eBay to effect a long term solution to the problem to prevent it from reoccurring in the future.

Applicable values:

Error
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 was processed successfully, but something occurred that may affect your application or the user. For example, eBay may have changed a value the user sent in. In this case, eBay returns a normal, successful response and also returns the warning.

errorMessage.error.subdomain string Conditionally Name of the subdomain upon which the error occurred.
Subdomains include:
BulkDataExchangeService
The error is specific to the Bulk Data Exchange API.
MarketplaceCommon
The error is common to all Marketplace API.
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

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

Note: Some item IDs, user IDs, or other data in these samples might no longer be active on eBay. If necessary, you can substitute current eBay data in your requests.

Sample: Basic Call

Creates an upload job for the Bulk Data Exchange service. This request will return a job id that you must enter into a File Transfer service upload request.

Description

User megaonlinemerchant wants to upload the products for a new clothing line. The first step in this process is to create a data file with the new products that she wants to upload. Then she will use this call to create an upload job with the Bulk Data Exchange service.

As a result of this call, megaonlinemerchant she will have a job id that she can use to upload her data file and track the processing status.

Input

In the following createUploadJob request sample, you will see that you need a UUID (Universally Unique Identifier), the type of job that you want the job to generate (such as AddFixedPriceItem, ReviseFixedPriceItem, or RelistFixedPriceItem), and the type of file you will be uploading (zip or gzip). As a best practice, we recommend using a Universally Unique Identifier generator that uses a timestamp as part of the generation algorithm, so that the ID is always unique.

XML format. Also available is the .txt version of this XML and the SOAP equivalent.

<?xml version='1.0' encoding='UTF-8'?>
<createUploadJobRequest xmlns="http://www.ebay.com/marketplace/services">
  <uploadJobType>AddFixedPriceItem</uploadJobType>
  <UUID>334c72f0-aa1b-11dd-ad8b-0800200c9a66</UUID>
  <fileType>gzip</fileType>
</createUploadJobRequest>

Output

The response includes a Success or Failure acknowledgement, a job reference id, a file reference id, maximum file size, a timestamp, and the version number of the Bulk Data Exchange service.

XML format. Also available is the .txt version of this XML and the SOAP equivalent.

<?xml version='1.0' encoding='utf-8'?>
<createUploadJobResponse xmlns="http://www.ebay.com/marketplace/services">
  <ack>Success</ack>
  <version>1.0.0</version>
  timestamp>2008-11-04T02:51:55.926Z</timestamp>
  <jobId>50000002126</jobId>
  <fileReferenceId>50000002936</fileReferenceId>
  <maxFileSize>15</maxFileSize>
</createUploadJobResponse>



Change History

Change Date Description
1.4.1
2010-04-14
  • uploadJobType values (added): New job types (AddItem, EndItem, RelistItem, ReviseItem, and VerifyAddItem) for corresponding data file payloads newly supported by the Merchant Data API.
1.0.0
2008-11-29
  • (added) New call