Orders & Fulfillments

Orders & Fulfillments


Orders

API endpoints

MethodPathDescriptionAPI Reference
GET/api/v2/ordersList all ordersref
GET/api/v2/orders/{orderId}Get a single orderref

Orders are retrieved from eBay's Fulfillment API. The single-order endpoint includes the TAX_BREAKDOWN field group for detailed tax information, including any eBay-collected tax (Marketplace Facilitator Tax).

Filtering orders

Use query parameters to filter the order list:

ParameterDescriptionExample
createdAt[from]Start of creation date range (ISO 8601)2024-01-01T00:00:00Z
createdAt[to]End of creation date range2024-01-31T23:59:59Z
updatedAt[from]Start of last-updated range
updatedAt[to]End of last-updated range
financialStatusFilter by payment statusPAID
fulfillmentStatusFilter by shipment statusNOT_STARTED

Example:

GET /api/v2/orders?createdAt[from]=2024-01-01T00:00:00Z&createdAt[to]=2024-01-31T23:59:59Z

Key order fields

An order response from eBay contains several fields useful for processing and fulfillment:

FieldDescription
orderIdeBay's order identifier — used in all order-related API calls
lineItems[].lineItemIdID of each individual line item — you will use this when creating a fulfillment
lineItems[].skuThe SKU of the purchased product
lineItems[].quantityQuantity purchased
buyer.usernameeBay username of the buyer
pricingSummary.totalTotal order amount

Carriers

Before creating a fulfillment, retrieve the list of supported shipping carriers for your marketplace:

GET /api/v2/services/carriers?ecommerce=true

API Reference

Use the id value from the carrier response as the tracking.companyId field when creating a fulfillment. The list is filtered by the store's configured siteId (marketplace), so available carriers vary by region.


Fulfillments

API endpoints

MethodPathDescriptionAPI Reference
GET/api/v2/orders/{orderId}/fulfillmentsList all fulfillments for an orderref
GET/api/v2/orders/{orderId}/fulfillments/{id}Get a single fulfillmentref
POST/api/v2/orders/{orderId}/fulfillmentsCreate a fulfillmentref

Creating a fulfillment

The fulfillment payload uses EcartAPI's normalized format. The fields map to eBay's shipping fulfillment API internally.

POST /api/v2/orders/{orderId}/fulfillments
{
  "fulfillment": {
    "items": [
      { "id": "LINE_ITEM_ID", "quantity": "1" }
    ],
    "shippingDate": "2024-01-15T10:00:00Z",
    "tracking": {
      "number": "1Z999AA10123456784",
      "companyId": "USPS"
    }
  }
}
FieldRequiredNotes
items[].idYesThe lineItemId from the order response
items[].quantityYesQuantity to fulfill (as string)
shippingDateYesISO 8601 format. Defaults to the current timestamp if omitted
tracking.numberYesThe carrier-assigned tracking number
tracking.companyIdYesCarrier code from GET /api/v2/services/carriers?ecommerce=true (id field in the response)

A successful response returns a fulfillmentId which you can use to reference or retrieve the fulfillment later.

Always use a valid tracking.companyId from the carriers endpoint. An invalid carrier code or malformed tracking number returns errorId: 32300 — "Invalid shipment tracking number or carrier".

Partial fulfillments are supported. If an order has multiple line items, you can create separate fulfillments for each one by including only the relevant items entries per request.

Fulfillment flow

1. GET  /api/v2/orders/{orderId}                         — fetch order to get lineItemIds
2. GET  /api/v2/services/carriers?ecommerce=true         — get valid carrier codes for your marketplace
3. POST /api/v2/orders/{orderId}/fulfillments            — create fulfillment with tracking info
4. GET  /api/v2/orders/{orderId}/fulfillments            — verify fulfillment was recorded