Manage Amazon Haul, Advanced Multiple-Offer, and Multiple-Fulfillment Use Cases
Implement Amazon Haul, Multiple-Offer, and Multiple-Fulfillment listings workflows.
Listings on Amazon typically contain offer (pricing) details for:
- A single buyer segment (for example, Amazon.com buyers)
- Fulfillment configuration (inventory) for a single fulfillment channel, MFN or FBA
- MFN -- Merchant-fulfilled (
DEFAULT
) - FBA -- Amazon-fulfilled (for example,
AMAZON_NA
)
- MFN -- Merchant-fulfilled (
However, there are advanced selling partner use cases that support Amazon Haul, multiple offers or multiple fulfillment channels for an individual listing. Follow the guidance in this document to support these use cases with:
- Listings Items API
JSON_LISTINGS_FEED
feed type with the Feeds API
Note
While the Listings Items API and
JSON_LISTINGS_FEED
feed type (Feeds API) support multiple offers and multiple fulfillment records, not all selling partner tools do. These are advanced use cases primarily available through APIs with limited (or no) support on Seller Central or other listings tools.
The use cases in this guide are:
- Amazon Haul
- Multiple offers with Amazon Business (B2B)
- Multiple Fulfillment Channels with Default MFN and FBA
- Multiple Fulfillment Channels with MFN Supply Sources
Purchasable offer attributes and audiences
The relationship between a listing and the one-to-many offers on a listing are described by the purchasable_offer
attribute for the listing. The purchasable_offer
attribute is an array that accepts one or more distinct offers, each keyed by the audience
, currency
, and marketplace_id
to which the offer is applicable.
The following example describes a standard Sell on Amazon offer with a regular price and a sale price in the US marketplace:
{
"purchasable_offer":[
{
"audience":"ALL",
"currency":"USD",
"marketplace_id":"ATVPDKIKX0DER",
"our_price":[
{
"schedule":[
{
"value_with_tax":123.00
}
]
}
],
"discounted_price":[
{
"schedule":[
{
"value_with_tax":110.00,
"start_at":"2025-01-01",
"end_at":"2025-01-31"
}
]
}
]
}
]
}
The available audience
values differ by selling partner and marketplace, based on the programs that a selling partner is enrolled in. To retrieve the list of available values for a given selling partner, use the Product Type Definitions API. Include the sellerId
parameter to retrieve JSON schemas that contain the selling partner-specific audience
values and the pricing information that is supported for each audience
value. For example, quantity_discount_plan
information is supported for Amazon Business offers, but is not supported for other offer types.
Common audience values
Audience | Name | Description |
---|---|---|
ALL | Sell on Amazon | Standard offers for buyers on Amazon websites. |
B2B | Amazon Business | Offers that target Amazon Business (B2B) buyers. |
BZR | Low-Cost Store | Offers that target Low-Cost Store buyers, such as Amazon Bazaar in India. |
Fulfillment availability attributes and fulfillment channel codes
The relationship between a listing and the one-to-many fulfillment channels on a listing are described by the fulfillment_availability
attribute for the listing. The fulfillment_availability
attribute is an array that accepts one or more distinct fulfillment records, each keyed by the fulfillment_channel_code
to which the fulfillment record is applicable.
The following example describes a standard MFN fulfillment record with a quantity
, restock_date
, and lead_time_to_ship_max_days
:
{
"fulfillment_availability":[
{
"fulfillment_channel_code":"DEFAULT",
"quantity":10,
"restock_date":"2025-01-01",
"lead_time_to_ship_max_days":5
}
]
}
The available fulfillment_channel_code
values differ by selling partner and marketplace, based on the programs that a selling partner is enrolled in. To retrieve the list of available values for a given selling partner, use the Product Type Definitions API. Include the sellerId
parameter to retrieve JSON schemas that contain the selling partner-specific fulfillment_channel_code
values and the fulfillment information that is supported for each fulfillment_channel_code value
. For example, quantity
information is supported for MFN fulfillment, but not for Fulfillment by Amazon (FBA) fulfillment.
You can use the Supply Sources API to retrieve selling partner-specific fulfillment_channel_codes
for location-specific inventory. For more information, refer to the Multi-Location Inventory Integration Guide.
Common fulfillment channel code values
Audience | Name | Description |
---|---|---|
DEFAULT | MFN | Provide quantity for standard fulfillment by a selling partner. |
AMAZON_NA | FBA (NA Region) | Enable FBA fulfillment in the NA region. |
AMAZON_EU | FBA (EU Region) | Enable FBA fulfillment in the EU region. |
AMAZON_JP | FBA (JP Region) | Enable FBA fulfillment in the JP region. |
Amazon Haul
Amazon Haul is a dedicated shopping experience for Amazon US marketplace that allows customers to shop low-priced, generic fashion, home, and lifestyle products. You can sell your low-priced selection in the product types that are listed in selection that is allowed on the Amazon Haul.
To create an Amazon Haul listing, refer to listing items on Amazon.
While creating a Amazon Haul listings, you must specify the getDefinitionsProductType
operation to return the JSON Schema describing the attributes and constraints for the product type. You must include the sellerId
parameter to retrieve the JSON schema. The schema contains the selling partner-specific is_value_stores_item
attribute and the Value Store (BZR) offer audience
for the Haul-enabled stores. If you are creating listings for the first time, ensure that you set the attribute is_value_store_item
to true
and audience
attribute to BZR
. This ensures that the ASIN is created for the Haul program and offer details are handled correctly.
Note
The following parameters are not supported for Haul listings:
fulfilment_availability
externally_assigned_product_identifier
merchant_suggested_asin
For an example, refer to the following sample code.
{
"purchasable_offer":[
{
"audience":"BZR",
"currency":"USD",
"marketplace_id":"ATVPDKIKX0DER",
"our_price":[
{
"schedule":[
{
"value_with_tax":30.0
}
]
}
]
}
]
}
{
"is_value_stores_item":[
{
"value":true,
"marketplace_id":"ATVPDKIKX0DER"
}
]
}
Multiple offers with B2B
Selling partners who are enrolled in the Amazon Business (B2B) program can create multiple offers on a listing, which creates differential pricing between regular buyers on Amazon websites (such as Amazon.com) and business buyers on Amazon Business websites.
The following example describes a standard offer and a business offer with percent-based quantity discounts for the US marketplace:
{
"purchasable_offer":[
{
"audience":"ALL",
"currency":"USD",
"marketplace_id":"ATVPDKIKX0DER",
"our_price":[
{
"schedule":[
{
"value_with_tax":30.0
}
]
}
]
},
{
"audience":"B2B",
"currency":"USD",
"marketplace_id":"ATVPDKIKX0DER",
"our_price":[
{
"schedule":[
{
"value_with_tax":28.0
}
]
}
],
"quantity_discount_plan":[
{
"schedule":[
{
"discount_type":"percent",
"levels":[
{
"lower_bound":5,
"value":25.0
},
{
"lower_bound":10,
"value":20.0
}
]
}
]
}
]
}
]
}
Note
Using the
patchListingsItem
operation to update an Amazon Business (B2B) offer doesn't affect existing Sell on Amazon offers. When youPATCH
a listing, only the offer record that matches the specifiedaudience
,currency
, andmarketplace_id
is updated.
Multiple fulfillment channels with default MFN and FBA
Selling partners who are enrolled in FBA typically create listings that are MFN or FBA-enabled. Through the SPI-APIs, you can configure both options on a listing. When FBA inventory is available, it is used first. MFN inventory is used after the FBA inventory is depleted.
The following example describes fulfillment records that enable MFN and FBA on a listing:
{
"fulfillment_availability":[
{
"fulfillment_channel_code":"DEFAULT",
"quantity":10,
"restock_date":"2025-01-01",
"lead_time_to_ship_max_days":5
},
{
"fulfillment_channel_code":"AMAZON_NA"
}
]
}
Multiple fulfillment channels with MFN supply sources
Selling partners who are enrolled in multi-location inventory management with the Supply Sources API can submit location-specific inventory information using the Supply Source identifier as the fulfillment_channel_code
.
The following example describes fulfillment records for two supply sources:
{
"fulfillment_availability":[
{
"fulfillment_channel_code":"0cfcbed2-fab2-4777-9fd2-aa83c7f2c25",
"quantity":10
},
{
"fulfillment_channel_code":"47b36dc3-1178-43e8-8c78-881c6038650d",
"quantity":20
}
]
}
Note that you can provide multiple offer records and fulfillment records together in a single PATCH
operation. The following example includes updates for two fulfillment channel codes (DEFAULT
and a Supply Source API location):
{
"productType":"PRODUCT",
"patches":[
{
"op":"replace",
"path":"/attributes/fulfillment_availability",
"value":[
{
"fulfillment_channel_code":"DEFAULT",
"quantity":3
},
{
"fulfillment_channel_code":"0cfcbed2-fab2-4777-9fd2-aa83c7f2c25",
"quantity":7
}
]
}
]
}
For more information, refer to the Multi-Location Inventory Integration Guide.
Updated about 12 hours ago