fbaInbound_confirm_plan_options
Confirm the human's placement option and, per shipment, the transport option (+ delivery window) in one call — after the human approved them from fbaInbound_generate_shipment_optio
destructiveAmazon Seller (SP-API)sp.fulfillmentInbound_2024-03-20
ns. Amazon SP-API · listPlacementOptions · GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions Amazon SP-API · confirmPlacementOption · POST /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions/{placementOptionId}/confirmation Amazon SP-API · getInboundOperationStatus · GET /inbound/fba/2024-03-20/operations/{operationId} Amazon SP-API · confirmDeliveryWindowOptions · POST /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindowOptions/{deliveryWindowOptionId}/confirmation Amazon SP-API · confirmTransportationOptions · POST /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions/confirmation Amazon SP-API · getShipment · GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId} Amazon SP-API · listTransportationOptions · GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions Amazon SP-API · listDeliveryWindowOptions · GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindowOptions Gate: commit, choice, fee-bearing — interactive: restate the option and the amount, wait for a typed CONFIRM; autopilot: only within the seller's instruction, named rule (one option, no tie) and stated limits; otherwise ask. Mode A (plan workbook): pass sta_spreadsheet_id and the server writes the chosen options (as the dropdown texts), FBA ID, Reference ID, Warehouse ID and Status into the picked STA-Options block — the sidebar's Confirm on that tab. Mode B: omit it. Server chains confirmPlacementOption → confirmDeliveryWindowOptions (only for entries that carry deliveryWindowOptionId) → confirmTransportationOptions, polling each operation to SUCCESS. All option ids are 38 chars except deliveryWindowOptionId (36-38).
Call it
In an AI client (MCP)
{
"name": "fbaInbound_confirm_plan_options",
"arguments": {
"store": "myStore-US",
"plan_id": "<plan_id>",
"placement_option_id": "<placement_option_id>",
"shipment_confirmations": []
}
}From code (Tool API)
curl -X POST https://api.sellersheetai.com/api/v1/tools/fbaInbound_confirm_plan_options \
-H "Authorization: Bearer $SELLERSHEET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"store":"myStore-US","plan_id":"<plan_id>","placement_option_id":"<placement_option_id>","shipment_confirmations":[]}'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. |
plan_idrequired | string | the inboundPlanId (from fbaInbound_createInboundPlan or fbaInbound_listInboundPlans). |
placement_option_idrequired | string | the placementOptionId (from fbaInbound_listPlacementOptions). One already ACCEPTED — after fbaInbound_confirmPlacementOption, or a first run whose transport step failed — is not confirmed again; the shipment steps run. |
shipment_confirmationsrequired | object[] | one entry per shipment in the placement option: [{shipmentId (38 chars), transportOptionId (38 chars; sent as Amazon's transportationOptionId), deliveryWindowOptionId, contactInformation}]. deliveryWindowOptionId — required when the chosen transport option's preconditions ask for a confirmed delivery window (own-carrier options do). contactInformation — {name ≤50, phoneNumber ≤20, email?}, REQUIRED for Amazon-partnered (PCP) options (Amazon: "does not support confirming PCP options without contact info"). |
sta_spreadsheet_id | string | the plan workbook's spreadsheet id (mode A); omit for mode B.Default: "" |
Result
Every tool answers {notification, data, human_action}; data carries:
data.confirmedShipments— [{shipmentId, shipmentConfirmationId, fbaId, referenceId, warehouseId, status}]data.placementOptionId— the confirmed option.
Workflow
- 1. Read the human's placement pick (mode A: the "2." chip's row-6 cell — the id is the text before the first space; mode B: the handover file) and, per shipment, their transport choice (+ window) from fbaInbound_generate_shipment_options. 2. Call this tool. 3. Record data.confirmedShipments as the fba-inbound skill describes (row 12, the "4." chip, Manage Shipments, _state); shipmentConfirmationId feeds fbaInbound_get_labels.
Params (Amazon schema; listPlacementOptions)
inboundPlanId*: string (max 38 chars)
pageSize: integer (1–20)
paginationToken: string (max 1024 chars)Params (Amazon schema; confirmPlacementOption)
inboundPlanId*: string (max 38 chars)
placementOptionId*: string (max 38 chars)Params (Amazon schema; getInboundOperationStatus)
operationId*: string (max 38 chars)Params (Amazon schema; confirmDeliveryWindowOptions)
inboundPlanId*: string (max 38 chars)
shipmentId*: string (max 38 chars)
deliveryWindowOptionId*: string (max 38 chars)Params (Amazon schema; confirmTransportationOptions)
inboundPlanId*: string (max 38 chars)Params (Amazon schema; getShipment)
inboundPlanId*: string (max 38 chars)
shipmentId*: string (max 38 chars)Params (Amazon schema; listTransportationOptions)
… (10 more lines; the Docs link above)Body (Amazon schema; confirmTransportationOptions): {transportationSelections
[TransportationSelection]} (min 1), each item:
contactInformation: {email (max 1024 chars), name* (max 50 chars), phoneNumber* (max 20 chars)}
shipmentId*: string (38–38 chars)
transportationOptionId*: string (38–38 chars)