Ресурс ShippingSettings
позволяет получать и обновлять настройки доставки вашей учетной записи.
Google может автоматически обновлять расчетное время доставки для некоторых товаров. Дополнительные сведения см. в разделе Включение автоматических улучшений .
Чтение, запись или обновление настроек доставки
Чтобы использовать службу доставки Merchant API, выполните следующие действия:
- Сделайте запрос
GET
, чтобы получить полные настройки доставки вашей учетной записи. - Измените настройки доставки.
- Сделайте запрос
INSERT
с измененными настройками доставки.
Этаг
Etag — это закодированный токен, позволяющий избежать асинхронных обновлений. Etag меняется при изменении любых данных настроек доставки. Пользователям необходимо скопировать etag, полученный из запроса GET
, в тело запроса INSERT
.
Если данные настроек доставки изменяются между запросом GET
и запросом INSERT
, вы получаете сообщение об ошибке с запросом еще одного запроса GET
для получения самого последнего токена etag. Вам необходимо вызвать запрос GET
, чтобы получить новый токен etag и скопировать новый токен etag в тело запроса INSERT
.
Добавьте настройки доставки
Используйте shippingsettings.insert
, чтобы добавить или обновить настройки доставки для вашей учетной записи. Ниже приведен пример запроса, который обновляет maxTransitDays
до 7 для службы доставки под названием GSA Shipping — Free Ship Over $49,99 для учетной записи 10.
POST https://merchantapi.googleapis.com/accounts/v1beta/accounts/{accountId}/shippingSettings/
{
"services": [
{
"name": "FedEx",
"active": true,
"deliveryCountries": ["US"],
"currencyCode": "USD",
"deliveryTime": {
"minTransitDays": 4,
"maxTransitDays": 6,
"minHandlingDays": 0,
"maxHandlingDays": 0
},
"rateGroups": [
{
"singleValue": {
"flatRate": {
"amountMicros": 5990000,
"currencyCode": "USD"
}
},
"name": "All products"
}
]
},
{
"name": "GSA Shipping - Free Ship Over $49.99",
"active": true,
"deliveryCountries": "US",
"currencyCode": "USD",
"deliveryTime": {
"minTransitDays": 3,
"maxTransitDays": 7,
"minHandlingDays": 1,
"maxHandlingDays": 2
},
"rateGroups": [
{
"mainTable": {
"rowHeaders": {
"prices": [
{
"amountMicros": 49990000,
"currencyCode": "USD"
},
{
"amountMicros": -1,
"currencyCode": "USD"
}
]
},
"rows": [
{
"cells": [
{
"flatRate": {
"amountMicros": 6990000,
"currencyCode": "USD"
}
}
]
},
{
"cells": [
{
"flatRate": {
"amountMicros": 0,
"currencyCode": "USD"
}
}
]
}
]
},
"name": "Free Ship Over $49.99"
}
]
}
]
}
Установить склады
В следующем образце JSON показано, как вы можете использовать службу настроек Merchant Shipping для управления информацией о складе для вашего торгового аккаунта:
"warehouses": [
{
"name": "warehouse 1",
"shippingAddress": {
"streetAddress": {street_address},
"city": {city},
"administrativeArea": {administrative_area},
"postalCode": {postal_code},
"regionCode": {region_code}
},
"cutoffTime": {
"minutes": {minutes}
},
"handlingDays": {handling_days},
"businessDaysConfig": {
"businessDays": [
"MONDAY", "SUNDAY"
]
}
}
]
Замените следующее:
- {street_address} : часть адреса склада на уровне улицы.
- {city} : город, поселок или населенный пункт, где расположен склад.
- {administrative_area} : административное деление страны. Например, государство.
- {postal_code} : почтовый индекс или почтовый индекс.
- {region_code} : код страны в строке.
- {minutes} : минуты, составляющие крайний срок, до которого необходимо разместить заказ для его обработки на складе в тот же день.
- {handling_days} : количество дней, необходимое этому складу для упаковки и отправки товара.
Ресурс warehouses
представляет собой список складов. Каждый склад может быть указан по времени доставки на основе склада службы доставки через warehouse.name
.
Управляйте своими складами
Вот как можно использовать Merchant API для управления вашими складами:
- Сделайте запрос
GET
, чтобы получить все существующиеshippingsettings
и склады. Скопируйте
shippingsettings
из запросаGET
в запросUPDATE
.Заполните склады, если хотите использовать их в разделе
warehouses
для запросаINSERT
.Сделайте запрос
UPDATE
, содержащийshippingsettings
и ресурсыwarehouses
.
Вот пример тела запроса INSERT
со складом для склада 1 , измененным с Нью-Йорка на Маунтин-Вью:
{
"services": [
{
"name": "Standard Shipping",
"active": true,
"deliveryCountries": ["US", "UK"],
"currencyCode": "USD",
"deliveryTime": {
"minHandlingDays": 0,
"maxHandlingDays": 1,
"warehouseBasedDeliveryTimes": [
{"carrier": "Fedex"
"carrierService": "ground"
"warehouse": "Warehouse 1"
},
{"carrier": "Fedex"
"carrierService": "2 days"
"warehouse": "Warehouse 2"
}
]
},
"rateGroups": [
{
"singleValue": {
"flatRate": {
"amountMicros": 0,
"currencyCode": "USD"
}
},
"name": "Standard Shipping"
}
],
},
{
"name": "Expedited",
"flatRate": {
"amountMicros": 9990000,
"currencyCode": "USD"
}
},
"name": "Expedited"
}
],
}
],
"warehouses": [
{
"name": "Warehouse1",
"shippingAddress": [
{
"streetAddress": "1111 shoreline street"
"city": "Mountain View",
"administrativeArea": "CA"
}
]
},
{
"name": "Warehouse 2",
"country": "US",
"postalCodeRanges": [
{
"streetAddress": "1111 5th avenue"
"city": "New York",
"administrativeArea": "NY"
}
]
}
]
}
Добавить доставку в тот же день
Вы можете использовать Content API для покупок, чтобы настроить службы доставки в тот же день, если у вас есть местный ассортимент. Службы доставки в тот же день имеют local_delivery
в качестве shipment_type
. В настоящее время все службы доставки local_delivery
считаются доставкой в тот же день.
Вы не можете изменить информацию delivery_time
для местных доставок. Используйте shippingsettings.insert
, чтобы настроить доставку товаров из вашего местного ассортимента в тот же день.
Ниже приведен пример тела запроса, который добавляет службу доставки в тот же день во все магазины для вашей учетной записи:
{
"name": "accounts/accountId/shippingSettings",
"services": [
{
"name": "Local Delivery",
"active": true,
"shipmentType": "local_delivery",
"deliveryCountries": "US",
"currencyCode": "USD",
"rateGroups": [
{
"singleValue": {
"flatRate": {
"amountMicros": 0,
"currencyCode": "USD"
}
}
}
],
"storeConfig": {
"storeServiceType": "all stores",
"storeCodes": [],
"cutoffConfig": {
"storeCloseOffsetHours": 2,
"noDeliveryPostCutoff": true
},
"serviceRadius": {
"value": 4,
"unit": "Miles"
}
}
}
]
}
Добавить доставку на следующий день
Заказы, размещенные после окончания срока доставки в тот же день, по умолчанию запланированы на следующий день. Чтобы отключить доставку на следующий день, установите для поля no_delivery_post_cutoff
значение true. Если вы отключите доставку на следующий день, ваши услуги по доставке будут видны каждый день только до наступления конечного времени.
Доставка на следующий день доступна только в том случае, если shipment_type
имеет local_delivery
.
Узнать больше
Подробнее о переходе с Content API for Shopping см. в разделе Перенос управления настройками доставки .