Note: A single line item in an order can consist of multiple units of a purchased item, and one unit can consist of multiple parts or components. Although these components might be provided by the manufacturer in separate packaging, the seller must include all components of a given line item in the same package.
Before using this call for a given package, you must determine which line items are in the package. If the package has been shipped, you should provide the date of shipment in the request. If not provided, it will default to the current date and time.
Resource URI (production)
|orderId||string||The unique identifier of the order. Order ID values are shown in My eBay/Seller Hub, and are also returned by the getOrders method in the orders.orderId field. |
Note: A new order ID format was introduced to all eBay APIs (legacy and REST) in June 2019. In REST APIs that return Order IDs, including the Fulfillment API, all order IDs are returned in the new format, but the createShippingFulfillment method will accept both the legacy and new format order ID. The new format is a non-parsable string, globally unique across all eBay marketplaces, and consistent for both single line item and multiple line item orders. These order identifiers will be automatically generated after buyer payment, and unlike in the past, instead of just being known and exposed to the seller, these unique order identifiers will also be known and used/referenced by the buyer and eBay customer support.
HTTP request headers
This request requires an access token created with the authorization code grant flow, using one or more scopes from the following list (please check your Application Keys page for a list of OAuth scopes available to your application):
See OAuth access tokens for more information.
|lineItems||array of LineItemReference||This array contains a list of or more line items and the quantity that will be shipped in the same package. |
|lineItems.lineItemId||string||This is the unique identifier of the eBay order line item that is part of the shipping fulfillment. The line item ID is created as soon as there is a commitment to buy from the seller. |
|lineItems.quantity||integer||This field is reserved for internal or future use. |
|shippedDate||string||This is the actual date and time that the fulfillment package was shipped. This timestamp is in ISO 8601 format, which uses the 24-hour Universal Coordinated Time (UTC) clock. The seller should use the actual date/time that the package was shipped, but if this field is omitted, it will default to the current date/time.|
Default: The current date and time.
|shippingCarrierCode||string||The unique identifier of the shipping carrier being used to ship the line item(s). Technically, the shippingCarrierCode and trackingNumber fields are optional, but generally these fields will be provided if the shipping carrier and tracking number are known. |
Note: Use the Trading API's GeteBayDetails call to retrieve the latest shipping carrier enumeration values. When making the GeteBayDetails call, include the DetailName field in the request payload and set its value to
|trackingNumber||string||The tracking number provided by the shipping carrier for this fulfillment. The seller should be careful that this tracking number is accurate since the buyer will use this tracking number to track shipment, and eBay has no way to verify the accuracy of this number.|
This field and the shippingCarrierCode field are mutually dependent. If you include one, you must also include the other.
Note: If you include trackingNumber (and shippingCarrierCode) in the request, the resulting fulfillment's ID (returned in the HTTP location code) is the tracking number. If you do not include shipment tracking information, the resulting fulfillment ID will default to an arbitrary number such as
HTTP response headers
See HTTP response headers for details.
|Location||A successful call returns the following location code: |
HTTP status codes
This call can return one of the following HTTP status codes. For an overview of the status codes, see HTTP status codes in Using eBay RESTful APIs.
|201||Created. The call also returns the following location code: |
|500||Internal Server Error. |
Note: In some cases, this call may succeed if you issue it once more after receiving this error.
For more on errors, plus the codes of other common errors, see Handling errors.
|32100||API_FULFILLMENT||REQUEST||Invalid order Id|
|32200||API_FULFILLMENT||REQUEST||Invalid line item id|
|32300||API_FULFILLMENT||REQUEST||Invalid shipment tracking number or carrier|
|32400||API_FULFILLMENT||REQUEST||Requested user is suspended|
|32500||API_FULFILLMENT||REQUEST||Invalid shipped date|
|32600||API_FULFILLMENT||REQUEST||Invalid input data|
New to making API calls? Please see Making a Call.
Note: Identifiers, such as order IDs or user IDs, and personal data in these samples might be anonymized or may no longer be active on eBay. If necessary, substitute current, relevant eBay data in your requests.
Sample 1: Create a Shipping Fulfillment
201(Created). It also returns a location code for the newly created shipping fulfillment resource, including its fulfillment ID:
https://api.ebay.com/sell/fulfillment/v1/order/6498414015!260000000562911/shipping_fulfillment/1Z50992656936Note: Currently, eBay uses the value of the submitted tracking number as the new fulfillment ID, but don't depend on this behavior. The fulfillment ID format is subject to change in the future.