When you group an order's line items into one or more packages, each package requires a corresponding plan for handling, addressing, and shipping; this is a shipping fulfillment. For each package, execute this call once to generate a shipping fulfillment associated with that package.
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.
|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.
All requests made to eBay REST operations require you to provide the
Authorization HTTP header for authentication authorization.
In addition, this method requires you to include the Content-Type header and its value should be set to "application/json". See HTTP request headers- opens rest request components page for details.
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.
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.
This field is reserved for internal or future use.
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.
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.
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.
See HTTP response headers for details.
|Location||A successful call returns the following location code: |
This call has no payload.
This call has no field definitions.
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|
This call has no warnings.
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.
This sample creates a new shipping fulfillment with an eBay-generated fulfillment ID, containing the specified line items.
Use the orderid parameter to specify the order for which you are creating a shipping fulfillment. Identify the lineItems included in the package, as well as the shipping information if the package has been shipped.
A successful call returns an HTTP status code of
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/6********5!2********1/shipping_fulfillment/1********6Note: 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.This call has no response payload.