Zasób shippingsettings
umożliwia pobieranie i aktualizowanie ustawień dostawy na Twoim koncie.
Google może automatycznie zaktualizować szacowany czas dostawy w przypadku niektórych produktów. Więcej informacji znajdziesz w artykule o włączaniu automatycznych poprawek.
Odczytywanie, zapisywanie i aktualizowanie ustawień dostawy
Aby korzystać z usługi dostawy w interfejsie API Merchant Center, wykonaj te czynności:
- Wyślij żądanie
GET
, aby pobrać pełne ustawienia dostawy ze swojego konta. - Zmień ustawienia dostawy.
- Wyślij prośbę o:
INSERT
ze zmodyfikowanymi ustawieniami dostawy.
ETag
Etag to zakodowany token, który pozwala unikać aktualizacji asynchronicznych. Ten tag zmienia się, gdy zmienią się
jakiekolwiek dane ustawień dostawy. Użytkownicy muszą skopiować etag uzyskany w żądaniu GET
do treści żądania INSERT
.
Jeśli dane ustawień dostawy zmienią się między żądaniem GET
a żądaniem INSERT
, otrzymasz komunikat o błędzie z prośbą o kolejne żądanie GET
w celu pobrania najnowszego tokena etag. Musisz wywołać żądanie GET
, aby pobrać nowy token etag i skopiować go do treści żądania INSERT
.
Dodaj ustawienia dostawy
Użyj konta shippingsettings.insert
, aby dodać lub zaktualizować ustawienia dostawy na swoim koncie. Oto przykładowe żądanie, które zmienia wartość z maxTransitDays
na 7 w przypadku usługi dostawy o nazwie Dostawa GSA – bezpłatna dostawa powyżej 49,99 USD na koncie 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"
}
]
}
]
}
Ustaw hurtownie
Ten przykładowy kod JSON pokazuje, jak za pomocą usługi Ustawienia dostawy dla sprzedawcy zarządzać informacjami o hurtowni na koncie sprzedawcy:
"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"
]
}
}
]
Zastąp następujące elementy:
- {street_address}: część adresu magazynu na poziomie ulicy.
- {city}: miasto, miejscowość lub gmina, w której znajduje się magazyn.
- {administrative_area}: jednostka podziału administracyjnego kraju. Na przykład stan.
- {postal_code}: kod pocztowy.
- {region_code}: kod kraju w ciągu znaków.
- {minutes}: minuty w ostatecznym terminie, do którego magazyn musi złożyć zamówienie, aby zostało przetworzone tego samego dnia przez magazyn.
- {handling_days}: liczba dni na zapakowanie i wysłanie produktu przez magazyn.
Zasób warehouses
to lista hurtowni. Każdy magazyn może być określony na podstawie czasu dostawy na podstawie czasu dostawy w magazynie do warehouse.name
.
Zarządzanie hurtowniami
Aby zarządzać magazynami za pomocą interfejsu Merchant API:
- Wyślij żądanie
GET
, aby pobrać wszystkie istniejące magazynyshippingsettings
i magazyny. Skopiuj
shippingsettings
z żądaniaGET
do żądaniaUPDATE
.Wypełnij magazyny, jeśli chcesz ich użyć w sekcji
warehouses
żądaniaINSERT
.Utwórz żądanie
UPDATE
zawierające zasobyshippingsettings
iwarehouses
.
Oto przykładowa treść żądania INSERT
z magazynem Warehouse 1 zaktualizowanym z Nowego Jorku do Mountain View:
{
"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"
}
]
}
]
}
Dodaj dostawę tego samego dnia
Jeśli masz lokalny asortyment, możesz skonfigurować usługę dostawy tego samego dnia za pomocą Content API for Shopping. Usługi dostawy tego samego dnia mają local_delivery
jako shipment_type
. Obecnie wszystkie usługi dostawy dostępne na platformie local_delivery
są uznawane za dostawy tego samego dnia.
Nie możesz zmienić informacji delivery_time
dotyczących dostaw lokalnych. Użyj atrybutu shippingsettings.insert
, aby skonfigurować dostawę tego samego dnia w przypadku produktów z lokalnego asortymentu produktów.
Oto przykładowa treść żądania, która dodaje usługę dostawy tego samego dnia do wszystkich sklepów na Twoim koncie:
{
"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"
}
}
}
]
}
Dodaj dostawę następnego dnia
Zamówienia złożone po ostatecznym terminie dostawy tego samego dnia są domyślnie zaplanowane na dostawę następnego dnia. Aby wyłączyć dostawę następnego dnia, ustaw pole no_delivery_post_cutoff
na wartość true. Jeśli wyłączysz dostawę następnego dnia, usługi będą widoczne codziennie przed ostatecznym terminem.
Dostawa następnego dnia jest dostępna tylko wtedy, gdy shipment_type
to local_delivery
.