ShiprocketAPI

Returns (reverse) workflow

A return (reverse shipment) moves a package from the buyer to the seller. Use POST /v1/external/orders/create/return with the same schema as forward creation, but the pickup is the buyer's address and the drop is the seller's.

Payload essentials:

  • order_id — your seller-side return order id.
  • pickup_customer_name, pickup_address, pickup_city, pickup_pincode, pickup_state, pickup_country, pickup_email, pickup_phone — buyer's address (the pickup for a return).
  • shipping_customer_name, shipping_address, shipping_city, shipping_pincode — seller's address (the drop).
  • order_items[] — same shape as forward; the items being returned.
  • order_id_original (optional) — the forward order id this is linked to.
  • weight, length, breadth, height, sub_total, payment_method — required for courier assignment.

After creation, the same courier assignment / AWB / pickup flow applies: POST /courier/assign/awb, POST /courier/generate/pickup, and GET /courier/track/awb/{awb} to follow the return.

Return label

POST /v1/external/courier/generate/label with the return shipment_id produces a return label PDF. Some sellers email this to buyers; others print it and courier it physically to the pickup address.

Tracking a return

Returns share the tracking surface with forward shipments. The shipment_track_activities[] array on GET /courier/track/awb/{awb} shows each scan. Terminal statuses: Delivered (i.e. seller received the return), Lost, or Cancelled.