Die
ShippingSettings
Ressource ermöglicht das Abrufen und Aktualisieren der Versandeinstellungen Ihres Kontos.
Google kann die voraussichtliche Lieferzeit für einige Produkte automatisch aktualisieren. Weitere Informationen finden Sie unter Automatische Verbesserungen aktivieren.
Versandeinstellungen lesen, schreiben oder aktualisieren
So verwenden Sie den Versandservice der Merchant API:
- Stellen Sie eine
GET-Anfrage, um die vollständigen Versandeinstellungen Ihres Kontos abzurufen. - Ändern Sie die Versandeinstellungen.
- Stellen Sie eine
INSERT-Anfrage mit den geänderten Versandeinstellungen.
ETag
ETag ist ein codiertes Token, um asynchrone Aktualisierungen zu vermeiden. Das ETag ändert sich, wenn sich Daten der Versandeinstellungen ändern. Nutzer müssen das ETag, das sie aus der GET-Anfrage erhalten haben, in den Anfragetext der INSERT-Anfrage kopieren.
Wenn sich die Daten der Versandeinstellungen zwischen der GET-Anfrage und der INSERT-Anfrage ändern, erhalten Sie eine Fehlermeldung, in der Sie aufgefordert werden, eine weitere GET-Anfrage zu stellen, um das aktuelle ETag-Token abzurufen. Sie müssen eine GET-Anfrage stellen, um das neue ETag-Token abzurufen, und es in den Anfragetext der INSERT-Anfrage kopieren.
Versandeinstellungen hinzufügen
Verwenden Sie shippingsettings.insert, um die Versandeinstellungen für Ihr Konto hinzuzufügen oder zu aktualisieren. Hier sehen Sie eine Beispielanfrage, mit der maxTransitDays für einen
Versandservice namens GSA Shipping - Free Ship Over $49.99 unter Konto
10 auf 7 aktualisiert wird.
POST https://merchantapi.googleapis.com/accounts/v1/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"
}
]
}
]
}
Hier sehen Sie ein Beispiel, mit dem Sie eine Versandeinstellung einfügen können:
Python
from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1 import GetShippingSettingsRequest
from google.shopping.merchant_accounts_v1 import ShippingSettingsServiceClient
_ACCOUNT = configuration.Configuration().read_merchant_info()
_PARENT = f"accounts/{_ACCOUNT}"
def get_shipping_settings():
"""Gets the ShippingSettings for a given Merchant Center account."""
# Gets OAuth Credentials.
credentials = generate_user_credentials.main()
# Creates a client.
client = ShippingSettingsServiceClient(credentials=credentials)
# Creates the Shipping Settings name
name = _PARENT + "/shippingSettings"
# Creates the request.
request = GetShippingSettingsRequest(name=name)
# Makes the request and prints the retrieved ShippingSettings.
try:
response = client.get_shipping_settings(request=request)
print("Retrieved ShippingSettings below")
print(response)
except RuntimeError as e:
print(e)
if __name__ == "__main__":
get_shipping_settings()
Warehouses festlegen
Im folgenden JSON-Beispiel sehen Sie, wie Sie mit dem Versandservice der Merchant API Warehouse-Informationen für Ihr Merchant Center-Konto verwalten können:
"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"
]
}
}
]
Ersetzen Sie Folgendes:
- {street_address}: Teil der Adresse des Warehouses auf Straßenebene.
- {city}: Stadt, Gemeinde oder Kommune, in der sich das Warehouse befindet.
- {administrative_area}: Die Verwaltungseinheit des Landes. Zum Beispiel ein Bundesland.
- {postal_code}: Die Postleitzahl.
- {region_code}: Der Ländercode als String.
- {minutes}: Teil der Annahmeschlusszeit in Minuten, bis zu der eine Bestellung aufgegeben werden muss, damit sie noch am selben Tag vom Warehouse bearbeitet werden kann.
- {handling_days}: Die Anzahl der Tage, die dieses Warehouse benötigt, um einen Artikel zu verpacken und zu versenden.
Die Ressource warehouses ist eine Liste von Warehouses. Auf jedes Warehouse kann über warehouse.name anhand der lieferzeitbasierten Lieferzeit des Versandservices verwiesen werden.
Warehouses verwalten
So verwalten Sie Ihre Warehouses mit der Merchant API:
- Stellen Sie eine
GET-Anfrage, um alle vorhandenenshippingsettingsund Warehouses abzurufen. Kopieren Sie die
shippingsettingsaus derGET-Anfrage in dieUPDATE-Anfrage.Füllen Sie die Warehouses aus, wenn Sie sie im Abschnitt
warehousesfür dieINSERT-Anfrage verwenden möchten.Stellen Sie eine
UPDATE-Anfrage, die die Ressourcenshippingsettingsundwarehousesenthält.
Hier sehen Sie einen Beispielanfragetext für eine INSERT-Anfrage, bei der das Warehouse für Warehouse 1 von New York nach Mountain View aktualisiert wurde:
{
"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"
}
]
}
]
}
Lieferung am selben Tag hinzufügen
Sie können die Content API for Shopping verwenden, um Versandservices mit Lieferung am selben Tag zu konfigurieren, wenn Sie lokales Inventar haben. Versandservices mit Lieferung am selben Tag haben local_delivery als shipment_type. Alle local_delivery-Versandservices gelten derzeit als Lieferungen am selben Tag.
Sie können die Informationen zu delivery_time für lokale Lieferungen nicht ändern. Verwenden Sie shippingsettings.insert, um die Lieferung am selben Tag für Ihre Produkte mit lokalem Inventar einzurichten.
Hier sehen Sie einen Beispielanfragetext, mit dem Sie allen Geschäften in Ihrem Konto einen Versandservice mit Lieferung am selben Tag hinzufügen:
{
"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"
}
}
}
]
}
Lieferung am nächsten Tag hinzufügen
Bestellungen, die nach dem Annahmeschluss für die Lieferung am selben Tag aufgegeben werden, werden standardmäßig für die Lieferung am nächsten Tag geplant. Wenn Sie die Lieferung am nächsten Tag deaktivieren möchten, setzen Sie das Feld no_delivery_post_cutoff auf „true“. Wenn Sie die Lieferung am nächsten Tag deaktivieren, sind Ihre Versandservices nur vor dem Annahmeschluss des jeweiligen Tages sichtbar.
Die Lieferung am nächsten Tag ist nur verfügbar, wenn shipment_type auf local_delivery gesetzt ist.
Weitere Informationen
Informationen zur Migration von der Content API for Shopping finden Sie unter Versandeinstellungen verwalten.