Skip to main content

This flow uses an XML file to acknowledge that an order (meaning, a whole order, an order line item, or multiple orders) has been received and to remove it from the order report (OrderAck), to specify the shipment tracking information associated with an order, or to mark an order as paid or shipped (SetShipmentTrackingInfo).

  • LMS feed type files must be included in a BulkDataExchangeRequests node (wrapped with opening and closing BulkDataExchangeRequests tags)

  • Each object must be contained in an individual node. For example: <OrderAckRequest>…</OrderAckRequest>

Before an upload task is created, a data file should be prepared, tested, and ready for upload. Only one type of object can be contained in each file; OrderAckRequests and SetShipmentTrackingInfoRequests cannot be combined into the same data file. This data file would be used with the uploadFile method for the task created by its associated feed type. For example, when creating a OrderAckRequest object, you would use the feed type of LMS_ORDER_ACK with the createTask method. See the Merchant Data upload feed types for more information.

Overview of fulfillment upload flow

There are four basic steps in uploading a Fulfillment feed type data file to eBay:

  1. Create an upload task.

    Use the createTask method to create an upload task. This step returns a taskID in the Location response header (not a response payload field). When creating the upload task, keep the following in mind:

    • OAuth tokens are passed in through the Authorization header: Authorization:Bearer <token>
    • schemaVersion is provided through the request payload. Legacy API uses a "Version" field.
    • X-EBAY-C-MARKETPLACE-ID or marketplaceId: The legacy API uses a "SiteID" field instead of "marketplace ID".

      siteID values are provided through request headers in the Feed API.
    • Sellers can create multiple tasks at a time.
    • See Fulfillment upload feed types for available feed types.
    • Create the task for the feed type to be used in the data file to be uploaded.
    • The taskId returned in the create call is used in the uploadfile call.
    • Refer to the createTask method for returned errors.
  2. Upload a data file.

    Use the uploadFile method to upload a file using the just created taskID. When uploading the file, keep the following in mind:

    • The data file to upload must be a regular XML file or an XML file in zipped format (both formats are allowed). When uploading the file, use the file's fileName including extension, set name to file, and type to form-data. See Upload the file for more information.

    • After a successful uploadFile method call, eBay starts processing the data file.

  3. Check the task status.

    Use the getTask method to retrieve the task's status using the taskID. Use the getTasks method to retrieve details for multiple tasks. When checking the status, keep the following in mind:

    • The Feed API does not provide the input file/output file information, but does provide the task's status.
    • The Feed API response provides a detail that contains the number of requests successfully processed and failed. It is available under the uploadSummary section in the response. For failed requests, proceed to the next step and download the results file (the file contains any issues or errors).
    • Iterate until a response of COMPLETED or COMPLETED_WITH_ERROR is returned.
    • When checking the status of a task, refer to FeedStatusEnum for the possible order status values.
  4. Download the result file.

    When the task status is complete, download the result file using taskId and the getResultFile method. Only taskId is required for this operation. OrderAck and SetShipmentTrackingInfo responses return OrderLineItemID values.

    The task can either be completely successful, partially successful (for example, some order line items were acknowledged/updated with shipment tracking information, and others failed), or the task can completely fail. The response may contain errors/warnings if the task was COMPLETED_WITH_ERROR (failed tasks include error messages and codes). If any issues or errors are present, learn about them from the downloaded results file from the getResultFile call. Refer to Troubleshooting and References for Error Messages for information about these errors. Make edits to your request's failed objects, remove any successful objects, and then re-upload.

The following diagram illustrates the calls used when uploading a Fulfillment feed type data file.

Reusing a data file

Use the Feed API getInputFile method to download a file previously uploaded using uploadFile (useful if you want to revise a group of listings that were previously added or revised).