Versandeinstellungen

Unter 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:

  1. Senden Sie eine GET-Anfrage, um die vollständigen Versandeinstellungen Ihres Kontos abzurufen.
  2. Ändern Sie die Versandeinstellungen.
  3. Stellen Sie eine INSERT-Anfrage mit den geänderten Versandeinstellungen.

ETag

Etag ist ein codiertes Token, das asynchrone Aktualisierungen verhindert. Der Etag ändert sich, wenn sich Daten in den Versandeinstellungen ändern. Nutzer müssen den etag, den 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 neueste Etag-Token abzurufen. Sie müssen die GET-Anfrage aufrufen, um das neue ETag-Token abzurufen, und es in den INSERT-Anfragetext kopieren.

Versandeinstellungen hinzufügen

Verwenden Sie shippingsettings.insert, um die Versandeinstellungen für Ihr Konto hinzuzufügen oder zu aktualisieren. Hier ist eine Beispielanfrage, bei der die maxTransitDays für den Versandservice GSA Shipping – Free Ship Over $49.99 im 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 für eine Versandeinstellung:

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()

Lagerhäuser festlegen

Im folgenden JSON-Beispiel wird gezeigt, wie Sie mit dem Dienst „Einstellungen für den Versand durch Händler“ 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}: Die Adresse des Lagers auf Straßenebene.
  • {city}: Stadt, Ort oder Gemeinde, in der sich das Lager befindet.
  • {administrative_area}: Die Verwaltungseinheit des Landes. Zum Beispiel ein Bundesland.
  • {postal_code}: Die Postleitzahl.
  • {region_code}: Der Ländercode als String.
  • {minutes}: Minutenteil des Annahmeschlusses, bis zu dem eine Bestellung aufgegeben werden muss, damit sie noch am selben Tag vom Lager verarbeitet wird.
  • {handling_days}: Die Anzahl der Tage, die es dauert, bis ein Artikel in diesem Lager verpackt und versendet wird.

Die warehouses-Ressource ist eine Liste von Lagern. Auf jedes Lager kann über warehouse.name auf die lagerbasierte Lieferdauer des Versandservice verwiesen werden.

Lager verwalten

So verwalten Sie Ihre Lager mit der Merchant API:

  1. Stellen Sie eine GET-Anfrage, um alle vorhandenen shippingsettings und Lagerhäuser abzurufen.
  2. Kopieren Sie die shippingsettings aus der GET-Anfrage in die UPDATE-Anfrage.

  3. Fülle die Lager auf, wenn du sie im Abschnitt warehouses für die INSERT-Anfrage verwenden möchtest.

  4. Stellen Sie eine UPDATE-Anfrage, die shippingsettings- und warehouses-Ressourcen enthält.

Hier ist ein Beispiel für einen INSERT-Anfragekörper mit dem Lager Lager 1, das 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 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.

Die delivery_time-Informationen für lokale Lieferungen können nicht geändert werden. Verwenden Sie shippingsettings.insert, um die Lieferung am selben Tag für Ihre Produkte mit lokalem Inventar einzurichten.

Hier ist ein Beispiel für einen Anfragetext, mit dem allen Geschäften in Ihrem Konto ein Lieferservice 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 aufgegeben werden, werden standardmäßig am nächsten Tag geliefert. 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 jeweiligen Annahmeschluss sichtbar.

Die Lieferung am nächsten Tag ist nur verfügbar, wenn shipment_type local_delivery ist.

Weitere Informationen

Informationen zur Migration von der Content API for Shopping finden Sie unter Verwaltung der Versandeinstellungen migrieren.