vendorOrders_submitAcknowledgement
Acknowledge (accept, backorder or reject) one or more purchase orders.
destructiveAmazon Seller (SP-API)sp.vendorOrders
Blocks until the transaction reaches SUCCESS or FAILURE — no separate polling. Build one acknowledgement per purchaseOrderNumber from vendorOrders_getPurchaseOrder, one item per PO line. Amazon SP-API · submitAcknowledgement · POST /vendor/orders/v1/acknowledgements Amazon SP-API · getTransaction · GET /vendor/transactions/v1/transactions/{transactionId} Gate: approve — interactive: show the change (Amazon's preview first where one exists), wait for an explicit approve; autopilot: only when the seller's own words asked for this change; otherwise ask.
Call it
In an AI client (MCP)
{
"name": "vendorOrders_submitAcknowledgement",
"arguments": {
"store": "myStore-US",
"acknowledgement_payload": {}
}
}From code (Tool API)
curl -X POST https://api.sellersheetai.com/api/v1/tools/vendorOrders_submitAcknowledgement \
-H "Authorization: Bearer $SELLERSHEET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"store":"myStore-US","acknowledgement_payload":{}}'Arguments
| Name | Type | Description |
|---|---|---|
storerequired | string | the store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim. |
acknowledgement_payloadrequired | object | {"acknowledgements": [Acknowledgement, …]}. Per Acknowledgement, required: purchaseOrderNumber (8-char alphanumeric), acknowledgementDate (ISO-8601), sellingParty {partyId (the vendor or warehouse code) required; address: {name, addressLine1, countryCode (2 chars) required; addressLine2, addressLine3, city, county, district, stateOrRegion, postalCode, phone}; taxInfo: {taxRegistrationType VAT | GST, taxRegistrationNumber}}, items: [{itemSequenceNumber (the PO line), amazonProductIdentifier (ASIN) or vendorProductIdentifier (one, so Amazon matches the line), orderedQuantity {amount (non-zero int), unitOfMeasure Cases | Eaches, unitSize} required, netCost (Money {currencyCode ISO-4217, amount as a decimal string, unitOfMeasure POUNDS | OUNCES | GRAMS | KILOGRAMS for items priced by weight}) required — Amazon rejects the file without it; acknowledge at a CORRECTED cost when the PO price is wrong; listPrice (Money), discountMultiplier (decimal string), itemAcknowledgements required: [{acknowledgementCode Accepted | Backordered | Rejected, acknowledgedQuantity {amount, unitOfMeasure, unitSize}, scheduledShipDate, scheduledDeliveryDate (ISO-8601), rejectionReason (required when Rejected: TemporarilyUnavailable | InvalidProductIdentifier | ObsoleteProduct)}]}]. Split a line across codes with several itemAcknowledgements whose amounts sum to orderedQuantity. Full tree: https://developer-docs.amazon.com/sp-api/docs/vendor-orders-api-v1-reference |
Result
Every tool answers {notification, data, human_action}; data carries:
data.transactionId— the Amazon transaction, already final when this returns.data.status— SUCCESS, or Failure with data.errors [{code, message, details}].
Body (Amazon schema; submitAcknowledgement): {acknowledgements: [OrderAcknowledgement]}, each item
purchaseOrderNumber*: string
sellingParty*: {partyId*, address: {name*, addressLine1*, addressLine2, addressLine3, city, county, district, stateOrRegion, postalCode, countryCode*, phone}, taxInfo: {taxRegistrationType*, taxRegistrationNumber*}}
sellingParty.taxInfo.taxRegistrationType: VAT | GST
acknowledgementDate*: string (date-time)
items*: [{itemSequenceNumber, amazonProductIdentifier, vendorProductIdentifier, orderedQuantity*: {amount, unitOfMeasure, unitSize}, netCost: {currencyCode, amount, unitOfMeasure}, listPrice: {currencyCode, amount, unitOfMeasure}, discountMultiplier, itemAcknowledgements*: [{acknowledgementCode*, acknowledgedQuantity*, scheduledShipDate, scheduledDeliveryDate, rejectionReason}]}]
items.orderedQuantity.unitOfMeasure: Cases | Eaches
items.netCost.unitOfMeasure: POUNDS | OUNCES | GRAMS | KILOGRAMS
items.listPrice.unitOfMeasure: POUNDS | OUNCES | GRAMS | KILOGRAMS
items.itemAcknowledgements.acknowledgementCode: Accepted | Backordered | Rejected
items.itemAcknowledgements.acknowledgedQuantity.unitOfMeasure: Cases | Eaches
items.itemAcknowledgements.rejectionReason: TemporarilyUnavailable | InvalidProductIdentifier | ObsoleteProductGotchas
- Backordered is accepted only on a PO line whose isBackOrderAllowed is true (vendorOrders_getPurchaseOrder). An HTTP 502 means Amazon was still Processing after 60 s — the error names the transactionId; check it with vendorTransactionStatus_getTransaction before acknowledging again.