REST Resource: accounts.shippingSettings

Resource: ShippingSettings

The merchant account's shipping setting.

JSON representation
{
  "name": string,
  "services": [
    {
      object (Service)
    }
  ],
  "warehouses": [
    {
      object (Warehouse)
    }
  ],
  "etag": string
}
Fields
name

string

Identifier. The resource name of the shipping setting. Format: accounts/{account}/shippingSetting

services[]

object (Service)

Optional. The target account's list of services.

warehouses[]

object (Warehouse)

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

etag

string

Required. This field is used for avoid async issue. Make sure shipping setting data didn't change between get call and insert call. The user should do following steps:

  1. Set etag field as empty string for initial shipping setting creation.

  2. After initial creation, call get method to obtain an etag and current shipping setting data before call insert.

  3. Modify to wanted shipping setting information.

  4. Call insert method with the wanted shipping setting information with the etag obtained from step 2.

  5. If shipping setting data changed between step 2 and step 4. Insert request will fail because the etag changes every time the shipping setting data changes. User should repeate step 2-4 with the new etag.

Service

Shipping service.

JSON representation
{
  "deliveryCountries": [
    string
  ],
  "rateGroups": [
    {
      object (RateGroup)
    }
  ],
  "loyaltyPrograms": [
    {
      object (LoyaltyProgram)
    }
  ],
  "serviceName": string,
  "active": boolean,
  "currencyCode": string,
  "deliveryTime": {
    object (DeliveryTime)
  },
  "shipmentType": enum (ShipmentType),
  "minimumOrderValue": {
    object (Price)
  },
  "minimumOrderValueTable": {
    object (MinimumOrderValueTable)
  },
  "storeConfig": {
    object (StoreConfig)
  }
}
Fields
deliveryCountries[]

string

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

rateGroups[]

object (RateGroup)

Optional. 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.

loyaltyPrograms[]

object (LoyaltyProgram)

Optional. Loyalty programs that this shipping service is limited to.

serviceName

string

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

active

boolean

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

currencyCode

string

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

deliveryTime

object (DeliveryTime)

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

shipmentType

enum (ShipmentType)

Type of locations this service ships orders to.

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.

minimumOrderValueTable

object (MinimumOrderValueTable)

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

storeConfig

object (StoreConfig)

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

DeliveryTime

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

JSON representation
{
  "warehouseBasedDeliveryTimes": [
    {
      object (WarehouseBasedDeliveryTime)
    }
  ],
  "minTransitDays": integer,
  "maxTransitDays": integer,
  "cutoffTime": {
    object (CutoffTime)
  },
  "minHandlingDays": integer,
  "maxHandlingDays": integer,
  "transitTimeTable": {
    object (TransitTable)
  },
  "handlingBusinessDayConfig": {
    object (BusinessDayConfig)
  },
  "transitBusinessDayConfig": {
    object (BusinessDayConfig)
  }
}
Fields
warehouseBasedDeliveryTimes[]

object (WarehouseBasedDeliveryTime)

Optional. 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 [delivery time][[google.shopping.content.bundles.ShippingSetting.DeliveryTime] should be set.

minTransitDays

integer

Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either minTransitDays, maxTransitDays or transitTimeTable must be set, but not both.

maxTransitDays

integer

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

cutoffTime

object (CutoffTime)

Business days cutoff time definition. If not configured the cutoff time will be defaulted to 8AM PST.

minHandlingDays

integer

Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. 'minHandlingDays' and 'maxHandlingDays' should be either set or not set at the same time.

maxHandlingDays

integer

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 minHandlingDays. 'minHandlingDays' and 'maxHandlingDays' should be either set or not set at the same time.

transitTimeTable

object (TransitTable)

Transit time table, number of business days spent in transit based on row and column dimensions. Either minTransitDays, maxTransitDays 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.

CutoffTime

Business days cutoff time definition.

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

integer

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

minute

integer

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

timeZone

string

Required. Timezone identifier For example "Europe/Zurich".

TransitTable

Transit time table, number of business days spent in transit based on row and column dimensions. Either minTransitDays, maxTransitDays or transitTimeTable can be set, but not both.

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

string

Required. A list of region names Region.name . 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

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

rows[]

object (TransitTimeRow)

Required. If there's only one dimension set of postalCodeGroupNames or transitTimeLabels, there are multiple rows each with one value for that dimension. If there are two dimensions, each row corresponds to a postalCodeGroupNames, and columns (values) to a transitTimeLabels.

TransitTimeRow

If there's only one dimension set of postalCodeGroupNames or transitTimeLabels, there are multiple rows each with one value for that dimension. If there are two dimensions, each row corresponds to a postalCodeGroupNames, and columns (values) to a transitTimeLabels.

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

object (TransitTimeValue)

Required. Transit time range (min-max) in business days.

TransitTimeValue

Transit time range (min-max) in business days.

JSON representation
{
  "minTransitDays": integer,
  "maxTransitDays": integer
}
Fields
minTransitDays

integer

Minimum transit time range in business days. 0 means same day delivery, 1 means next day delivery.

maxTransitDays

integer

Must be greater than or equal to minTransitDays.

BusinessDayConfig

Business days of the warehouse.

JSON representation
{
  "businessDays": [
    enum (Weekday)
  ]
}
Fields
businessDays[]

enum (Weekday)

Required. Regular business days. May not be empty.

Weekday

Enums
WEEKDAY_UNSPECIFIED
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY

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.

JSON representation
{
  "carrier": string,
  "carrierService": string,
  "warehouse": string
}
Fields
carrier

string

Required. Carrier, such as "UPS" or "Fedex". supported carriers

carrierService

string

Required. Carrier service, such as "ground" or "2 days". The name of the service must be in the eddSupportedServices list.

warehouse

string

Required. Warehouse name. This should match [warehouse][ShippingSetting.warehouses.name]

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.

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

string

Required. 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.

subtables[]

object (Table)

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

carrierRates[]

object (CarrierRate)

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

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.

name

string

Optional. Name of the rate group. 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, carrier_rateName, subtable_name must be set.

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

boolean

If true, then the product can't be shipped. 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.

carrierRate

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.

subtable

string

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

Table

A table defining the rate group, when singleValue is not expressive enough.

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

object (Row)

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

name

string

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

rowHeaders

object (Headers)

Required. Headers of the table's rows.

columnHeaders

object (Headers)

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

Headers

A non-empty list of row or column headers for a table. Exactly one of prices, weights, num_items, 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)

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

weights[]

object (Weight)

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

numberOfItems[]

string

Required. 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

Required. 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)

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

Weight

The weight represented as the value in string and the unit.

JSON representation
{
  "unit": enum (WeightUnit),
  "amountMicros": string
}
Fields
unit

enum (WeightUnit)

Required. The weight unit. Acceptable values are: kg and lb

amountMicros

string (int64 format)

Required. The weight represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 kg = 1000000 micros). This field can also be set as infinity by setting to -1. This field only support -1 and positive value.

WeightUnit

The weight unit.

Enums
WEIGHT_UNIT_UNSPECIFIED unit unspecified
POUND lb unit.
KILOGRAM kg unit.

LocationIdSet

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

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

string

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

Row

Include a list of cells.

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

object (Value)

Required. 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.

CarrierRate

A list of carrier rates that can be referred to by mainTable or singleValue. Supported carrier services are defined in https://support.google.com/merchants/answer/12577710?hl=en&ref_topic=12570808&sjid=10662598224319463032-NC#zippy=%2Cdelivery-cost-rate-type%2Ccarrier-rate-au-de-uk-and-us-only.

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

string

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

carrier

string

Required. Carrier service, such as "UPS" or "Fedex".

carrierService

string

Required. Carrier service, such as "ground" or "2 days".

originPostalCode

string

Required. Shipping origin for this carrier rate.

percentageAdjustment

string

Optional. 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%.

flatAdjustment

object (Price)

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

ShipmentType

Shipment type of shipping service.

Enums
SHIPMENT_TYPE_UNSPECIFIED This service did not specify shipment type.
DELIVERY This service ships orders to an address chosen by the customer.
LOCAL_DELIVERY This service ships orders to an address chosen by the customer. The order is shipped from a local store near by.
COLLECTION_POINT This service ships orders to an address chosen by the customer. The order is shipped from a collection point.

MinimumOrderValueTable

Table of per store minimum order values for the pickup fulfillment type.

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

object (StoreCodeSetWithMov)

Required. A list of store code sets sharing the same minimum order value (MOV). 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.

StoreCodeSetWithMov

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

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

value

object (Price)

The minimum order value for the given stores.

StoreConfig

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

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

string

Optional. A list of store codes that provide local delivery. If empty, then all_stores must be true.

storeServiceType

enum (StoreServiceType)

Indicates whether all stores, or selected stores, listed by this merchant provide local delivery.

cutoffConfig

object (CutoffConfig)

Configs related to local delivery ends for the day.

serviceRadius

object (Distance)

Maximum delivery radius. This is only required for the local delivery shipment type.

StoreServiceType

Indicates whether all stores, or selected stores, listed by the merchant provide local delivery.

Enums
STORE_SERVICE_TYPE_UNSPECIFIED Did not specify store service type.
ALL_STORES Indicates whether all stores, current and future, listed by this merchant provide local delivery.
SELECTED_STORES Indicates that only the stores listed in storeCodes are eligible for local delivery.

CutoffConfig

Configs related to local delivery ends for the day.

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

object (LocalCutoffTime)

Time that local delivery ends for the day.

storeCloseOffsetHours

string (int64 format)

Only valid with local delivery fulfillment. Represents cutoff time as the number of hours before store closing. Mutually exclusive with localCutoffTime.

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.

LocalCutoffTime

Time that local delivery ends for the day.

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

Maximum delivery radius. This is only required for the local delivery shipment type.

JSON representation
{
  "value": string,
  "unit": enum (Unit)
}
Fields
value

string (int64 format)

Integer value of distance.

unit

enum (Unit)

Unit can differ based on country, it is parameterized to include miles and kilometers.

Unit

Unit can differ based on country, it is parameterized to include miles and kilometers.

Enums
UNIT_UNSPECIFIED Unit unspecified
MILES Unit in miles
KILOMETERS Unit in kilometers

LoyaltyProgram

Loyalty program provided by a merchant.

JSON representation
{
  "loyaltyProgramTiers": [
    {
      object (LoyaltyProgramTiers)
    }
  ],
  "programLabel": string
}
Fields
loyaltyProgramTiers[]

object (LoyaltyProgramTiers)

Optional. Loyalty program tier of this shipping service.

programLabel

string

This is the loyalty program label set in your loyalty program settings in Merchant Center. This sub-attribute allows Google to map your loyalty program to eligible offers.

LoyaltyProgramTiers

Subset of a merchants loyalty program.

JSON representation
{
  "tierLabel": string
}
Fields
tierLabel

string

The tier label [tierLabel] sub-attribute differentiates offer level benefits between each tier. This value is also set in your program settings in Merchant Center, and is required for data source changes even if your loyalty program only has 1 tier.

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

Shipping address of the warehouse.

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

string

Street-level part of the address. For example: 111w 31st Street.

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").

regionCode

string

Required. CLDR country code (For example "US").

WarehouseCutoffTime

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.

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

integer

Required. Hour 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

getShippingSettings

Retrieve shipping setting information.

insert

Replace the shipping setting of a merchant with the request shipping setting.