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
GET
untuk mengambil setelan pengiriman lengkap akun Anda. - Ubah setelan pengiriman.
- 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:
- Buat permintaan
GET
untuk mengambil semuashippingsettings
dan gudang yang ada. Salin
shippingsettings
dari permintaanGET
ke permintaanUPDATE
.Isi warehouse jika Anda ingin menggunakannya di bagian
warehouses
untuk permintaanINSERT
.Buat permintaan
UPDATE
yang berisi resourceshippingsettings
danwarehouses
.
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.