Skip to main content

Fulfillment Configuration API (0.1)

Download OpenAPI specification:Download

Represents a shipping strategy. A fulfillment configuration contains shipping and routing details such as provider rates, service levels, service-level priorities, fulfillment locations and routes, to configure order routing.

Use this resource to create, update, and retrieve fulfillment configurations.

For more information about routing and the terminology, see:

Add or update fulfillment configuration

Adds or updates the fulfillment_config, or fulfillment configuration, used for order routing.

Notice the fulfillment_node_id property in the schema. This property value is set during the first stock import. For a complete example, see Tutorial: Setting up a fulfillment configuration.

Important: If you have migrated to the new fulfillment configuration through the Routing Ruleset API and Service Levels API, this endpoint can only be used to define the provider_rates and provider_rates_priority. Any additional fields (routes, sl_levels_priority, provider_rates_priority) in the fulfillment configuration payload will be ignored.

Note: Ensure that you specify the correct number of decimal places for monetary values of prices, according to the specified currency. For example, if the currency is specified as USD and the price has more than 2 decimal places, it is considered as invalid by the platform. For more information, see pricing dependencies on currency.

Use the routes property to create shipping zones and specify fulfillment locations that can fulfill orders for your business in these zones. The first shipping zone in the list has the highest priority, and the last one in the list has the lowest priority.

Important: Ensure that shipping zones with specific zip codes have higher priority than shipping zones with a wide range of zip codes. For example, if you are fulfilling orders in USA, a shipping zone that fulfills orders to zip codes starting with 10 (10*) must be higher in the list of routes than a shipping zone that fulfills orders to all zip codes in the US (*).

Use the provider_rates_priority property to specify the priority in which the provider rates are used to route orders in your business.

To set up and enable stores for in-store pickup orders, see In-store pickup configuration.

Authorizations:
newStoreAccessToken
Request Body schema: application/json
required
object (Post fulfillment config.)

Schema for adding or updating fulfillment_config which is used for zip code based hard and soft routing.

required
object

The list of supported provider rates. A provider rate identifies an integrated shipping provider and the rate it offers. The key represents the unique identifier of the provider rate and the value contains the specific provider rate definition.

object

Contains a dictionary of rate information to display to the customer. The key represents the identifier of the service level in NewStore and the value contains the specific service level definition.

Array of objects non-empty

An array of routes. Each element in this array defines a configuration for a 'route'. A route specifies how order items can be fulfilled from fulfillment nodes to their destinations.

sl_levels_priority
Array of strings non-empty

Defines the order in which service levels should be selected if fulfillment is not possible for the service level defined in the order. The lower the index, the higher the priority. The list is read from the lowest index to the highest. Reading starts from current service level. For example, if this list is ['same-day', '2-day', '4-day'], and the requested service level is '2-day', but no fulfillment node can satisfy this service level during routing, NewStore looks for fulfillment locations that can satisfy the '4-day' service level.

object

Priority of provider rates to be applied when routing an order based on the fulfillment node and service level. Key represents either the country where the fulfillment node is situated or the default configuration for all countries included in the configuration.

Responses

Request samples

Content type
application/json

In this example, the priority of the provider rates to route same day delivery orders in your business has been defined in the following way:

  • In the US, for all fulfillment locations except DC01, the provider rate FEDEX_SAME_DAY_RATE has higher priority over UPS_SAME_DAY_RATE.
  • For the warehouse DC01 in the US, the provider rate UPS_SAME_DAY_RATE has higher priority over FEDEX_SAME_DAY_RATE.
  • In all other countries, for all fulfillment locations, UPS_SAME_DAY_RATE has higher priority over FEDEX_SAME_DAY_RATE.

The priority of the provider rates to route traditional orders in your business has been defined in the following way:

  • In the US, for all fulfillment locations except DC01, the priority of provider rates is as follows: FEDEX_TRADITIONAL_RATE > UPS_TRADITIONAL_RATE > USPS_TRADITIONAL_RATE.
  • For the warehouse DC01 in the US, the priority of provider rates is as follows: USPS_TRADITIONAL_RATE > UPS_TRADITIONAL_RATE > FEDEX_TRADITIONAL_RATE.
  • In all other countries, for all fulfillment locations, the priority of provider rates is as follows: UPS_TRADITIONAL_RATE > FEDEX_TRADITIONAL_RATE > UPS_TRADITIONAL_RATE.
{
  • "fulfillment_config": {
    }
}

Response samples

Content type
application/json
{
  • "fulfillment_config": {
    },
  • "revision": 3,
  • "updated_at": "2018-07-16T09:05:42.138869546Z",
  • "updated_by": "22IB3UROr1S3Je9hDaRh7f"
}

Get fulfillment config

Retrieves the latest version of the fulfillment configuration set up for your business.

Authorizations:
newStoreAccessToken

Responses

Response samples

Content type
application/json
{
  • "revision": 0,
  • "fulfillment_config": {
    },
  • "updated_by": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}