Process a Shipment
Learn how to process a shipment
Learn how to process a shipment.
Prerequisites
To complete this tutorial, you need:
- Authorization from the selling partner for whom you are making calls. For more information, refer to Authorizing Selling Partner API applications.
- The shipment ID of the shipment you want to process.
- Approval for the Direct-to-Consumer Shipping (Restricted) role in your developer profile.
- The Direct-to-Consumer Shipping (Restricted) role selected in the App registration page for your application.
Overview
The workflow for processing a shipment is as follows:
| Step | Operation |
|---|---|
| 1. Acknowledge the shipment | processShipment: Go to step 2. |
| 2. Create packages for the shipment | createPackages: Go to step 3. |
| 3. Get shipping options for the shipment | updatePackage: Stay on step 3.retrieveShippingOptions: Go to step 4. |
| 4. Generate and retrieve the shipment's invoice | updatePackage: Go to step 3.generateInvoice: Go to step 5. |
| 5. Generate shipping labels | updatePackage: Go to step 3.retrieveInvoice: Stay on step 5.generateShipLabel: Go to step 6. |
| 6. Mark the order as shipped | retrieveShipLabel: Stay on step 6.updatePackageStatus: Done. |
Step 1. Acknowledge the shipment
Call the processShipment operation with the shipmentId of the shipment you want to process. Set the operation query parameter to CONFIRM to confirm the shipment.
Step 2. Create packages for the shipment
Call the createPackages operation with the shipmentId of the shipment you want to process and the list of packages in the shipment.
Step 3. Get shipping options for the shipment
Call the retrieveShippingOptions operation with the shipmentId of the shipment and packageId of the package to receive a list of shipping options for the package from which the seller can choose. The response to this operation is null for the Seller Flex channel.
Step 4. Generate and retrieve the shipment's invoice
Call the generateInvoice operation to generate the invoice for the shipment. This operation returns as encoded Base64 text that you can decode and convert to PDF to print.
You can call retrieveInvoice with the same parameters you supplied to generateInvoice to retrieve the invoice again.
These operations are not supported for the Easy Ship channel, except in the India marketplace.
Step 4b. Update the package [optional]
After you generate the invoice, you might need to update information about the package, such as IMEI serial number or package dimensions. If you need to update package information, call the updatePackage operation with the shipmentId and packageId of the package, and supply updated package information in the body of the request.
Step 5. Generate shipping labels
Call the generateShipLabels operation with the operation query parameter set to GENERATE to generate shipping labels for the shipment. To retrieve the same shipping labels again, call generateShipLabels again and set operation to GENERATE.
Step 6. Mark the order as shipped
Call the updatePackageStatus operation and set the status value to SHIPPED.
Note
This is an optional step for the Seller Flex and Easy Ship programs in the India, UAE, Turkey, and Saudi Arabia marketplaces. Amazon automatically updates the status to
SHIPPEDafter the shipment is scanned at the logistics partner during order pickup. If the selling partner also marks the order as shipped, they receive a duplicate request exception in case the order is already scanned by the delivery associate.
Updated 27 days ago
