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 Versandservice der Merchant API:
- Senden Sie eine
GET-Anfrage, um die vollständigen Versandeinstellungen Ihres Kontos abzurufen. - Ändern Sie die Versandeinstellungen.
- Senden Sie eine
INSERT-Anfrage mit den geänderten Versandeinstellungen.
ETag
Etag ist ein codiertes Token, um asynchrone Updates zu vermeiden. Das ETag ändert sich, wenn sich die Daten der Versandeinstellungen ändern. Nutzer müssen das ETag, das sie von 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 neueste ETag-Token abzurufen. Sie müssen die Anfrage GET aufrufen, um das neue ETag-Token abzurufen, und das neue ETag-Token in den Anfragetext von INSERT kopieren.
Versandeinstellungen hinzufügen
Verwenden Sie shippingsettings.insert, um die Versandeinstellungen für Ihr Konto hinzuzufügen oder zu aktualisieren. Hier ist eine Beispielanfrage, mit der die maxTransitDays für einen Versandservice namens GSA Shipping – Kostenloser Versand ab 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 Merchant Shipping Settings Service 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}: Straßenname und Hausnummer der Lageradresse.
- {city}: Stadt, Ort oder Gemeinde, 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}: Minutenangabe des Annahmeschlusses für Bestellungen, bis zu dem eine Bestellung aufgegeben werden muss, damit sie 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 Ressource warehouses ist eine Liste von Lagern. Auf jedes Lager kann über die lagerbasierte Lieferdauer des Versandservice über warehouse.name verwiesen werden.
Lager verwalten
So verwalten Sie Ihre Lager mit der Merchant API:
- Stellen Sie eine
GET-Anfrage, um alle vorhandenenshippingsettingsund Warehouses abzurufen. Kopieren Sie den
shippingsettingsaus derGET-Anfrage in dieUPDATE-Anfrage.Füllen Sie die Warehouses aus, wenn Sie sie im Abschnitt
warehousesfür die AnfrageINSERTverwenden möchten.Stellen Sie eine
UPDATE-Anfrage, die die Ressourcenshippingsettingsundwarehousesenthält.
Hier ist ein Beispiel für einen INSERT-Anfragetext, in dem das Lager für Warehouse 1 von New York in Mountain View geändert 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 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 werden derzeit als Lieferung am selben Tag betrachtet.
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 im lokalen Inventar einzurichten.
Hier ist ein Beispiel für einen Anfragetext, mit dem ein Versandservice mit Lieferung am selben Tag für alle Geschäfte in Ihrem Konto 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 Bestellungen 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 für Bestellungen sichtbar.
Die Lieferung am nächsten Tag ist nur verfügbar, wenn der shipment_type local_delivery ist.
Weitere Informationen
Informationen zur Migration von der Content API for Shopping finden Sie unter Verwaltung der Versandeinstellungen migrieren.