---
title: "Retrieving custom shipping options"
slug: "retrieving-custom-shipping-options"
tags: ["Easypost", "integration", "shipping", "international shipping", "delivery", "platform", "routing", "api", "webhook"]
updated: 2026-04-01T16:01:03Z
published: 2026-04-01T16:01:03Z
canonical: "docs.newstore.com/retrieving-custom-shipping-options"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.newstore.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieving custom shipping options

If configured for your business, you can create a custom shipping solution for orders that need custom shipping options. For example, products that need custom shipping based on their weight, dimensions, and price, or orders shipped to a PO Box address. For help with enabling custom shipping options, contact the [support team](https://help.newstore.com).

Before you begin, ensure that:

- Your shipping providers and provider rates are configured in NewStore Omnichannel Cloud. For help with this, contact the [support team](https://help.newstore.com).
- All provider rates are added to your [fulfillment configuration](/v1/docs/tutorial-setting-up-a-fulfillment-configuration). For more information on how to define them, see [Provider rates](/v1/docs/tutorial-setting-up-a-fulfillment-configuration#provider-rates).

> [!TIP]
> Note
> 
> If you are using the legacy [fulfillment configuration](https://docs.newstore.net/api/integration/order-management/newstore_ff_config_api#operation/add-or-update-fulfillment-configuration), define your provider rates via [Provider rates](/v1/docs/tutorial-setting-up-a-fulfillment-configuration-legacy-method#provider-rates). The legacy fullfillment configuration will be sunset by March 31, 2027. Consider migrating to the new fulfillment configuration using this [migration guide](/v1/docs/migrating-from-the-legacy-fulfillment-configuration-to-the-new-fulfillment-configuration).
- Your shipping providers are integrated. See [Integrating a shipping provider](/v1/docs/integrating-a-shipping-provider#integ-shipment).

To retrieve custom shipping options:

1. To retrieve custom shipping options for orders, develop an **adapter** that implements the [Shipping Options webhooks](https://docs.newstore.net/api/webhooks/delivery_options_hook). To request custom shipping options for an order, NewStore Omnichannel Cloud must call the [Get customized provider rates](https://docs.newstore.net/api/webhooks/delivery_options_hook#operation/get_customized_provider_rates_for_an_order) method on your adapter. In the response, send only those provider rates that can be offered for the cart.
2. To request shipping options for the returned provider rate, NewStore Omnichannel Cloud must call the [Request shipping offers](https://docs.newstore.net/api/webhooks/delivery_hook#operation/request-shipping-offers) on your shipping provider adapter. For example, if you work with multiple providers with EasyPost, NewStore Omnichannel Cloud calls your EasyPost adapter for shipping options. See [Integrating a shipping provider](/v1/docs/integrating-a-shipping-provider#integ-shipment).

## Retrieving shipping options for PO Boxes

> [!TIP]
> Note
> 
> Ensure that your adapter returns only those provider rates that can deliver to PO Boxes. For example, if you use `USPS_POBox` to deliver only to a PO Box in the US, when NewStore Omnichannel Cloud calls your adapter with a PO BOX in the address, return only `USPS_POBox`. If the address does not contain a PO Box, exclude `USPS` in your response.

Here's how the integration works:

## Retrieving custom shipping options for products

- Ensure that products are imported with weight, dimensions, and price information.
- Ensure that your adapter defines specific provider rates for products that need custom shipping options. For example, if your integrated shipping provider supports provider rates `FedExGround` and `FedExNextDayAir`. Your business offers `FedExNextDayAir` only if the product price is more than `100USD`. When NewStore calls your adapter, include only `FedExNextDayAir` as the provider rate in the response.

:::

## Retrieving custom shipping prices for orders

For non-standard orders that need you to offer customized shipping prices, you can set up a custom shipping adapter. NewStore calls the custom shipping adapter using the [Get customized provider rates](https://docs.newstore.net/api/webhooks/delivery_options_hook#operation/get_customized_provider_rates_for_an_order) method to retrieve the shipping price to use.

> [!TIP]
> Note
> 
> Ensure that products are imported with weight, dimensions, and price information.

> [!NOTE]
> Important
> 
> NewStore uses a shipping offer price based on the value of the `use_as_customer_facing_cost` flag in the [fulfillment configuration](/v1/docs/tutorial-setting-up-a-fulfillment-configuration-legacy-method#provider-rates) only if:
> 
> - You have not set up a custom shipping adapter.
> - The price `source` is not configured in your custom shipping adapter.

The price `source` property in your custom shipping adapter tells NewStore which shipping price needs to be used for these custom orders. You can use one of these values for the price `source` property:

- `customization_provider`: Use this value when you want to use a shipping price that overrides:

See the response schema for the [Get customized provider rates](https://docs.newstore.net/api/webhooks/delivery_options_hook#operation/get_customized_provider_rates_for_an_order) method.

For example, you can use a specific price of 50 USD for the provider rate in the custom shipping adapter. NewStore uses this price and ignores any other prices configured in your fulfillment configuration or returned by your shipping provider.
  - The price configured for the service level in the fulfillment configuration.
  - The price returned by the shipping provider.

- `service_level`: Use this value if you want NewStore to:

In this example, the shipping offer price for the service level configured in your fulfillment configuration is 100 USD. NewStore displays this price to the customer, and ignores the prices returned by the shipping provider. See [Tutorial: Setting up a fulfillment configuration (v2)](/v1/docs/tutorial-setting-up-a-fulfillment-configuration) or, if you are using the legacy fulfillment configuration, the [Tutorial: Setting up a fulfillment configuration (Legacy method)](/v1/docs/tutorial-setting-up-a-fulfillment-configuration-legacy-method#tutorial_fulfillment-config).
  - Use the price configured for the service level in your fulfillment configuration.
  - Ignore the price returned by the shipping provider.
- `shipping_provider`: Use this value if you want NewStore to:

In this example, the price returned by the shipping provider is 70 USD. NewStore displays this price to the customer, and ignores the price configured for the service level in your fulfillment configuration. See [Integrating a shipping provider](/v1/docs/integrating-a-shipping-provider#integ-shipment).
  - Use the shipping offer price returned by the shipping provider configured for your business.
  - Ignore the price configured for the service level in your fulfillment configuration.

For NewStore to use the correct custom shipping price, ensure that your custom shipping adapter defines the price `source` for products that need custom shipping options. When NewStore calls the adapter, it should return the specific shipping offer prices for provider rates.

For example, if your integrated shipping provider supports a specific price for provider rate `FedExGround`, ensure that this price is configured in the custom shipping adapter. If your business uses the price configured in your fulfillment configuration for provider rate `FedExNextDayAir`, set the price `source` property to use that price.

> [!TIP]
> Note
> 
> If the order is split into multiple shipments, NewStore uses a [customized shipping price](/docs/configuring-shipping-settings#customizing-the-shipping-price-for-split-orders).

**Related topics**

- [Integrating a shipping provider](/v1/docs/integrating-a-shipping-provider#integ-shipment)
- [Shipping](/v1/docs/getting-started-with-the-newstore-platform#shipping)
- [Tutorial: Setting up a fulfillment configuration (v2)](/v1/docs/tutorial-setting-up-a-fulfillment-configuration)
- [Tutorial: Setting up a fulfillment configuration (Legacy method)](/v1/docs/tutorial-setting-up-a-fulfillment-configuration-legacy-method#tutorial_fulfillment-config)
