Shipping rules allow operators to set order shipping costs based on delivery addresses and line items (variants), providing buyers with cost-effective and speedy shipping options.
Operators query shipping rules via the GraphQL API, with business logic at their discretion. Implementation requires development effort. If sellers can override operator-defined rules, seller-defined rules must align with the operator's shipping rule implementation.
Configure shipping zones, rates, and profiles before setting up shipping rules as a shipping rule, link a shipping profile with a zone and a rate.
When a customer requests a shipping quote for a line item, the variant's shipping profile combines with the delivery address's shipping zone to determine available shipping rates.
Setting a shipping profile on a variant is optional in Marketplacer. The operator must ensure:
- Product (advert) vetting rejects variants that do not have a shipping profile set.
And/Or
- The shipping rules implementation can accommodate a variant that does not have a shipping profile set.
The different shipping options coexist in Marketplacer. How you use each option is up to you. Learn more about shipping rates.
Notes:
- Shipping rules are only available if the Marketplacer front end is turned off.
- Sellers can assign shipping profiles to variants using
- manual updates to each variant
- modified bulk upload spreadsheet.
- the v2 API.
- Shipping rules are defined by the operator in the operator portal and/or by the seller in the seller portal.
Define shipping rules
Operator-defined shipping rules
The operator can manually create shipping rates, shipping zones, shipping profiles and shipping rules.
The operator can only view seller-created rules and rates by logging into that particular seller’s portal.
Seller-defined shipping rules
Sellers can use the operator-defined rules or they can override the operator-defined shipping rules and create their own.
One obvious use of seller-defined shipping rules is to allow a seller to define same-day and next-day delivery shipping zones and rates based on the location(s) of their warehouses.
You cannot mix operator and seller-defined shipping rules, so the seller has to redefine shipping rates, shipping zones, and shipping rules.
Only the operator can create shipping profiles, so a seller cannot use seller-specific shipping rules until an operator has set up marketplace-wide shipping rules.
Sellers cannot view the rules and rates of other sellers.
Define shipping profiles
Typically, shipping profiles relate to an item’s size and weight, or the delivery timeframe (mainly for fresh food items).
If you are a seller, and your operator uses shipping rules. Talk to them about whether or not shipping profiles are mandatory on variants.
Only the operator can create shipping profiles, so seller-defined shipping rules must use the operator-defined shipping profiles.
For more information, see
Note: In the GraphQL API, shipping profiles are called shipping options. The v2 API calls them shipping profiles.
Examples
- Size:
- Small (0-5Kg)
- Medium (6-10kg)
- Large (11-20kg)
- Extra Large (21kg +)
- Delivery timeframe:
- Morning Delivery (8 AM - 12 PM)
- Afternoon Delivery (12 PM - 5 PM).
Shipping zones
A shipping zone is a named set of postal codes that defines a delivery area. Shipping zones can be created both by operator and seller, but you cannot mix operator and seller shipping zones.
What a zone represents is arbitrary and depends on the business logic implemented by the operator. For example, a shipping zone could be a way to split metropolitan and rural delivery areas, or it could be a way to determine delivery timeframes - same day, next day - depending on distance from the seller.
Shipping zones are created based on CSV files. Each line in the CSV file is counted as one postal code, No interpretation occurs in Marketplacer, and the entries are passed through as is through API. This means that postal codes can be a mix of letters and numbers or anything you like. You can use wildcards (*), or ranges (3000-3099 if your business logic supports this.
We recommend you use a different instance of Marketplacer per country and configure a separate set of shipping zones per instance if you deliver to multiple countries with similar postal code formats (for example, Australia and New Zealand), and if you prefer to implement shipping zones.
See:
Shipping rates
When designing a set of shipping rules (link to <About shipping rules>), you want to have rates defined for all of the shipping choices that can deliver the product type(s) (shipping profiles) to the delivery area(s) (shipping zones).
A shipping rate simply associates a name with a cost. Create as many shipping rates as required.
You can use the rate name to encode how the shipping rate is to be applied, but your API implementation needs to handle that interpretation. This allows you to have shipping rates that are incremental (per item) or flat(per order) rates. The associated shipping rules then apply to a line item (multiple charges per order) and/or to a cart (once per order).
Examples
If you are using a standard marketplace-wide approach:
- ‘Small (0-5kg) Express Metro NSW to VIC’ = $15
- ‘Small (0-5kg) Standard Metro NSW to VIC’ = $10
More than likely, your sellers will want to determine their own rules and rates, depending on the courier they use and services offered. They may also need to define their own shipping zones centred around their warehouse locations.
They may create rates like the below:
- ‘Sample Business - Same Day - Small (0-5kg)’ = $12.50
- ‘Sample Business - 3-5 Days - Small (0-5kg)’ = $5
See:
Use shipping rules
Shipping rules are used in the pre-order stage, once the delivery address is specified. They let you determine the applicable shipping rates for a line item/order based on the:
- Shipping zone(s) for the delivery postal code.
- Shipping profile (option) for the line item (variant).
- Shipping rules containing the zone(s) and profile.
- Shipping rates in the identified rules.
Shipping rules are queried via the GraphQL API. The business logic applied is completely up to the operator, and the implementation requires development effort.
If the operator lets sellers override the operator-defined shipping rules, then the seller-defined rules must be compatible with the operator’s implementation of shipping rules.
Sellers can use the v2 API to add shipping profiles to products.
See:
For information on using the API:
- There is a worked example in the GraphQL API documentation. In this API, shipping profiles are called shipping options.
- You can use the REST v2 API to assign shipping profiles to variants.
Related articles