REST Resource: shippingsettings

Resource: ShippingSettings

The merchant account's shipping settings. All methods except getsupportedcarriers and getsupportedholidays require the admin role.

JSON representation
{
  "accountId": string,
  "services": [
    {
      object (Service)
    }
  ],
  "postalCodeGroups": [
    {
      object (PostalCodeGroup)
    }
  ],
  "warehouses": [
    {
      object (Warehouse)
    }
  ]
}
Fields
accountId

string

The ID of the account to which these account shipping settings belong. Ignored upon update, always present in get request responses.

services[]

object (Service)

The target account's list of services. Optional.

postalCodeGroups[]

object (PostalCodeGroup)

A list of postal code groups that can be referred to in services. Optional.

warehouses[]

object (Warehouse)

Optional. A list of warehouses which can be referred to in services.

Service

JSON representation
{
  "name": string,
  "deliveryCountry": string,
  "currency": string,
  "deliveryTime": {
    object (DeliveryTime)
  },
  "rateGroups": [
    {
      object (RateGroup)
    }
  ],
  "active": boolean,
  "minimumOrderValue": {
    object (Price)
  },
  "eligibility": string,
  "shipmentType": string,
  "pickupService": {
    object (PickupCarrierService)
  },
  "minimumOrderValueTable": {
    object (MinimumOrderValueTable)
  },
  "storeConfig": {
    object (ServiceStoreConfig)
  }
}
Fields
name

string

Free-form name of the service. Must be unique within target account. Required.

deliveryCountry

string

The CLDR territory code of the country to which the service applies. Required.

currency

string

The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups.

deliveryTime

object (DeliveryTime)

Time spent in various aspects from order to the delivery of the product. Required.

rateGroups[]

object (RateGroup)

Shipping rate group definitions. Only the last one is allowed to have an empty applicableShippingLabels, which means "everything else". The other applicableShippingLabels must not overlap.

active

boolean

A boolean exposing the active status of the shipping service. Required.

minimumOrderValue

object (Price)

Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency. Cannot be set together with minimumOrderValueTable.

eligibility

string

Eligibility for this service.

Acceptable values are:

  • "All scenarios"
  • "All scenarios except Shopping Actions"
  • "Shopping Actions"

shipmentType

string

Type of locations this service ships orders to.

Acceptable values are:

  • "delivery"
  • "pickup (deprecated)"
  • "local_delivery"
  • "collection_point"

pickupService

object (PickupCarrierService)

The carrier-service pair delivering items to collection points. The list of supported pickup services can be retrieved through the getSupportedPickupServices method. Required if and only if the service delivery type is pickup.

minimumOrderValueTable

object (MinimumOrderValueTable)

Table of per store minimum order values for the pickup fulfillment type. Cannot be set together with minimumOrderValue.

storeConfig

object (ServiceStoreConfig)

A list of stores your products are delivered from. This is only available for the local delivery shipment type.

DeliveryTime

JSON representation
{
  "minTransitTimeInDays": integer,
  "maxTransitTimeInDays": integer,
  "holidayCutoffs": [
    {
      object (HolidayCutoff)
    }
  ],
  "cutoffTime": {
    object (CutoffTime)
  },
  "minHandlingTimeInDays": integer,
  "maxHandlingTimeInDays": integer,
  "transitTimeTable": {
    object (TransitTable)
  },
  "handlingBusinessDayConfig": {
    object (BusinessDayConfig)
  },
  "transitBusinessDayConfig": {
    object (BusinessDayConfig)
  },
  "warehouseBasedDeliveryTimes": [
    {
      object (WarehouseBasedDeliveryTime)
    }
  ]
}
Fields
minTransitTimeInDays

integer (uint32 format)

Minimum number of business days that are spent in transit. 0 means same day delivery, 1 means next day delivery. Either {min,max}TransitTimeInDays or transitTimeTable must be set, but not both.

maxTransitTimeInDays

integer (uint32 format)

Maximum number of business days that are spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays.

holidayCutoffs[]

object (HolidayCutoff)

Holiday cutoff definitions. If configured, they specify order cutoff times for holiday-specific shipping.

cutoffTime

object (CutoffTime)

Business days cutoff time definition. If not configured, the cutoff time will be defaulted to 8AM PST. If local delivery, use Service.StoreConfig.CutoffConfig.

minHandlingTimeInDays

integer (uint32 format)

Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped.

maxHandlingTimeInDays

integer (uint32 format)

Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to minHandlingTimeInDays.

transitTimeTable

object (TransitTable)

Transit time table, number of business days spent in transit based on row and column dimensions. Either {min,max}TransitTimeInDays or transitTimeTable can be set, but not both.

handlingBusinessDayConfig

object (BusinessDayConfig)

The business days during which orders can be handled. If not provided, Monday to Friday business days will be assumed.

transitBusinessDayConfig

object (BusinessDayConfig)

The business days during which orders can be in-transit. If not provided, Monday to Friday business days will be assumed.

warehouseBasedDeliveryTimes[]

object (WarehouseBasedDeliveryTime)

Indicates that the delivery time should be calculated per warehouse (shipping origin location) based on the settings of the selected carrier. When set, no other transit time related field in DeliveryTime should be set.

HolidayCutoff

JSON representation
{
  "holidayId": string,
  "deadlineDate": string,
  "deadlineHour": integer,
  "deadlineTimezone": string,
  "visibleFromDate": string
}
Fields
holidayId

string

Unique identifier for the holiday. Required.

deadlineDate

string

Date of the order deadline, in ISO 8601 format. For example, "2016-11-29" for 29th November 2016. Required.

deadlineHour

integer (uint32 format)

Hour of the day on the deadline date until which the order has to be placed to qualify for the delivery guarantee. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Required.

deadlineTimezone

string

Timezone identifier for the deadline hour (for example, "Europe/Zurich"). shippingsettings.list of identifiers. Required.

visibleFromDate

string

Date on which the deadline will become visible to consumers in ISO 8601 format. For example, "2016-10-31" for 31st October 2016. Required.

CutoffTime

JSON representation
{
  "hour": integer,
  "minute": integer,
  "timezone": string
}
Fields
hour

integer (uint32 format)

Hour of the cutoff time until which an order has to be placed to be processed in the same day. Required.

minute

integer (uint32 format)

Minute of the cutoff time until which an order has to be placed to be processed in the same day. Required.

timezone

string

Timezone identifier for the cutoff time (for example, "Europe/Zurich"). shippingsettings.list of identifiers. Required.

TransitTable

JSON representation
{
  "postalCodeGroupNames": [
    string
  ],
  "transitTimeLabels": [
    string
  ],
  "rows": [
    {
      object (TransitTableTransitTimeRow)
    }
  ]
}
Fields
postalCodeGroupNames[]

string

A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service.

transitTimeLabels[]

string

A list of transit time labels. The last value can be "all other labels". Example: ["food", "electronics", "all other labels"].

rows[]

object (TransitTableTransitTimeRow)

TransitTableTransitTimeRow

JSON representation
{
  "values": [
    {
      object (TransitTableTransitTimeRowTransitTimeValue)
    }
  ]
}
Fields
values[]

object (TransitTableTransitTimeRowTransitTimeValue)

TransitTableTransitTimeRowTransitTimeValue

JSON representation
{
  "minTransitTimeInDays": integer,
  "maxTransitTimeInDays": integer
}
Fields
minTransitTimeInDays

integer (uint32 format)

Transit time range (min-max) in business days. 0 means same day delivery, 1 means next day delivery.

maxTransitTimeInDays

integer (uint32 format)

Must be greater than or equal to minTransitTimeInDays.

BusinessDayConfig

JSON representation
{
  "businessDays": [
    string
  ]
}
Fields
businessDays[]

string

Regular business days, such as '"monday"'. May not be empty.

WarehouseBasedDeliveryTime

JSON representation
{
  "carrier": string,
  "carrierService": string,
  "warehouseName": string,
  "originPostalCode": string,
  "originStreetAddress": string,
  "originCity": string,
  "originAdministrativeArea": string,
  "originCountry": string
}
Fields
carrier

string

Required. Carrier, such as "UPS" or "Fedex". The list of supported carriers can be retrieved through the listSupportedCarriers method.

carrierService

string

Required. Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved through the listSupportedCarriers method. The name of the service must be in the eddSupportedServices list.

warehouseName

string

The name of the warehouse. Warehouse name need to be matched with name. If warehouseName is set, the below fields will be ignored. The warehouse info will be read from warehouse.

originPostalCode

string

Shipping origin.

originStreetAddress

string

Shipping origin's street address.

originCity

string

Shipping origin's city.

originAdministrativeArea

string

Shipping origin's state.

originCountry

string

Shipping origin's country represented as a CLDR territory code.

RateGroup

JSON representation
{
  "applicableShippingLabels": [
    string
  ],
  "singleValue": {
    object (Value)
  },
  "mainTable": {
    object (Table)
  },
  "subtables": [
    {
      object (Table)
    }
  ],
  "carrierRates": [
    {
      object (CarrierRate)
    }
  ],
  "name": string
}
Fields
applicableShippingLabels[]

string

A list of shipping labels defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service. Required.

singleValue

object (Value)

The value of the rate group (for example, flat rate $10). Can only be set if mainTable and subtables are not set.

mainTable

object (Table)

A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.

subtables[]

object (Table)

A list of subtables referred to by mainTable. Can only be set if mainTable is set.

carrierRates[]

object (CarrierRate)

A list of carrier rates that can be referred to by mainTable or singleValue.

name

string

Name of the rate group. Optional. If set has to be unique within shipping service.

Value

The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.

JSON representation
{
  "noShipping": boolean,
  "flatRate": {
    object (Price)
  },
  "pricePercentage": string,
  "carrierRateName": string,
  "subtableName": string
}
Fields
noShipping

boolean

If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.

flatRate

object (Price)

A flat rate. Can only be set if all other fields are not set.

pricePercentage

string

A percentage of the price represented as a number in decimal notation (for example, "5.4"). Can only be set if all other fields are not set.

carrierRateName

string

The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.

subtableName

string

The name of a subtable. Can only be set in table cells (not for single values), and only if all other fields are not set.

Table

JSON representation
{
  "name": string,
  "rowHeaders": {
    object (Headers)
  },
  "columnHeaders": {
    object (Headers)
  },
  "rows": [
    {
      object (Row)
    }
  ]
}
Fields
name

string

Name of the table. Required for subtables, ignored for the main table.

rowHeaders

object (Headers)

Headers of the table's rows. Required.

columnHeaders

object (Headers)

Headers of the table's columns. Optional: if not set then the table has only one dimension.

rows[]

object (Row)

The list of rows that constitute the table. Must have the same length as rowHeaders. Required.

Headers

A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set.

JSON representation
{
  "prices": [
    {
      object (Price)
    }
  ],
  "weights": [
    {
      object (Weight)
    }
  ],
  "numberOfItems": [
    string
  ],
  "postalCodeGroupNames": [
    string
  ],
  "locations": [
    {
      object (LocationIdSet)
    }
  ]
}
Fields
prices[]

object (Price)

A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", "<= $500", and "> $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.

weights[]

object (Weight)

A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", "<= 50kg", and "> 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.

numberOfItems[]

string

A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", "<= 50 items", and "> 50 items". Must be non-empty. Can only be set if all other fields are not set.

postalCodeGroupNames[]

string

A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.

locations[]

object (LocationIdSet)

A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.

Weight

JSON representation
{
  "value": string,
  "unit": string
}
Fields
value

string

Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.

unit

string

Required. The weight unit.

Acceptable values are:

  • "kg"
  • "lb"

LocationIdSet

JSON representation
{
  "locationIds": [
    string
  ]
}
Fields
locationIds[]

string

A non-empty list of location IDs. They must all be of the same location type (for example, state).

Row

JSON representation
{
  "cells": [
    {
      object (Value)
    }
  ]
}
Fields
cells[]

object (Value)

The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.

CarrierRate

JSON representation
{
  "name": string,
  "carrierName": string,
  "carrierService": string,
  "originPostalCode": string,
  "percentageAdjustment": string,
  "flatAdjustment": {
    object (Price)
  }
}
Fields
name

string

Name of the carrier rate. Must be unique per rate group. Required.

carrierName

string

Carrier service, such as "UPS" or "Fedex". The list of supported carriers can be retrieved through the getSupportedCarriers method. Required.

carrierService

string

Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved through the getSupportedCarriers method. Required.

originPostalCode

string

Shipping origin for this carrier rate. Required.

percentageAdjustment

string

Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example "5.4" increases the rate by 5.4%, "-3" decreases the rate by 3%. Optional.

flatAdjustment

object (Price)

Additive shipping rate modifier. Can be negative. For example { "value": "1", "currency" : "USD" } adds $1 to the rate, { "value": "-3", "currency" : "USD" } removes $3 from the rate. Optional.

PickupCarrierService

JSON representation
{
  "carrierName": string,
  "serviceName": string
}
Fields
carrierName

string

The name of the pickup carrier (for example, "UPS"). Required.

serviceName

string

The name of the pickup service (for example, "Access point"). Required.

MinimumOrderValueTable

JSON representation
{
  "storeCodeSetWithMovs": [
    {
      object (MinimumOrderValueTableStoreCodeSetWithMov)
    }
  ]
}
Fields
storeCodeSetWithMovs[]

object (MinimumOrderValueTableStoreCodeSetWithMov)

MinimumOrderValueTableStoreCodeSetWithMov

A list of store code sets sharing the same minimum order value. At least two sets are required and the last one must be empty, which signifies 'MOV for all other stores'. Each store code can only appear once across all the sets. All prices within a service must have the same currency.

JSON representation
{
  "storeCodes": [
    string
  ],
  "value": {
    object (Price)
  }
}
Fields
storeCodes[]

string

A list of unique store codes or empty for the catch all.

value

object (Price)

The minimum order value for the given stores.

ServiceStoreConfig

Stores that provide local delivery. Only valid with local delivery fulfillment.

JSON representation
{
  "storeServiceType": string,
  "storeCodes": [
    string
  ],
  "cutoffConfig": {
    object (ServiceStoreConfigCutoffConfig)
  },
  "serviceRadius": {
    object (Distance)
  }
}
Fields
storeServiceType

string

Indicates whether all stores listed by this merchant provide local delivery or not. Acceptable values are all stores and selected stores

storeCodes[]

string

A list of store codes that provide local delivery. If empty, then storeServiceType must be all_stores, or an error is thrown. If not empty, then storeServiceType must be selected_stores, or an error is thrown.

cutoffConfig

object (ServiceStoreConfigCutoffConfig)

Time local delivery ends for the day. This can be either localCutoffTime or storeCloseOffsetHours, if both are provided an error is thrown.

serviceRadius

object (Distance)

Maximum delivery radius. Only needed for local delivery fulfillment type.

ServiceStoreConfigCutoffConfig

Time local delivery ends for the day based on the local timezone of the store. localCutoffTime and storeCloseOffsetHours are mutually exclusive.

JSON representation
{
  "localCutoffTime": {
    object (ServiceStoreConfigCutoffConfigLocalCutoffTime)
  },
  "storeCloseOffsetHours": string,
  "noDeliveryPostCutoff": boolean
}
Fields
localCutoffTime

object (ServiceStoreConfigCutoffConfigLocalCutoffTime)

Time in hours and minutes in the local timezone when local delivery ends.

storeCloseOffsetHours

string (int64 format)

Represents cutoff time as the number of hours before store closing. Mutually exclusive with other fields (hour and minute).

noDeliveryPostCutoff

boolean

Merchants can opt-out of showing n+1 day local delivery when they have a shipping service configured to n day local delivery. For example, if the shipping service defines same-day delivery, and it's past the cut-off, setting this field to true results in the calculated shipping service rate returning NO_DELIVERY_POST_CUTOFF. In the same example, setting this field to false results in the calculated shipping time being one day. This is only for local delivery.

ServiceStoreConfigCutoffConfigLocalCutoffTime

Time in hours and minutes in the local timezone when local delivery ends.

JSON representation
{
  "hour": string,
  "minute": string
}
Fields
hour

string (int64 format)

Hour local delivery orders must be placed by to process the same day.

minute

string (int64 format)

Minute local delivery orders must be placed by to process the same day.

Distance

Distance represented by an integer and unit.

JSON representation
{
  "value": string,
  "unit": string
}
Fields
value

string (int64 format)

The distance represented as a number.

unit

string

The distance unit. Acceptable values are None, Miles, and Kilometers.

PostalCodeGroup

JSON representation
{
  "name": string,
  "country": string,
  "postalCodeRanges": [
    {
      object (PostalCodeRange)
    }
  ]
}
Fields
name

string

The name of the postal code group, referred to in headers. Required.

country

string

The CLDR territory code of the country the postal code group applies to. Required.

postalCodeRanges[]

object (PostalCodeRange)

A range of postal codes. Required.

PostalCodeRange

JSON representation
{
  "postalCodeRangeBegin": string,
  "postalCodeRangeEnd": string
}
Fields
postalCodeRangeBegin

string

A postal code or a pattern of the form prefix* denoting the inclusive lower bound of the range defining the area. Examples values: "94108", "9410*", "9*". Required.

postalCodeRangeEnd

string

A postal code or a pattern of the form prefix* denoting the inclusive upper bound of the range defining the area. It must have the same length as postalCodeRangeBegin: if postalCodeRangeBegin is a postal code then postalCodeRangeEnd must be a postal code too; if postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a pattern with the same prefix length. Optional: if not set, then the area is defined as being all the postal codes matching postalCodeRangeBegin.

Warehouse

A fulfillment warehouse, which stores and handles inventory.

JSON representation
{
  "name": string,
  "shippingAddress": {
    object (Address)
  },
  "cutoffTime": {
    object (WarehouseCutoffTime)
  },
  "handlingDays": string,
  "businessDayConfig": {
    object (BusinessDayConfig)
  }
}
Fields
name

string

Required. The name of the warehouse. Must be unique within account.

shippingAddress

object (Address)

Required. Shipping address of the warehouse.

cutoffTime

object (WarehouseCutoffTime)

Required. The latest time of day that an order can be accepted and begin processing. Later orders will be processed in the next day. The time is based on the warehouse postal code.

handlingDays

string (int64 format)

Required. The number of days it takes for this warehouse to pack up and ship an item. This is on the warehouse level, but can be overridden on the offer level based on the attributes of an item.

businessDayConfig

object (BusinessDayConfig)

Business days of the warehouse. If not set, will be Monday to Friday by default.

Address

JSON representation
{
  "streetAddress": string,
  "city": string,
  "administrativeArea": string,
  "postalCode": string,
  "country": string
}
Fields
streetAddress

string

Street-level part of the address. Use \n to add a second line.

city

string

Required. City, town or commune. May also include dependent localities or sublocalities (for example, neighborhoods or suburbs).

administrativeArea

string

Required. Top-level administrative subdivision of the country. For example, a state like California ("CA") or a province like Quebec ("QC").

postalCode

string

Required. Postal code or ZIP (for example, "94043").

country

string

Required. CLDR country code (for example, "US").

WarehouseCutoffTime

JSON representation
{
  "hour": integer,
  "minute": integer
}
Fields
hour

integer

Required. Hour (24-hour clock) of the cutoff time until which an order has to be placed to be processed in the same day by the warehouse. Hour is based on the timezone of warehouse.

minute

integer

Required. Minute of the cutoff time until which an order has to be placed to be processed in the same day by the warehouse. Minute is based on the timezone of warehouse.

Methods

custombatch

Retrieves and updates the shipping settings of multiple accounts in a single request.

get

Retrieves the shipping settings of the account.

getsupportedcarriers

Retrieves supported carriers and carrier services for an account.

getsupportedholidays

Retrieves supported holidays for an account.

getsupportedpickupservices

Retrieves supported pickup services for an account.

list

Lists the shipping settings of the sub-accounts in your Merchant Center account.

update

Updates the shipping settings of the account.