export type WarehouseCutoffTime = {hour?: number | undefined, minute?: number | undefined}; export type Address = {country?: string | undefined, streetAddress?: string | undefined, postalCode?: string | undefined, city?: string | undefined, administrativeArea?: string | undefined}; export type BusinessDayConfig = {businessDays?: Array | undefined}; export type Warehouse = {name?: string | undefined, cutoffTime?: WarehouseCutoffTime | undefined, handlingDays?: unknown | undefined, shippingAddress?: Address | undefined, businessDayConfig?: BusinessDayConfig | undefined}; export type PostalCodeRange = {postalCodeRangeBegin?: string | undefined, postalCodeRangeEnd?: string | undefined}; export type PostalCodeGroup = {postalCodeRanges?: Array | undefined, name?: string | undefined, country?: string | undefined}; export type Price = {value?: string | undefined, currency?: string | undefined}; export type Distance = {unit?: string | undefined, value?: unknown | undefined}; export type ServiceStoreConfigCutoffConfigLocalCutoffTime = {hour?: unknown | undefined, minute?: unknown | undefined}; export type ServiceStoreConfigCutoffConfig = {noDeliveryPostCutoff?: boolean | undefined, localCutoffTime?: ServiceStoreConfigCutoffConfigLocalCutoffTime | undefined, storeCloseOffsetHours?: unknown | undefined}; export type ServiceStoreConfig = {serviceRadius?: Distance | undefined, cutoffConfig?: ServiceStoreConfigCutoffConfig | undefined, storeServiceType?: string | undefined, storeCodes?: Array | undefined}; export type Value = {flatRate?: Price | undefined, noShipping?: boolean | undefined, pricePercentage?: string | undefined, carrierRateName?: string | undefined, subtableName?: string | undefined}; export type CarrierRate = {carrierName?: string | undefined, carrierService?: string | undefined, percentageAdjustment?: string | undefined, name?: string | undefined, originPostalCode?: string | undefined, flatAdjustment?: Price | undefined}; export type Weight = {unit?: string | undefined, value?: string | undefined}; export type LocationIdSet = {locationIds?: Array | undefined}; export type Headers = {prices?: Array | undefined, weights?: Array | undefined, numberOfItems?: Array | undefined, postalCodeGroupNames?: Array | undefined, locations?: Array | undefined}; export type Row = {cells?: Array | undefined}; export type Table = {name?: string | undefined, rowHeaders?: Headers | undefined, columnHeaders?: Headers | undefined, rows?: Array | undefined}; export type RateGroup = {name?: string | undefined, singleValue?: Value | undefined, carrierRates?: Array | undefined, subtables?: Array | undefined, mainTable?: Table | undefined, applicableShippingLabels?: Array | undefined}; export type PickupCarrierService = {carrierName?: string | undefined, serviceName?: string | undefined}; export type HolidayCutoff = {deadlineTimezone?: string | undefined, deadlineDate?: string | undefined, holidayId?: string | undefined, deadlineHour?: number | undefined, visibleFromDate?: string | undefined}; export type CutoffTime = {hour?: number | undefined, minute?: number | undefined, timezone?: string | undefined}; export type TransitTableTransitTimeRowTransitTimeValue = {minTransitTimeInDays?: number | undefined, maxTransitTimeInDays?: number | undefined}; export type TransitTableTransitTimeRow = {values?: Array | undefined}; export type TransitTable = {postalCodeGroupNames?: Array | undefined, transitTimeLabels?: Array | undefined, rows?: Array | undefined}; export type WarehouseBasedDeliveryTime = {carrierService?: string | undefined, originCity?: string | undefined, originCountry?: string | undefined, carrier?: string | undefined, originPostalCode?: string | undefined, originAdministrativeArea?: string | undefined, warehouseName?: string | undefined, originStreetAddress?: string | undefined}; export type DeliveryTime = {holidayCutoffs?: Array | undefined, minTransitTimeInDays?: number | undefined, cutoffTime?: CutoffTime | undefined, transitTimeTable?: TransitTable | undefined, handlingBusinessDayConfig?: BusinessDayConfig | undefined, maxTransitTimeInDays?: number | undefined, maxHandlingTimeInDays?: number | undefined, transitBusinessDayConfig?: BusinessDayConfig | undefined, minHandlingTimeInDays?: number | undefined, warehouseBasedDeliveryTimes?: Array | undefined}; export type MinimumOrderValueTableStoreCodeSetWithMov = {value?: Price | undefined, storeCodes?: Array | undefined}; export type MinimumOrderValueTable = {storeCodeSetWithMovs?: Array | undefined}; export type Service = {active?: boolean | undefined, minimumOrderValue?: Price | undefined, currency?: string | undefined, name?: string | undefined, eligibility?: string | undefined, storeConfig?: ServiceStoreConfig | undefined, rateGroups?: Array | undefined, shipmentType?: string | undefined, deliveryCountry?: string | undefined, pickupService?: PickupCarrierService | undefined, deliveryTime?: DeliveryTime | undefined, minimumOrderValueTable?: MinimumOrderValueTable | undefined}; export type ShippingSettings = {accountId?: unknown | undefined, warehouses?: Array | undefined, postalCodeGroups?: Array | undefined, services?: Array | undefined}; export type UpdateApiMerchantIdShippingsettingsAccountIdArgs = {merchantId: string, accountId: string, body: ShippingSettings}; export type UpdateApiMerchantIdShippingsettingsAccountIdOptions = {baseUrl?: string | undefined, Oauth2?: string | undefined, Oauth2c?: string | undefined, fetch?: typeof fetch | undefined}; /** * Updates the shipping settings of the account. Any fields that are not provided are deleted from the resource. * * PUT /{merchantId}/shippingsettings/{accountId} */ export const updateApiMerchantIdShippingsettingsAccountId = async (args: UpdateApiMerchantIdShippingsettingsAccountIdArgs, options?: UpdateApiMerchantIdShippingsettingsAccountIdOptions) => { const {baseUrl = "https://shoppingcontent.googleapis.com/content/v2.1", fetch: fetchFn = fetch, Oauth2, Oauth2c} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "*/*") if (Oauth2 !== undefined) headers.set('authorization', `Bearer ${Oauth2}`) if (Oauth2c !== undefined) headers.set('authorization', `Bearer ${Oauth2c}`) const url = `${baseUrl.replace(/\/+$/, '')}/${encodeURIComponent(String(args.merchantId))}/shippingsettings/${encodeURIComponent(String(args.accountId))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PUT", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return res.blob() };