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
SHIPPED
after 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 about 1 hour ago