Mit der Ressource ShippingSettings können Sie die Versandeinstellungen Ihres Kontos abrufen und aktualisieren.
Google kann die voraussichtliche Lieferdauer für einige Produkte automatisch aktualisieren. Weitere Informationen finden Sie unter Automatische Verbesserungen aktivieren.
Versandeinstellungen lesen, schreiben oder aktualisieren
So verwenden Sie den Versanddienst der Merchant API:
- Senden 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. Die ETag ändert sich, wenn sich die Daten der Versandeinstellungen ändern. Nutzer müssen die ETag, die sie aus der GET-Anfrage erhalten haben, in den INSERT-Anfragetext 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 senden, um das aktuelle ETag-Token abzurufen. Sie müssen den GET-Aufruf ausführen, um das neue ETag-Token abzurufen und in den INSERT-Anfragetext zu kopieren.
Versandeinstellungen hinzufügen
Mit shippingsettings.insert können Sie die Versandeinstellungen für Ihr Konto hinzufügen oder aktualisieren. Hier sehen Sie eine Beispielanfrage, mit der die maxTransitDays für den Versanddienst 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 ist ein Beispiel, wie 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
Das folgende JSON-Beispiel zeigt, wie Sie mit dem Dienst für Händlereinstellungen für den Versand Lagerinformationen 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}: Der Teil der Lageradresse, der sich auf Straßenebene befindet.
- {city}: Stadt, Gemeinde oder Kommune, in der sich das Lager befindet.
- {administrative_area}: Die administrative Unterteilung des Landes. Zum Beispiel ein Bundesland.
- {postal_code}: Die Postleitzahl.
- {region_code}: Der Ländercode als String.
- {minutes}: Minutenanteil des Annahmeschlusses, bis zu dem eine Bestellung aufgegeben werden muss, damit sie noch am selben Tag vom Lager bearbeitet wird.
- {handling_days}: Die Anzahl der Tage, die dieses Lager benötigt, um einen Artikel zu verpacken und zu versenden.
Die warehouses-Ressource ist eine Liste von Warehouses. Auf jedes Lager kann über die lagerbasierte Lieferdauer des Versandservices mit warehouse.name verwiesen werden.
Warehouses verwalten
So verwalten Sie Ihre Lager 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 Data Warehouses aus, wenn Sie sie im Abschnitt
warehousesfür dieINSERT-Anfrage verwenden möchten.Stellen Sie eine
UPDATE-Anfrage, dieshippingsettings- undwarehouses-Ressourcen enthält.
Hier sehen Sie ein Beispiel für einen INSERT-Anfragetext, in dem das Warehouse für Warehouse 1 von New York nach Mountain View aktualisiert wird:
{
"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 für die Lieferung am selben Tag zu konfigurieren, wenn Sie lokales Inventar haben. Versandservices für die 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 delivery_time-Informationen für lokale Lieferungen nicht ändern. Mit shippingsettings.insert können Sie die Lieferung am selben Tag für Ihre Produkte mit lokalem Inventar einrichten.
Hier ist ein Beispiel für einen Anfragetext, mit dem allen Geschäften in Ihrem Konto ein Dienst für die Lieferung am selben Tag hinzugefügt wird:
{
"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 eingehen, 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 täglichen Annahmeschluss sichtbar.
Die Lieferung am nächsten Tag ist nur verfügbar, wenn shipment_type local_delivery ist.
Weitere Informationen
Weitere Informationen zur Migration von der Content API for Shopping