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:
- Buat permintaan GETuntuk mengambil setelan pengiriman lengkap akun Anda.
- Ubah setelan pengiriman.
- Buat permintaan INSERTdengan 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:
- Buat permintaan GETuntuk mengambil semuashippingsettingsdan gudang yang ada.
- Salin - shippingsettingsdari permintaan- GETke permintaan- UPDATE.
- Isi warehouse jika Anda ingin menggunakannya di bagian - warehousesuntuk permintaan- INSERT.
- Buat permintaan - UPDATEyang berisi resource- shippingsettingsdan- 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.