Marketplaces / Amazon SP API - Technical Scope / Amazon SP API - Vendor Technical Scope / Amazon SP API Vendor Procurement / Amazon Vendor Procurem...

Amazon Vendor Procurement Order Acknowledgement

Summary of Changes: (The purpose of this table is to keep traceability and Product team to highlight the things that were changed into the scope, based on comments or discussions)

Version Date Created / Updated Notes
v1.0 09.02.2024 Bogomil Pavlov First publish
v1.1 10.06.2024 Bogomil Pavlov Change limit
v1.2 07.04.2025 Bogomil Pavlov Add itemSequenceNumber
v1.3 02.05.2025 Bogomil Pavlov Mapping Changes

The Vendor have the option to either accept or reject order items before shipping the order. Thus in order to give the Hemi user the flexibility and have full control over the Order Acknowledgement we want to automate the flow and may have different setup based on the user needs and requirements. We will have automatic and manual acceptance. After each order acknowledgement we will store a feed in Hemi which afterwards will need to be read in order to keep track of the acknowledgement status.

All validations, triggers and standardizations which are are as per

Order General Acknowledgement

Order management general requirements

Orders Acknowledgement

With the introduction of the new Order Acknowledgement model we want to incorporate it within the Amazon Vendor integration. Thus in Account Amazon we want to introduce a new field which will indicate if we want to automatically accept the whole order or manually accept it.

The main trigger for the order acknowledgement will be Order Acknowledgement > Status = Pending and Order > Status = “Awaiting Acknowledge” however based on the flow we will have:

#1 Automatic Acceptance We acknowledge all order items as Accepted and with the actual order download we will add the Order Acknowledgement details.

#2 Manual Acceptance When we have manual acceptance the trigger will be the actual user when from the Acknowledgment modal create the Order Acknowledgement .

Please keep in mind if we have bundle skus we want to acknowledge only the bundle SKU not the components.

This is asynchronous flow so for every acknowledgement we will have to store a feed in Marketplace Feeds table with the relevant objects from where we will be checking the response afterwards.

API Call: POST /vendor/orders/v1/acknowledgements

Docs: https://developer-docs.amazon.com/sp-api/docs/vendor-orders-api-v1-reference#post-vendorordersv1acknowledgements

<v1.1>We want to push only 1 order in a single request.</v1.1> Sample Request: POST [https://sellingpartnerapi-na.amazon.com/vendor/orders/v1/acknowledgements](https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/orders/v1/acknowledgements) Boby:

{
  "acknowledgements": [
    {
      "purchaseOrderNumber": "L8266355",
      "sellingParty": {
        "partyId": "999US"
      },
      "acknowledgementDate": "2019-07-17T19:17:34.304Z",
      "items": [
        {
          "itemSequenceNumber": "1",
          "amazonProductIdentifier": "ABC123434",
          "vendorProductIdentifier": "028877454078",
          "orderedQuantity": {
            "amount": 10,
            "unitOfMeasure": "Cases",
            "unitSize": "5"
          },
          "netCost": {
            "currencyCode": "USD",
            "amount": 10.2
          },
          "itemAcknowledgements": [
            {
              "acknowledgementCode": "Accepted",
              "acknowledgedQuantity": {
                "amount": 10,
                "unitOfMeasure": "Cases",
                "unitSize": "5"
              },
              "scheduledShipDate": "2019-07-17T19:17:34.304Z"
            }
          ]
        }
      ]
    }
  ]
}

Request Mapping: Please note everything with Hemi Field = N/A we exclude from the payload.

Amazon Field Required Hemi Field Comment
acknowledgements
purchaseOrderNumber Yes Order > Marketplace Order Id
sellingParty
partyId Yes Order Amazon > Purchase Order Selling Party New field under new tab “Amazon Vendor”
acknowledgementDate Yes Current Date ISO-8601
items
itemSequenceNumber <v1.2>Yes We need to count the number of items starting from 1 and incrementing the number with each item.
Please note each Product In Order > Id are different numbers.</v1.2>
amazonProductIdentifier No Product In Order > Channel Item ID Based on the id in Order Acknowledgement Rows > Order Item Id we need to map the correct product.
vendorProductIdentifier Yes <v1.3>Product In Order > Item Transaction ID</v1.3> Based on the id in Order Acknowledgement Rows > Order Item Id we need to map the correct product.
orderedQuantity
amount Yes Product In Order > Quantity
unitOfMeasure No N/A
unitSize No N/A
netCost
currencyCode No Order > Order Currency
amount No Product In Order > Item Price
itemAcknowledgements
acknowledgementCode Yes Based on the setup in Account Amazon we will have different approaches AcceptedVendor accepts to fulfill the order item(s). Rejected Vendor rejects to fulfill the order item(s).

``Please note we will have separate nodes for each code | | | | | acknowledgedQuantity | | | | | | | | | | amount | Yes | Order Acknowledgement Row Line > Action | Based on the Order Acknowledgement Row Line > Action we will know hoy many quantity we have either for accept or reject by counting the lines. | | | | | | unitOfMeasure | No | N/A | | | | | | | unitSize | No | N/A | | | | | | scheduledShipDate | | | N/A | |

Sample Response: Status 200

{
    "payload": {
        "transactionId": "fd621aac-8dab-4885-b38e-21143679942e-20250409091213"
    }
}

Response Mapping:

Amazon Field Hemi Field Comment
transactionId Marketplace Feed > External ID
Marketplace Feed > Type Hardcoded as “Order Acknowledgment”
Marketplace Feed >Status “Processing”
Marketplace Feed >Submitted Date Current Date
Marketplace Feed >Sent Objects Count Number of orders sent

Once we read the response using the Get Transaction Status If we receive success we want to set: Order > Status > Ready For Shipping Then we update the Order Acknowledgment fields as per Order Acknowledgement Functional Details

If we receive error we want to set: Order Acknowledgement > Status = Error Store the relevant error message in Order Error table

Limits:

Rate (requests per second) Burst
10 10
Is this article helpful?
0 0 0