eBay Bulk Data Exchange APIVersion 1.5.0

createRecurringJob

Creates a recurring Bulk Data Exchange job and assigns it a recurringJobId. When you create a recurring job, you must specify a recurrence interval, such as daily, weekly, monthly, or a frequency in minutes.

Once a recurring job has been created, a separate job ID is created for each job that is created/executed. For example, if a job runs every hour, it will have a single recurringJobId and each hourly job will have a unique jobId and fileReferenceId.



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"?>
<createRecurringJobRequest xmlns="http://www.ebay.com/marketplace/services">
  <!-- Call-specific Input Fields -->
  <dailyRecurrence> DailyRecurrence
    <timeOfDay> time </timeOfDay>
  </dailyRecurrence>
  <downloadJobRecurringFilter> DownloadJobRecurringFilter (BaseServiceRequest)
    <orderReportRecurringFilter> OrderReportRecurringFilter (BaseServiceRequest)
      <createTimeRange> int </createTimeRange>
      <listingType> ListingType </listingType>
      <modTimeRange> int </modTimeRange>
      <version> int </version>
    </orderReportRecurringFilter>
  </downloadJobRecurringFilter>
  <downloadJobType> token </downloadJobType>
  <frequencyInMinutes> int </frequencyInMinutes>
  <monthlyRecurrence> MonthlyRecurrence
    <dayOfMonth> token </dayOfMonth>
    <timeOfDay> time </timeOfDay>
  </monthlyRecurrence>
  <UUID> string </UUID>
  <weeklyRecurrence> WeeklyRecurrence
    <dayOfWeek> token </dayOfWeek>
    <timeOfDay> time </timeOfDay>
  </weeklyRecurrence>
</createRecurringJobRequest>
Argument Type Occurrence Meaning
dailyRecurrence DailyRecurrence Optional Optional container that can be used to create a recurring job that is executed on a weekly basis. If this container is used, the weeklyRecurrence and monthlyRecurrence containers should not be used.
dailyRecurrence.timeOfDay time Conditional This value is used to specify the time of day that the job will execute on a daily basis. The 24-hour clock and GMT are used. 'HH:MM:SS' is the convention that is used, where 'HH' is hours, 'MM' is minutes, and 'SS' is seconds. A sample value is '05:00:00', which would mean that the recurring job would be executed at 5 AM GMT.

This field is always required if the dailyRecurrence container is used.
downloadJobRecurringFilter DownloadJobRecurringFilter (BaseServiceRequest) Optional Specifies the filters for creating recurring jobs for different LMS downlaod job types
downloadJobRecurringFilter
  .orderReportRecurringFilter
OrderReportRecurringFilter (BaseServiceRequest) Optional Creates a recurrring job for Order Report.
downloadJobRecurringFilter
  .orderReportRecurringFilter
  .createTimeRange
int Optional Specify the range in minutes. The Order Report will retrieve orders that have not been acked during the provided create time range
downloadJobRecurringFilter
  .orderReportRecurringFilter
  .listingType
ListingType Conditional This field must be included and must be set to 'Half' in order to retrieve the seller's Half.com orders.

Note: Do not use this field if you are retrieving eBay.com orders.



Applicable values:

Half
This value is used if the seller wants to retrieve Half.com orders.

downloadJobRecurringFilter
  .orderReportRecurringFilter
  .modTimeRange
int Optional Specify the range in minutes. The Order Report will retrieve orders that have not been acked during the provided modified time range
downloadJobRecurringFilter
  .orderReportRecurringFilter
  .version
int Conditional The value input into this field indicates the version number of the Trading API (specifically, GetOrders) that will be called when the orderReport response is generated. This value must be a valid Trading API version number and it must be Version 841 or later. If an older version is used, orderReport will fail.

This field is required if the orderReportRecurringFilter container is used.
downloadJobType token Required Specifies the report you want to download. Each Bulk Data Exchange job can only have one job type per job. For instance, if you are downloading a SoldReport, it will only have predefined SoldReport data within the file.

Applicable values:
ActiveInventoryReport
A report that contains all of the active listings for a specific seller ID. The eBay servers read the credential information passed in by the seller's application to determine which seller's data to retrieve.
FeeSettlementReport
A report that contains all of the fees that you have incurred as invoices are generated by the eBay servers. This report gives large merchants the ability to look at their fees for many listings in one file.
SoldReport
Lists all items that have been sold by this seller (sold items that were submitted to the Large Merchant Service by the seller's application).

When an item is sold, the eBay application creates an 'order' for the seller. If only one item is sold, there is one order ID and one line item ID associated with the sale. However, if multiple items are sold as part of the same transaction, there is one order ID for the sale, and multiple line item IDs - one line item ID for each item sold.

Therefore, SoldReport returns the order IDs and line item IDs for every order associated with the seller who is making the request. Sellers use this information to make inventory updates and start order fulfillment.

When orders have been fulfilled, the seller will probably want to remove them from the list of all orders that comes back every time they receive a SoldReport. To do this, they can acknowledge each order that has been fulfilled (using order ID or line item ID) by uploading a list of the fulfilled order information using an OrderAck request.

After you upload a data file with an OrderAck request, the orders (or line items within an order) will no longer appear in SoldReport. After you send the first OrderAck call, future SoldReport responses will only contain unacknowledged orders and line items.
frequencyInMinutes int Optional Use this field to set up a recurring job that happens more than once a day. After the initial job instance is executed, the subsequent job instances will be executed according to the frequency (in minutes) set in the frequencyInMinutes field.

If this field is used, the weeklyRecurrence and dailyRecurrence and monthlyRecurrence containers should not be used.
Min: 1.
monthlyRecurrence MonthlyRecurrence Optional Optional container that can be used to create a recurring job that is executed on a monthly basis. If this container is used, the weeklyRecurrence and dailyRecurrence containers should not be used.
monthlyRecurrence.dayOfMonth token Conditional This value is used to specify which day of each month that the recurring job should be executed. Supported values are 'Day_1', 'Day_2', 'Day_3', and all the way up to 'Day_28'. 'Day_Last' is also a supported value and indicates that the recurring job should be executed on the last day of each month, whether that be the 28th (in February), the 29th (in February during a leap year), the 30th, or 31st.

'Day_29', 'Day_30', and 'Day_31' are NOT supported values. This field is always required if the monthlyRecurrence container is used.
monthlyRecurrence.timeOfDay time Conditional This value is used to specify the time of day (on the day specified through the dayOfMonth field) that the job will execute. The 24-hour clock and GMT are used. 'HH:MM:SS' is the convention that is used, where 'HH' is hours, 'MM' is minutes, and 'SS' is seconds. A sample value is '05:00:00', which would mean that the recurring job would be executed at 5 AM GMT.

This field is always required if the monthlyRecurrence container is used.
UUID string Required A Universally Unique Identifier (UUID) provided by the seller's application.
Max length: 32.
weeklyRecurrence WeeklyRecurrence Optional Optional container that can be used to create a recurring job that is executed on a weekly basis. If this container is used, the monthlyRecurrence and dailyRecurrence containers should not be used.
weeklyRecurrence.dayOfWeek token Conditional This value is used to specify which day of the week that the recurring job should be executed. Supported values are 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', and 'Saturday'.

This field is always required if the weeklyRecurrence container is used.
weeklyRecurrence.timeOfDay time Conditional This value is used to specify the time of day (on the day specified through the dayOfWeek field) that the job will execute. The 24-hour clock and GMT are used. 'HH:MM:SS' is the convention that is used, where 'HH' is hours, 'MM' is minutes, and 'SS' is seconds. A sample value is '05:00:00', which would mean that the recurring job would be executed at 5 AM GMT.

This field is always required if the weeklyRecurrence container is used.



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"?>
<createRecurringJobResponse xmlns="http://www.ebay.com/marketplace/services">
  <!-- Call-specific Output Fields -->
  <recurringJobId> string </recurringJobId>
  <!-- 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>
</createRecurringJobResponse>
Return Value Type Occurrence Meaning
Call-specific Output Fields [Jump to standard fields]
recurringJobId string Always Unique ID that is assigned for the recurring job by the Bulk Data Exchange API after a successful createRecurringJob call. This value is passed into the request of other recurring job calls of the File Transfer API.
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 a recurring job for the Bulk Data Exchange service. Recurring jobs are most commonly used to automate report generation.

Description

User megaonlinemerchant creates a recurring ActiveInventoryReport that will run every week (frequency = 10080 minutes), so that she can check her active eBay inventory against the stock she has in her warehouse.

As a result of this call, megaonlinemerchant will be able to download an ActiveInventoryReport every week.

Input

In the following createRecurringJob request sample, you will see that you need a UUID (Universally Unique Identifier), the frequency in minutes that you want the job to generate, and the type of job you will be generating (such as SoldReport or ActiveInventoryReport). 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. The frequency for a SoldReport must not be more than two reports per hour, while the frequency for an ActiveInventoryReport must be not be more than one report per day. See Report Frequency Table for more information.

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

<?xml version="1.0" encoding="utf-8"?>
<createRecurringJobRequest xmlns="http://www.ebay.com/marketplace/services">
  <UUID>d6e56ff0-a545-11dd-ad8b-0800200c9a66</UUID>
  <frequencyInMinutes>10080</frequencyInMinutes>
  <downloadJobType>ActiveInventoryReport</downloadJobType>
</createRecurringJobRequest>

Output

The response includes a Success or Failure acknowledgement, 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"?>
<createRecurringJobResponse xmlns="http://www.ebay.com/marketplace/services">
  <ack>Success</ack>
  <version>1.0.0</version>
  <timestamp>2008-10-28T23:13:05.587Z</timestamp>
  <recurringJobId>5000000102</recurringJobId>
</createRecurringJobResponse>



Change History

Change Date Description
1.2.0
2009-04-01
  • dailyRecurrance, weeklyRecurrance, monthlyRecurrance (added): Recurring job types now support daily, weekly, or monthly frequencies.
1.0.0
2008-11-29
  • (added) New call