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)
{
"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>"}'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). |
ship_date | string | REQUIRED, 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_info | object | freight 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. |
limit | integer | the 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_solution | string | ONE 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_mode | string | the 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_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.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