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 synchronous 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.

📘

Note

You must acknowledge an order before you submit a shipping label request.

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

API versions

To learn more about the terms that are used on this page, refer to Terminology.

Prerequisites

To 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

You must provide an order acknowledgment code for all line items in order for Amazon to update the order status.

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. You can also confirm the purchase order through Electronic Data Exchange (EDI) or Vendor Central.

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.

Partial shipping label requests are rejected. Direct fulfillment does not allow partial fulfillment. Use one shipping label request for all the items in the order, even if the items cannot fit in one box. You must cancel the entire order if size or weight limits prevent single-label shipping.

Code sample

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

📘

Note

You can discard the shipping label if you no longer require it (for example, if you need to re-pack). You can submit a new shipping label request and call the getShippingLabel operation to retrieve the new label. In general, however, try to avoid discarding labels. Discarding labels can result in carrier pick-up issues and might negatively impact your metrics.

Step 2. Confirm the shipment

Use the submitShipmentConfirmations 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.