In the e-commerce environment, managing order fulfillment efficiently is crucial for merchants. Amazon Vendor Direct Fulfillment offers a powerful solution for vendors looking to manage the shipping process by themselves. Discover how you can make the direct fulfillment process even more efficient by using Amazon’s Direct Fulfillment Shipment APIs.
Table of Contents
What is Amazon Vendor Direct Fulfillment?
Amazon Vendor Direct Fulfillment is a service offered by Amazon to vendors, allowing them to ship products directly to customers on behalf of Amazon. Here’s how it works:
- Order Processing: When a customer places an order on Amazon, instead of shipping from Amazon’s warehouses, the order details are sent to the vendor.
- Vendor Shipment: The vendor is responsible for packing and shipping the product directly to the customer. Amazon provides the shipping labels, and the shipment must follow Amazon’s shipping guidelines.
- Amazon Branding: The shipment appears as if it came from Amazon, with Amazon-branded packing slips and other materials. Amazon handles customer-facing communication, such as order confirmations and delivery updates.
- Billing and Payment: The vendor receives payment from Amazon for the products sold, minus Amazon’s commission and fees.
- Inventory and Costs: Vendors benefit from this model because they don’t have to send their products to Amazon’s warehouses upfront, reducing storage costs and risks of overstock or returns.
This model is ideal for vendors who want to leverage Amazon’s massive customer base but prefer to retain control over their inventory and logistics. It is particularly useful for products with low demand, high storage costs, or large dimensions.
Amazon Direct Fulfillment Shipment API
The Direct Fulfillment Shipping Label API is a key tool for vendors in this process. It allows vendors to request and receive shipping labels for their orders in real time, ensuring smooth shipment processes. As a synchronous API, it delivers data immediately after a label request, providing either the shipping label or an error message right away.
Operations Included in the Synchronous ShipLabel API:
CreateShippingLabelsRequest: This API request enables vendors to request and obtain shipping labels for specific purchase orders. The request uses the purchase order number as an identifier to generate a shipping label.
How It Works
The API provides vendors with detailed information about the shipping label based on the purchase order number. This includes label type, purchase order details, and the shipping method. Below is a simplified workflow diagram of the API integration.
Error Handling
Like any API integration, there are potential errors vendors need to manage. Amazon provides a comprehensive list of error codes and messages to help vendors troubleshoot issues quickly. For instance, errors such as mismatched item quantities, invalid package dimensions, and incorrect shipping methods are common. Each error message includes actionable insights to guide vendors on resolving issues before retrying the transaction.
Common Errors Include:
InvalidInput: [MISMATCHED_ITEM]
Request Rejected: Order quantity does not match the shipped quantity. Ensure that you add the correct quantity of shipped items to packages. For item ${fnSku}, the expected quantity is ${expectedQuantity}, but the provided quantity is ${providedQuantity}.
InvalidInput: [NO_ITEMS_PRESENT]
Request Rejected: Order ID ${shipmentId} has items that are not assigned to any package(s). Please ensure that all items are mapped to the package(s).
InvalidInput: [PACKAGE_DIMENSION_NOT_VALID]
Request Rejected: Order ID ${shipmentId} has invalid dimensions for the package(s). Please add valid dimensions for your package(s).
InvalidInput: [PACKAGE_WEIGHT_NOT_VALID]
Request Rejected: Order ID ${shipmentId} has invalid weight for the package(s). Please add valid weight for your package(s).
InvalidInput: [PIECE_NUMBER_ONE_NOT_PROVIDED]
The container sequence number ‘1’ is not provided for at least one item. Check if the container sequence number is missing.
InvalidInput: [INCONSISTENT_PIECE_NUMBER_QUANTITY]
The container sequence number of at least one item is either not consistent or incompatible with the item quantity. Verify that the container sequence number is correct and that the quantity of each item matches the item sequence number.
InvalidInput: [INVALID_VENDOR_CODE]
Invalid vendor code ${vendorCode}. Verify that the vendor code is correct for the order.
InvalidInput: [INVALID_ORDER_ID_WAREHOUSE_COMBINATION]
Shipping Label Rejected: Order ID ${shipmentId} does not belong to warehouse ${warehouseCode}. Please verify that the warehouse code and Order ID are correct.
InvalidInput: [INCORRECT_VENDOR_GROUP_ID]
Invalid vendor group ID ${vendorGroupId}. Verify that the vendor group ID is correct for the order.
InvalidInput: [DUPLICATE_VENDOR_PACKAGE_ID]
Duplicate VendorPackageIds. Please correct the duplicate container identifiers and try again.
InvalidInput: [EMPTY_VENDOR_PACKAGE_ID]
Invalid VendorPackageIds. Please fix the invalid container identifiers and try again.
InvalidInput: [SHIP_METHOD_NOT_SUPPORTED]
${ship_method} is not supported. Use your existing setup to generate the label for ${ship_method}.
InvalidInput: [SHIP_METHOD_CHANGED]
The ship method for this Purchase Order has changed from ${old_ship_method} to ${ship_method}. Use your existing setup to generate the label for ${ship_method}.
InvalidInput: [INCONSISTENT_SHIP_METHODS]
Request Rejected: Different ship methods are assigned across different packages. Try to ship all items in a single box. If that is not possible, please contact Amazon.
ConflictError: [SHIPMENT_NOT_MUTABLE]
Request Rejected: Package dimensions for Order ID ${shipmentId} cannot be updated with the current status. No further action is required.
ConflictError: [ORDER_SHIPPED_WITH_VENDOR_LABEL]
You have already shipped the order with a carrier other than Amazon Transportation, therefore you cannot print the label for this order. No action is required as the order is already confirmed as shipped.
InternalFailure
We encountered an internal error. Please try again.
Data Types in ShippingLabelRequest
The ShippingLabelRequest is a structured request requiring specific data types to ensure seamless operation. The critical fields include:
purchaseOrderNumber: The unique identifier for the order.
sellingParty: The vendor’s ID.
shipFromParty: The warehouse code from which the order is shipped.
labelFormat: The required label format (PNG or ZPL).
labelData: Details of the shipment, including tracking information and shipping method.
For complete information regarding all data types in ShippingLabelRequest, check out Amazon’s complete API documentation.
The Impact of Amazon Vendor Direct Fulfillment
Amazon’s Direct Fulfillment service bridges the gap between vendor autonomy and the vast logistics capabilities of Amazon. Merchants using this service can maintain control over their inventory while benefiting from Amazon’s robust delivery network. This leads to reduced costs, improved customer satisfaction, and the flexibility to adapt to changing market demands.
By leveraging this service, vendors can optimize their operations and maintain a competitive edge in today’s e-commerce market.
To implement this solution for your operations, contact us and explore how APPSeCONNECT seamlessly integrates Shipping Label APIs for efficient direct fulfillment.