HomeDocumentationCode SamplesAPI ReferenceAnnouncementsModelsRelease NotesFAQGitHubVideos
Developer HubAPI StatusSupport
Documentation
Developer HubAPI StatusSupport

Vendor Direct Fulfillment Transaction Status API v1 Use Case Guide

Help vendors in the direct fulfillment (DF) program use the Transaction Status API to manage their direct fulfillment operations.

API Version: v1

What is the Direct Fulfillment Transaction Status API?

Vendors can use this API to check the transaction status of their POST transactions.

The following operation is included:

OperationHTTP MethodPathDescription
getTransactionStatusGET/vendor/directFulfillment/transactions/v1/transactions/{transactionId}Returns the status of the transaction indicated by the specified transactionId.

getTransactionStatus

Vendors can use the getTransactionStatus operation to check the status of a POST transaction. When a request is posted to Amazon using certain POST operations in the vendor APIs, such as submitAcknowledgement or submitShipmentConfirmations, for example, a successful response contains a transaction ID that uniquely identifies the transaction. Amazon will process the transaction asynchronously, and the final response will be available via the getTransactionStatus operation.

Refer to the corresponding integration workflow diagram in the other sections of this guide to understand when to call the getTransactionStatus operation to get the transaction status.

Amazon offers the final processed status for POST transactions such as submitAcknowledgement and submitShipmentConfirmations via this API. We highly recommend that vendors check the status using this API to ensure that transactions were processed successfully. If an error occurred you will receive the error details so you can correct the transaction and resubmit it.

Transaction StatusDefinition
ProcessingThe API transaction was received by Amazon is being processed. The processing is not completed yet. Check the SLA for each API operation for the expected time to complete processing.
SuccessThe API transaction was successfully processed by Amazon.
FailureThe API transaction failed during processing. The error details will be provided in the getTransactionStatus response body.

The transaction status is supported for the following Direct Fulfillment APIs:

DescriptionAPI SectionOperation
Acknowledge OrderDirect Fulfillment OrderssubmitAcknowledgement
Submit Shipment ConfirmationsDirect Fulfillment ShippingsubmitShipmentConfirmations
Shipping Label RequestDirect Fulfillment ShippingsubmitShippingLabelRequest
Shipping Status UpdatesDirect Fulfillment ShippingsubmitShipmentStatusUpdates
Inventory UpdateDirect Fulfillment InventorysubmitInventoryUpdate
InvoiceDirect Fulfillment PaymentssubmitInvoice

The transaction status supports only Processing and Failure status codes for now. If the transaction status is Processing and has not been updated to Failure after 30 minutes, that indicates the transaction has successfully processed in our systems. The Success status will be supported in the future.

getTransactionStatus Request

To return the transaction status, call the getTransactionStatus operation and pass the following parameter:

Path parameter:

Name Description Required
transactionId Previously returned in the response to the POST request of a specific transaction.

Type: string

Yes

Request Example:

GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/transactions/v1/transactions/20190904190535-eef8cad8-418e-4ed3-ac72-789e2ee6214a

getTransactionStatus Response

A successful response includes the following:

Name Description Required
transactionId The unique identifier sent in the transactionId field in response to the post request of a specific transaction.

Type: string

Yes
status Current processing status of the transaction.

enum ( Status )

Yes
errors Error code and message for the failed transaction. Only available when transaction status is 'Failure'.

Type: ErrorList

No

Response Example:

{
  "transactionId": "20190918190535-eef8cad8-418e-456f-ac72-789e2ee6813c",
  "status": "Failure",
  "errors": [
    {
      "code": "INVALID_ORDER_ID",
      "message": "Invalid order ID."
    }
  ]
}