Versandeinstellungen

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:

  1. Stellen 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, 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:

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

  3. Füllen Sie die Warehouses aus, wenn Sie sie im Abschnitt warehouses für die INSERT-Anfrage verwenden möchten.

  4. Stellen Sie eine UPDATE-Anfrage, die die Ressourcen shippingsettings und warehouses enthä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.