fbaInbound_generate_shipment_options

The transportation options + delivery windows for ONE placement option: the cheapest `limit` partnered options per shipping mode and, when named, one carrier type.

writeAmazon Seller (SP-API)sp.fulfillmentInbound_2024-03-20

Nothing is selected — the HUMAN picks ONE transportationOptionId per shipment (+ ONE deliveryWindowOptionId for own carrier); then fbaInbound_confirm_plan_options with those ids. 30–60 s. Amazon SP-API · listPlacementOptions · GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions Amazon SP-API · generateTransportationOptions · POST /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions Amazon SP-API · getInboundOperationStatus · GET /inbound/fba/2024-03-20/operations/{operationId} Amazon SP-API · listTransportationOptions · GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions Amazon SP-API · getShipment · GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId} Amazon SP-API · listShipmentBoxes · GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/boxes Amazon SP-API · generateDeliveryWindowOptions · POST /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindowOptions Amazon SP-API · listDeliveryWindowOptions · GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindowOptions 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. Mode A: pass sta_spreadsheet_id and the server fills the picked STA-Options block; mode B: omit it. The answer is a view of Amazon's list (duplicates collapsed, constant fields dropped); data.counts carries Amazon's totals.

Call it

In an AI client (MCP)

tools/call
{
  "name": "fbaInbound_generate_shipment_options",
  "arguments": {
    "store": "myStore-US",
    "plan_id": "<plan_id>",
    "placement_option_id": "<placement_option_id>"
  }
}

From code (Tool API)

curl -X POST https://api.sellersheetai.com/api/v1/tools/fbaInbound_generate_shipment_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>"}'
Early access — the Tool API is open on request, contact us.

Arguments

NameTypeDescription
storerequiredstringthe store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim.
plan_idrequiredstringthe inboundPlanId (from fbaInbound_createInboundPlan or fbaInbound_listInboundPlans).
placement_option_idrequiredstringthe placementOptionId (from fbaInbound_listPlacementOptions).
ship_datestringREQUIRED, YYYY-MM-DD — the ready-to-ship date (sent as readyToShipWindow.start). Amazon marks windows that start before it AVAILABLE: offer only windows starting on or after it (and the delivery-window start date, when given).Default: ""
pallet_infoobjectfreight config for FREIGHT_* modes, sent on every shipment: {freightInformation: {declaredValue: {amount: N, code: 'USD'}, freightClass: 'FC_50'}, pallets: [{dimensions: {length, width, height, unitOfMeasurement: 'IN'|'CM'}, weight: {value, unit: 'LB'|'KG'}, quantity: N, stackability: 'STACKABLE'|'NON_STACKABLE'}]}. freightClass. Allowed: NONE | FC_50 | FC_55 | FC_60 | FC_65 | FC_70 | FC_77_5 | FC_85 | FC_92_5 | FC_100 | FC_110 | FC_125 | FC_150 | FC_175 | FC_200 | FC_250 | FC_300 | FC_400 | FC_500.
limitintegerthe cheapest partnered options per shipping mode per shipment (default 3; 0 = all); own-carrier options are never capped. For a carrier not shown, read fbaInbound_listTransportationOptions.Default: 3
shipping_solutionstringONE carrier type, or empty for both; partnered-only skips the delivery windows unless a quote requires one. Allowed: AMAZON_PARTNERED_CARRIER | USE_YOUR_OWN_CARRIER.Default: ""
shipping_modestringthe Shipping Mode GROUP (the plan's row 9), or empty for every mode; no match → that shipment's full list, and the notification says so. Allowed: SPD | LTL / FTL.Default: ""
sta_spreadsheet_idstringthe plan workbook's spreadsheet id (mode A); omit for mode B.Default: ""

Result

Every tool answers {notification, data, human_action}; data carries:

  • data.placementFee / data.currency — the picked placement's fee.
  • data.shipments — [{shipmentId, warehouseId, destination, status, totals,
  • data.shipments.partnered — [{transportationOptionId, shippingMode, carrierName, carrierCode, cost, currency, preconditions}] cheapest first; ownCarrier: [same, no cost]; deliveryWindows: [{deliveryWindowOptionId, startDate, endDate, availabilityType}] earliest first; deliveryWindowsValidUntil}].
  • data.counts — {partnered, ownCarrier, deliveryWindows} — Amazon's totals.

Params (Amazon schema; listPlacementOptions)

inboundPlanId*: string (max 38 chars)
pageSize: integer (1–20)
paginationToken: string (max 1024 chars)

Params (Amazon schema; generateTransportationOptions)

inboundPlanId*: string (max 38 chars)

Params (Amazon schema; getInboundOperationStatus)

operationId*: string (max 38 chars)

Params (Amazon schema; listTransportationOptions)

inboundPlanId*: string (max 38 chars)
pageSize: integer (1–20)
paginationToken: string (max 1024 chars)
placementOptionId: string (max 38 chars)
shipmentId: string (max 38 chars)

Params (Amazon schema; getShipment)

inboundPlanId*: string (max 38 chars)
shipmentId*: string (max 38 chars)

Params (Amazon schema; listShipmentBoxes)

inboundPlanId*: string (max 38 chars)
… (11 more lines; the Docs link above)

Body (Amazon schema; generateTransportationOptions)

placementOptionId*: string (38–38 chars)
shipmentTransportationConfigurations*: [{contactInformation: {email, name*, phoneNumber*},
  freightInformation: {declaredValue, freightClass}, pallets: [{dimensions, quantity*, stackability,
    weight}], readyToShipWindow*: {start*}, shipmentId* (38–38 chars)}] (min 1)
  shipmentTransportationConfigurations.pallets.dimensions.unitOfMeasurement: IN | CM
  shipmentTransportationConfigurations.pallets.stackability: STACKABLE | NON_STACKABLE
  shipmentTransportationConfigurations.pallets.weight.unit: LB | KG

On this page

Actions

View as Markdown

Ask an assistant

Ask ChatGPTAsk Claude