Order Management API¶
This section familiarizes you with the different types of order fulfilment workflows and their corresponding APIs. Let’s first understand a few basic terminologies around orders:
- Order : An order represents all the products that a customer has ordered in a checkout session. One order can have multiple products which can be fulfilled by different sellers on the marketplace.
- Order Item : An order item represents a particular product in a given order. An order item can have multiple quantities of a product in it.
- Shipment : A shipment is a group of order items that the seller needs to pick, pack and handover together to a logistics partner.

Note
- A single customer order can be splitted into multiple shipments even though all the products are from the same seller.
- A shipment can have multiple order item ids(products) of the same order/customer.
- A shipment cannot have order item ids of multiple orders/customers.
Most of the Flipkart Order Management API interactions happen on the shipment as this is the logical unit that the seller needs to pick, pack and handover together to a logistics partner.
Once the customer places an order on a seller’s listing, Flipkart systems decide on which location (i.e if the seller has the same listing across multiple locations) of the seller this order needs to go basis the fastest delivery time to the customer. Hence, every order is allocated to a seller location and the seller has to fulfil that order via the same location.
Note
- There is no construct of order acceptance via seller i.e if the seller has a positive inventory for a listing on a location and if a customer places the order on that listing then the seller has to fulfil that order via the Flipkart decided location.
- Failing to process orders will lead to seller account/location level actions and the seller will not be allowed to sell on Flipkart for some duration of time.
Once the order is placed by the customer it is assigned to the seller location for the fulfilment. As of now, Flipkart supports two types of order fulfilment workflows via APIs.
- Standard Fulfilment : This is the fulfilment where logistics of order fulfilment is taken care of by Flipkart. The seller has to just pack and handover the products to the Flipkart assigned delivery partner.
- Self Ship Fulfilment : This is the fulfilment order where logistics of order fulfilment is taken care by Seller himself i.e seller packs, dispatches, delivers, and handles post-delivery services of an order on its own.
Complete List of Order Management Pull APIs¶
Format: JSON
Protocol: HTTPS
API | Description / Use Case | Type |
---|---|---|
POST /v3/shipments/filter/ | Search shipments based on dates, state,
seller SKU ID, or shipmentId |
Common |
GET /v3/shipments?shipmentIds={} or, GET /v3/shipments?orderItemIds={} or, GET /v3/shipments?orderIds={} | Get shipment details based on the
shipmentId /orderItemId /orderId |
Common |
POST /v3/shipments/labels | Mark shipments as packed and generate labels | Standard |
GET /v3/shipments/{shipmentIds}/labels | Print shipping labels | Standard |
POST /v3/shipments/{shipmentIds}/labelOnly/pdf | Download labels in PDF format for shipments | Standard |
POST /v3/shipments/{shipmentIds}/labelOnly | Download labels in Byte-Stream for shipments | Standard |
POST /v3/shipments/dispatch | Mark shipments as “Ready to Dispatch” | Standard |
GET /v3/shipments/{shipmentIds} | Get shipment information of shipment ids | Common |
GET /v3/shipments/{shipmentIds}/invoices | Get invoice information of shipment ids | Standard |
POST /v3/shipments/cancel | Cancel an approved shipment | Common |
GET /v3/shipments/{shipmentIds}/forms | Get forms associated with a shipment | Standard |
POST /v3/shipments/forms/updateAck | Update ACK number and process form failed shipment | Standard |
GET /v3/shipments/handover/counts?locationId={location_id} | Get vendor pick up details | Standard |
POST /v3/shipments/manifest | Get manifest based on vendor | Standard |
GET /v3/shipments/otc/{locationId}?requestType={requestType} | Get OTC details | Standard |
GET /v2/returns | Get the details of order items returned | Common |
POST /v3/shipments/selfShip/dispatch | Mark dispatch on Self Ship item | Self Ship |
POST /v3/shipments/selfShip/delivery | Mark Self Ship item as delivered | Self Ship |
POST /v3/shipments/selfShip/deliveryAttempt | Mark delivery attempt on Self Ship item | Self Ship |
POST /v2/services/attempt | Mark service attempt detail | Self Ship |
POST /v2/services/complete | Mark service as completed | Self Ship |
POST /v2/returns/approve | Approve Self Ship returns | Self Ship |
POST /v2/returns/reject | Reject Self Ship returns | Self Ship |
POST /v2/returns/complete | Acknowledge Self Ship RVP returns | Self Ship |
POST /v2/returns/pickup | Mark Self Ship retuns as picked up | Self Ship |
POST /v2/returns/pickupAttempt | Mark pickup attempt on Self Ship returns | Self Ship |
GET /selfship/vendors | Get the list selfShip vendors | Self Ship |
Frequently Asked Questions - FAQ