Dengan resource
ShippingSettings
ini, Anda dapat mengambil dan memperbarui setelan pengiriman akun Anda.
Google dapat memperbarui estimasi waktu pengiriman untuk beberapa produk secara otomatis. Untuk mengetahui 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 telah diubah.
Etag
Etag adalah token yang dienkode untuk menghindari update asinkron. ETag berubah saat data setelan pengiriman apa pun 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 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 Penjual 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, 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}: Bagian menit dari batas waktu hingga pesanan harus dilakukan agar dapat diproses pada hari yang sama oleh gudang.
- {handling_days}: Jumlah hari yang dibutuhkan gudang ini untuk mengemas dan mengirimkan item.
Resource warehouses adalah daftar gudang. Setiap gudang dapat dirujuk oleh waktu pengiriman berbasis gudang layanan pengiriman melalui warehouse.name.
Mengelola gudang Anda
Berikut cara menggunakan Merchant API untuk mengelola gudang Anda:
- Buat permintaan
GETuntuk mengambil semuashippingsettingsdan gudang yang ada. Salin
shippingsettingsdari permintaanGETke permintaanUPDATE.Isi gudang jika Anda ingin menggunakannya di bagian
warehousesuntuk permintaanINSERT.Buat permintaan
UPDATEyang berisi resourceshippingsettingsdanwarehouses.
Berikut contoh isi permintaan INSERT dengan gudang 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. Semua layanan pengiriman local_delivery dianggap sebagai pengiriman pada hari yang sama saat ini.
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 benar (true). Jika Anda menonaktifkan pengiriman pada hari berikutnya, layanan pengiriman Anda 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.