Omówienie ustawień dostawy

Zasób shippingsettings umożliwia pobieranie i aktualizowanie ustawień dostawy na Twoim koncie.

Google może automatycznie zaktualizować szacowany czas dostawy w przypadku niektórych produktów. Więcej informacji znajdziesz w artykule o włączaniu automatycznych poprawek.

Odczytywanie, zapisywanie i aktualizowanie ustawień dostawy

Aby korzystać z usługi dostawy w interfejsie API Merchant Center, wykonaj te czynności:

  1. Wyślij żądanie GET, aby pobrać pełne ustawienia dostawy ze swojego konta.
  2. Zmień ustawienia dostawy.
  3. Wyślij prośbę o: INSERT ze zmodyfikowanymi ustawieniami dostawy.

ETag

Etag to zakodowany token, który pozwala unikać aktualizacji asynchronicznych. Ten tag zmienia się, gdy zmienią się jakiekolwiek dane ustawień dostawy. Użytkownicy muszą skopiować etag uzyskany w żądaniu GET do treści żądania INSERT.

Jeśli dane ustawień dostawy zmienią się między żądaniem GET a żądaniem INSERT, otrzymasz komunikat o błędzie z prośbą o kolejne żądanie GET w celu pobrania najnowszego tokena etag. Musisz wywołać żądanie GET, aby pobrać nowy token etag i skopiować go do treści żądania INSERT.

Dodaj ustawienia dostawy

Użyj konta shippingsettings.insert, aby dodać lub zaktualizować ustawienia dostawy na swoim koncie. Oto przykładowe żądanie, które zmienia wartość z maxTransitDays na 7 w przypadku usługi dostawy o nazwie Dostawa GSA – bezpłatna dostawa powyżej 49,99 USD na koncie 10.

POST https://merchantapi.googleapis.com/accounts/v1beta/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"
        }
      ]
    }
  ]
}

Ustaw hurtownie

Ten przykładowy kod JSON pokazuje, jak za pomocą usługi Ustawienia dostawy dla sprzedawcy zarządzać informacjami o hurtowni na koncie sprzedawcy:

"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"
      ]
    }
  }
]

Zastąp następujące elementy:

  • {street_address}: część adresu magazynu na poziomie ulicy.
  • {city}: miasto, miejscowość lub gmina, w której znajduje się magazyn.
  • {administrative_area}: jednostka podziału administracyjnego kraju. Na przykład stan.
  • {postal_code}: kod pocztowy.
  • {region_code}: kod kraju w ciągu znaków.
  • {minutes}: minuty w ostatecznym terminie, do którego magazyn musi złożyć zamówienie, aby zostało przetworzone tego samego dnia przez magazyn.
  • {handling_days}: liczba dni na zapakowanie i wysłanie produktu przez magazyn.

Zasób warehouses to lista hurtowni. Każdy magazyn może być określony na podstawie czasu dostawy na podstawie czasu dostawy w magazynie do warehouse.name.

Zarządzanie hurtowniami

Aby zarządzać magazynami za pomocą interfejsu Merchant API:

  1. Wyślij żądanie GET, aby pobrać wszystkie istniejące magazyny shippingsettings i magazyny.
  2. Skopiuj shippingsettings z żądania GET do żądania UPDATE.

  3. Wypełnij magazyny, jeśli chcesz ich użyć w sekcji warehouses żądania INSERT.

  4. Utwórz żądanie UPDATE zawierające zasoby shippingsettings i warehouses.

Oto przykładowa treść żądania INSERT z magazynem Warehouse 1 zaktualizowanym z Nowego Jorku do Mountain View:

{
  "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"
        }
      ]
    }
  ]
}

Dodaj dostawę tego samego dnia

Jeśli masz lokalny asortyment, możesz skonfigurować usługę dostawy tego samego dnia za pomocą Content API for Shopping. Usługi dostawy tego samego dnia mają local_delivery jako shipment_type. Obecnie wszystkie usługi dostawy dostępne na platformie local_delivery są uznawane za dostawy tego samego dnia.

Nie możesz zmienić informacji delivery_time dotyczących dostaw lokalnych. Użyj atrybutu shippingsettings.insert, aby skonfigurować dostawę tego samego dnia w przypadku produktów z lokalnego asortymentu produktów.

Oto przykładowa treść żądania, która dodaje usługę dostawy tego samego dnia do wszystkich sklepów na Twoim koncie:

{
  "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"
        }
      }
    }
  ]
}

Dodaj dostawę następnego dnia

Zamówienia złożone po ostatecznym terminie dostawy tego samego dnia są domyślnie zaplanowane na dostawę następnego dnia. Aby wyłączyć dostawę następnego dnia, ustaw pole no_delivery_post_cutoff na wartość true. Jeśli wyłączysz dostawę następnego dnia, usługi będą widoczne codziennie przed ostatecznym terminem.

Dostawa następnego dnia jest dostępna tylko wtedy, gdy shipment_type to local_delivery.