HomeDocumentationCode SamplesAPI ReferenceAnnouncementsModelsRelease NotesFAQGitHubVideos
Developer HubAPI StatusSupport
Documentation
Developer HubAPI StatusSupport

Vendor Direct Fulfillment Workflow Guide

Integrate and use APIs supporting the Direct Fulfillment Program.

Amazon provides vendors with several APIs for the Direct Fulfillment business program. This guide summarizes the steps you can take to integrate with these Selling Partner APIs (SP-APIs).

Direct Fulfillment integration overview `

The Vendor Direct Fulfillment order workflow.

Integrating with the Direct Fulfillment APIs starts with the vendor pulling the orders for fulfillment using the Vendor Direct Fulfillment Orders API v1, then sending an acknowledgement for the order.

After the order is packed and ready to be shipped, the vendor uses the createShippingLabels operation to print a shipping label, and ships the order. After the order is shipped, a shipment confirmation is sent from the vendor to Amazon.

To release payment for the shipped items, the vendor sends the invoice using the submitInvoice operation.

API versions

Terminology

  • Vendor: Supplies the inventory sold by Amazon on Amazon's retail website.
  • Direct Fulfillment: A Direct Fulfillment vendor ships orders to customers on Amazon's behalf. After a customer makes a purchase from Amazon on Amazon's retail website, the Direct Fulfillment vendor ships the order directly to the customer.
  • Purchase order: A commercial document issued by Amazon to a vendor/supplier, authorizing the purchase of goods or services.
  • Order acknowledgement: When a vendors accepts or rejects a purchase order sent by Amazon for fulfillment.
  • Shipping label: A label provided by Amazon that vendors use when shipping orders directly to customers. The label contains the customer's shipping address, order details, and any special handling instructions provided by Amazon.
  • Shipment confirmation: Shipment confirmation allows Amazon to efficiently track vendor shipments and inform customers. It helps collaborate more effectively with carriers in tracking vendor shipments. It contains information about the items being shipped, including purchase order number, ship date, estimated delivery date, and tracking number.
  • Invoice: A billing document that vendors provide to Amazon for the products they supply. For each purchase order vendors fulfill by shipping products to customers, they generate and submit invoices to Amazon. The invoice typically includes information such as the purchase order number, item details, pricing, taxes and the total amount due.

Prerequisites

To successfully complete the following tutorials, you must:

📘

Note

Direct Fulfillment APIs support dynamic sandbox. Refer to the Vendor Direct Fulfillment Dynamic Sandbox guide and demo video for more details.

Tutorial: Fetch the list of Direct Fulfillment orders to fulfill and acknowledge the orders

Step 1. Retrieve the list of Direct Fulfillment orders to fulfill

Call the getOrders operation to retrieve a list of new Direct Fulfillment purchase orders yet to be fulfilled. Use the parameters createdBefore and createdAfter to get the orders created within last 24 hours. The order status should be NEW to fetch un-acknowledged items.

Code sample

Step 2. Acknowledge the order

Using the submitAcknowledgement operation, acknowledge the orders. The purchase order can be accepted or rejected. Vendors should submit accurate acknowledgements as fast as possible, within at most 24 hours.

Code sample

You must submit a complete acknowledgement, including all purchase order line items in the purchase order. Partial acknowledgements are not accepted.

Step 3. Check order acknowledgement transaction status

Using the getTransactionStatus operation, check the transaction status of the submitAcknowledgment operation.

Code sample

After you acknowledge the order, allow the system up to 15 minutes to show the status.

Tutorial 2: Generate shipping label and submit confirmations

Step 1. Get the shipping label

Get the shipping label for the order by using the createShippingLabel operation. This is a synchronous operation that creates and then returns the shipping labels for a purchase order.

Code sample

You can generate one or more shipping labels for each purchase order. Multiple purchase orders in a single request is not supported.

Step 2. Confirm the shipment

Use the shipmentConfirmations operation to confirm the shipment of a Direct Fulfillment order with the shipping information. Shipment confirmations allow Amazon to collaborate more effectively with carriers in tracking shipments.

Code sample

Step 3. Check shipping confirmation transaction status

Use the getTransactionStatus operation to check the transaction status of the submitShipmentConfirmations operation.

After you submit the shipment confirmation, allow the system to take up to 10 minutes to show the status.

For more information about these APIs, refer to the Vendor Direct Fulfillment Shipping API Use Case Guide.

Tutorial 3. Request payments from Amazon

Step 1. Submit invoices

Using the submitInvoice operation, the vendor sends the invoice to Direct Fulfillment to get payment released for the shipped items.

🚧

Important

Items should be invoiced only after they are confirmed and shipped. Otherwise, the invoice will be rejected, in which case the vendor must review the reason for rejection and submit a new invoice.

Step 2. Check invoice transaction status

Using the getTransactionStatus operation, check the transaction status of the submitInvoice operation. The Transaction Status API shows the status of the semantic validations of the submitted invoices; it doesn't show the actual status of invoice processing.

After you submit the invoice to Amazon, allow 15 minutes for the status to update.

📘

Note

As a supplement to this guide, the SP-API Direct Fulfillment Sample Application provides complete end-to-end code and instructions to build and run the given sample codes using AWS services.