How to confirm MFN Orders using SP-API
This blog demonstrates the methods used to confirm MFN orders using the Selling Partner API
by Leonardo N., Solutions Architect, Selling Partner Developer Services, and Hina V., Sr. Solutions Architect, Selling Partner Developer Services | June 20, 2023
If you're an Amazon Marketplace seller fulfilling orders yourself as a Merchant Fulfilled Seller (MFN), it is crucial to confirm orders and provide tracking information to customers. In this blog, we'll discuss how to confirm MFN orders using the Selling Partner API.
There are two methods to confirm MFN orders using the Selling Partner API:
- The
POST/orders/v0/orders/{orderId}/shipmentConfirmation
operation and - The
POST_ORDER_FULFILLMENT_DATA
orPOST_FLAT_FILE_FULFILLMENT_DATA
feed type.
Choose the method that fits your needs best and start confirming your MFN orders with ease.
Confirm orders using the POST orders shipmentConfirmation
operation
POST orders shipmentConfirmation
operationThe POST /orders/v0/orders/{orderId}/shipmentConfirmation
operation allows you to confirm the shipment of an order by providing the necessary information, such as the carrier name, carrier code, and tracking number.
We recommend that you use the shipmentConfirmation
method for its benefits such as synchronous acknowledgments, enhanced error messaging, and more efficient handling of order confirmations. It outperforms relying solely on feeds that contain only a few orders.
To use this operation, provide the orderId
of the order that you want to confirm shipment for and the shipment information in the request body. The shipment information includes the carrier name, carrier code, and tracking number.
Here's an example of a POST
request body:
POST https://sellingpartnerapi-na.amazon.com/orders/v0/orders/123-1234567-1234567/shipmentConfirmation
{
"marketplaceId": "ATVPDKIKX0DER",
"codCollectionMethod": "",
"packageDetail": {
"packageReferenceId": "123",
"carrierCode": "UPS",
"carrierName": "UPS",
"shippingMethod": "SHIPPING",
"trackingNumber": "1Z86V8030385598957",
"shipDate": "2022-11-30T16:15:30Z",
"shipFromSupplySourceId": "057d3fcc-b750-419f-bbcd-4d340c60c430",
"orderItems":[{
"orderItemId": "60696125413094",
"quantity": 1
}]
}
}
In this example, we're confirming the shipment of an order using UPS as the carrier. We're also providing the shipping method and tracking number.
Once you send the shipment confirmation request, Amazon charges the buyer, credits your seller account, and notifies the buyer that the order is on its way. You can then use the getOrder
operation to check the status of the order and confirm shipping.
Confirm orders using the Order Fulfillment feed type
The POST_ORDER_FULFILLMENT_DATA
feed type method is best for bulk calls. To confirm an order using the POST_ORDER_FULFILLMENT_DATA
feed type, you must end an XML with information about the carrier, shipping method, and tracking number.
Here's an example of what this XML can look like:
<?xml version="1.0" encoding="utf-8"?>
<AmazonEnvelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>MerchantID</MerchantIdentifier>
</Header>
<MessageType>OrderFulfillment</MessageType>
<Message>
<MessageID>1</MessageID>
<OrderFulfillment>
<AmazonOrderID>7XX-XXXXXXX-XXXXXXX</AmazonOrderID>
<FulfillmentDate>2023-01-01T01:01:01+00:00</FulfillmentDate>
<FulfillmentData>
<CarrierCode>USPS</CarrierCode>
<ShippingMethod>USPS First Class Mail</ShippingMethod>
<ShipperTrackingNumber>1234567891011121314</ShipperTrackingNumber>
</FulfillmentData>
</OrderFulfillment>
</Message>
</AmazonEnvelope>
New carriers are constantly being added to the Seller Central UI. If the CarrierCode
value of the carrier you wish to use is not mapped into the amzn-base XSD file, use the CarrierCode
value of Other and provide the carrier name in the CarrierName
field. When you use this method, Amazon will not be able to track package shipping updates.
Include
CarrierCode
andCarrierName
valuesWhen using an unlisted carrier to fulfill orders on Amazon, you must use the
CarrierCode
attribute with the value of Other and provide the carrier name in theCarrierName
field to confirm shipments. Sellers who do not provide this information may experience an increase in their late shipment rate and automatically canceled orders due to unconfirmed shipments.
Once you've created the XML with the necessary information, you can use the POST_ORDER_FULFILLMENT_DATA
feed type to prompt Amazon to notify the buyer that the order is on its way.
Conclusion
This blog walked you through the different methods to confirm MFN Orders using Selling Partner API and how to decide which method is best for your intended purpose. It also explained the importance of checking the required fields in the feed.
For more information, refer to:
Have feedback on this post?
If you have questions or feedback on this post, we'd like to hear from you! Please vote and leave a comment using the tools at the bottom of this page.
Subscribe to updates via RSS feed.
Updated 7 months ago