Ringkasan setelan pengiriman

Referensi ShippingSettings memungkinkan Anda mengambil dan memperbarui setelan pengiriman akun.

Google dapat memperbarui estimasi waktu pengiriman untuk beberapa produk secara otomatis. Untuk informasi selengkapnya, lihat Mengaktifkan peningkatan otomatis.

Membaca, menulis, atau memperbarui setelan pengiriman

Untuk menggunakan layanan pengiriman Merchant API, lakukan hal berikut:

  1. Buat permintaan GET untuk mengambil setelan pengiriman lengkap akun Anda.
  2. Ubah setelan pengiriman.
  3. Buat permintaan INSERT dengan setelan pengiriman yang diubah.

Etag

Etag adalah token yang dienkode untuk menghindari update asinkron. Etag akan berubah saat data setelan pengiriman berubah. Pengguna harus menyalin etag yang diperoleh dari permintaan GET ke isi permintaan INSERT.

Jika data setelan pengiriman berubah antara permintaan GET dan permintaan INSERT, Anda akan menerima pesan error yang meminta permintaan GET lain untuk mengambil token etag terbaru. Anda perlu memanggil permintaan GET untuk mengambil token etag baru dan menyalin token etag baru ke isi permintaan INSERT.

Menambahkan setelan pengiriman

Gunakan shippingsettings.insert untuk menambahkan atau memperbarui setelan pengiriman untuk akun Anda. Berikut adalah contoh permintaan yang memperbarui maxTransitDays menjadi 7 untuk Layanan Pengiriman yang disebut GSA Shipping - Free Ship Over $49.99, di akun 10.

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

Berikut adalah contoh yang dapat Anda gunakan untuk menyisipkan setelan pengiriman:

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

Menetapkan gudang

Contoh JSON berikut menunjukkan cara menggunakan layanan setelan Pengiriman Merchant untuk mengelola informasi gudang untuk akun Merchant Center Anda:

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

Ganti kode berikut:

  • {street_address}: Bagian alamat gudang di tingkat jalan.
  • {city}: Kota, kota kecil, atau komune tempat gudang berada.
  • {administrative_area}: Subdivisi administratif negara. Misalnya, negara bagian.
  • {postal_code}: Kode pos atau kode ZIP.
  • {region_code}: Kode negara dalam string.
  • {minutes}: Menit bagian dari batas waktu hingga pesanan harus dilakukan untuk diproses pada hari yang sama oleh gudang.
  • {handling_days}: Jumlah hari yang diperlukan untuk gudang ini mengemas dan mengirim item.

Resource warehouses adalah daftar gudang. Setiap gudang dapat dirujuk oleh waktu pengiriman berbasis gudang layanan pengiriman melalui warehouse.name.

Mengelola gudang

Berikut cara menggunakan Merchant API untuk mengelola gudang Anda:

  1. Buat permintaan GET untuk mengambil semua shippingsettings dan gudang yang ada.
  2. Salin shippingsettings dari permintaan GET ke permintaan UPDATE.

  3. Isi warehouse jika Anda ingin menggunakannya di bagian warehouses untuk permintaan INSERT.

  4. Buat permintaan UPDATE yang berisi resource shippingsettings dan warehouses.

Berikut adalah contoh isi permintaan INSERT dengan warehouse untuk Warehouse 1 yang diperbarui dari New York ke 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"
        }
      ]
    }
  ]
}

Menambahkan pengiriman pada hari yang sama

Anda dapat menggunakan Content API for Shopping untuk mengonfigurasi layanan pengiriman pada hari yang sama jika Anda memiliki inventaris lokal. Layanan pengiriman pada hari yang sama memiliki local_delivery sebagai shipment_type. Saat ini, semua layanan pengiriman local_delivery dianggap sebagai pengiriman pada hari yang sama.

Anda tidak dapat mengubah informasi delivery_time untuk pengiriman lokal. Gunakan shippingsettings.insert untuk menyiapkan pengiriman pada hari yang sama untuk produk inventaris lokal Anda.

Berikut adalah contoh isi permintaan yang menambahkan layanan pengiriman pada hari yang sama ke semua toko untuk akun Anda:

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

Menambahkan pengiriman pada hari berikutnya

Pesanan yang dilakukan setelah batas waktu pengiriman pada hari yang sama dijadwalkan untuk pengiriman pada hari berikutnya secara default. Untuk menonaktifkan pengiriman pada hari berikutnya, tetapkan kolom no_delivery_post_cutoff ke true. Jika Anda menonaktifkan pengiriman pada hari berikutnya, layanan pengiriman hanya akan terlihat sebelum batas waktu setiap hari.

Pengiriman pada hari berikutnya hanya tersedia jika shipment_type adalah local_delivery.

Pelajari lebih lanjut

Untuk mempelajari cara bermigrasi dari Content API for Shopping, lihat Memigrasikan pengelolaan setelan pengiriman.