Vendor Direct Fulfillment Transaction Status API v2021-12-28 Use Case Guide
Programmatic access to a direct fulfillment (DF) vendor's transaction status.
API Version: 2021-12-28
What is the Direct Fulfillment Transaction Status API?
Use this API to check the transaction status of your POST transactions.
The following operation is included:
Operation | HTTP method | Path | Description |
---|---|---|---|
getTransactionStatus | GET | /vendor/directFulfillment/transactions/2021-12-28/transactions/{transactionId} | Returns the status of the transaction indicated by the specified transactionId . |
getTransactionStatus
Use the getTransactionStatus
operation to check the status of a POST transaction. The response to certain Vendor API POST operations, such as submitAcknowledgement
or submitShipmentConfirmations
, contain a transaction ID that uniquely identifies the transaction. Amazon processes the transaction asynchronously, and you can query the transaction ID with the getTransactionStatus
operation to retrieve the final processed status.
You can use the getTransactionStatus
operation to check if transactions are successful. If unsuccessful, the response returns an error with details for correcting the transaction.
Transaction status | Definition |
---|---|
Failure | Transaction has failed. |
Processing | Transaction is in process. |
Success | Transaction has completed successfully. |
The transaction status is supported for the following Direct Fulfillment APIs:
Description | API section | Operation |
---|---|---|
Acknowledge order | Direct Fulfillment Orders | submitAcknowledgement |
Submit shipment confirmations | Direct Fulfillment Shipping | submitShipmentConfirmations |
Shipping label request | Direct Fulfillment Shipping | submitShippingLabelRequest |
Shipping status updates | Direct Fulfillment Shipping | submitShipmentStatusUpdates |
Inventory update | Direct Fulfillment Inventory | submitInventoryUpdate |
If the transaction status is Processing
for more than 15 minutes, then the transaction did not complete. If the transaction is successful, a Success
status is returned. If unsuccessful, a Failure
status is returned.
Invoice messages are not supported with getTransactionStatus
. If you include them in your request, the status remains as Processing
. If you have a payment-related query that pertains to a status that has not changed in more than 24 hours, go to Vendor Central, select Contact Us, and select the relevant queue. Before opening a case, ensure that you have correctly formatted the data for submission.
If a shipping label request for a transaction fails with Internal server error
, you can go to Vendor Central and select Contact Us to initiate an investigation into the cause of the failure. This generally happens due to operational constraints. For data related failures, correct the data and resubmit the payload to get the order fulfilled.
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/2021-12-28/transactions/20190904190535-eef8cad8-418e-4ed3-ac72-789e2ee6214a
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.",
"details": "Please verify that the order ID is correct."
}
]
}
List of errors
The following table contains a list of error codes for each message type. Use these error codes in your system to design a failure handling mechanism. Each error code has a message that explains the error and how to resolve it.
Code | Message | Details | Message type |
---|---|---|---|
INVALID_ORDER_ID | Invalid order ID. | Please verify that the order ID is correct. | Acknowledgment |
ACK_ALREADY_PROCESSED | Order confirmation already received for {orderId } | No further action required. | Acknowledgment |
INTERNAL_SERVER_ERROR | Internal error. Please try again. | — | Acknowledgment |
SHIP_METHOD_NOT_SUPPORTED | {ship_method } not supported by this channel | Please get label for {ship_method }, using your existing setup. | ShipLabel |
SHIP_METHOD_CHANGED | Ship method for this PO has changed from {old_ship_method } to {ship_method }. | Please get the label for {ship_method }, using your existing setup. | ShipLabel |
INVALID_DIMENSION_UNIT | Request Rejected: Order ID {shipmentId } has invalid units of measure for the package(s) dimension. | Please ensure package dimensions are IN or CM | ShipLabel |
INVALID_PACKAGE_ID | Total {count } Invalid or Duplicate VendorPackageIds . | Please fix the Invalid or Duplicate VendorPackageIds and try again. | ShipLabel |
INVALID_ORDER_ID_WAREHOUSE_COMBINATION | ShippingLabel Rejected: Order ID {shipmentId } doesn't belong to warehouse {warehouseCode }. | Please send valid order ID and warehouse code | ShipLabel |
INVALID_ORDER_STATUS | Request Rejected: Order {shipmentId } has been canceled. | Order can't be shipped because it's in canceled status, please don't try to print label(s) again. If you think this order status is wrong, please contact us. | ShipLabel |
INVALID_WAREHOUSE_CODE | ShippingLabel Rejected: Invalid warehouse code {warehouseCode }. | Please make sure to send a valid warehouse code | ShipLabel |
SHIPMENT_NOT_MUTABLE | Request Rejected : Package dimensions for Order ID {shipmentId } can't be updated with current status. | No further action required. | ShipLabel |
NO_ITEMS_PRESENT | Request Rejected: Order ID {shipmentId } has items not assigned to any package(s). | Please make sure all items are map to the package(s). | ShipLabel |
PACKAGE_DIMENSION_NOT_VALID | Request Rejected: Order ID {shipmentId } has invalid dimension for the package(s). | Please add valid dimensions for your package(s). | ShipLabel |
PACKAGE_WEIGHT_NOT_VALID | Request Rejected: Order ID {shipmentId } has invalid weight for the package(s). | Please add valid weight for your package(s). | ShipLabel |
NO_SHIP_METHOD_ASSIGNABLE | Request Rejected: At this time no ship-method can be assigned to Order ID {shipmentId }. | Unable to assign ship-method. Please check your package dimensions and weight are accurate and print the label closer to the expected shipDate. | ShipLabel |
INCONSISTENT_SHIP_METHODS | Request Rejected: Different ship methods assigned across different package(s). | Please try to ship all the items in a single box, if its not possible please contact us. | ShipLabel |
INTERNAL_NON_RETRYABLE_FAILURE | Request Rejected: We have encounter an issue while processing your request. | Please contact us. | ShipLabel |
INTERNAL_RETRYABLE_FAILURE | Request Rejected: We have encounter an issue while processing your request. | Please try again in few minutes. Please try again. And if issue persist please contact us. | ShipLabel |
EMPTY_PACKAGES | ASN Alert! Order ID {shipmentId } has empty packages. | For future shipments, ensure your order has package(s). | Shipment |
EMPTY_ITEMS | ASN Alert! Order ID {shipmentId } has empty items. | For future shipments, please ensure you add items to your ASN. | Shipment |
INTERNAL_FAILURE | Internal error. Please try again. | Internal error. Please try again. | Shipment |
NO_SHIP_METHOD | ASN Rejected! No shipmethod found for package(s) {packageIds }. | Please add your shipmethod and try again. | Shipment |
SHIPMENT_UNSHIPPABLE | ASN Rejected: Order ID {shipmentId } has no tracking-id or it has not processed the prerequisite documents (such as the label and p-slip). | Please ensure all the pre-requisite documents (such as the label and p-slip) are processed and a valid tracking id is provided. | Shipment |
SHIPMENT_IMMUTABLE | ASN Rejected! Shipment status does not allow to update shipment. | No further action required. | Shipment |
NOT_ALL_ITEMS_PRESENT | ASN Rejected: Order ID {shipmentId } has shipped quantity in packages that does not match the order quantity, and some items might not have a assigned package. | Please add items to packages with correct shipped quantity.For items - {fnSku }, the expected quantity is {expectedQuantity } but the provided quantity is {providedQuantity }. | Shipment |
NO_ITEMS_PRESENT | ASN Rejected: Order ID {shipmentId } has items not assigned to any package(s). | Please add items to packages. | Shipment |
DIMENSION_OR_WEIGHT_NOT_VALID | ASN Rejected: Order ID {shipmentId } has negative or zero weight package(s). | ASN Rejected: Order ID {shipmentId } has negative or zero weight package(s). | Shipment |
SHIP_METHOD_UNASSIGNABLE | ASN Rejected: Order ID {shipmentId } has ship-method that cannot be processed for the package(s). | Unable to process ship-method. Please check your package dimensions, weight and ship-method. | Shipment |
INVALID_MESSAGE_PAYLOAD | Invalid input field {fieldName }. | — | Shipment |
VOC_NO_CARRIER_DETAILS | ASN Rejected! For orderId: {shipmentId }, Carrier details are not present for package {packageId }. | Please add carrier or SCACCode and try again. | Shipment |
WEIGHT_NOT_PRESENT_FOR_PACKAGE | ASN rejected! For Order {shipmentId }. No Package weight present for package {packageId }. | Please add weight and try again. | Shipment |
INVALID_TRACKING_ID | ASN Rejected: Invalid tracking id for package {packageId }. | Varies based on carrier and for Amazon Ship label vendors, carrier has to match the one in ship label | Shipment |
INVALID_WAREHOUSE_CODE | ASN Rejected: Invalid warehouse code {warehouseCode }. | Please verify that the warehouse code is correct. | Shipment |
ASN_ALREADY_PROCESSED | ASN already received for {shipmentId }. | No action needed, ASN is already processed. | Shipment |
INVALID_ORDER_ID_WAREHOUSE | ASN Rejected: OrderID {orderId } doesn't belong to warehouse {warehouseCode }. | Please verify that the warehouse code and Order Id are correct. | Shipment |
INTERNAL_SERVER_ERROR | Internal error. Please try again. | Internal error. Please try again. | Shipment |
Updated 3 days ago