ShippingSettings
kaynağı, hesabınızın kargo ayarlarını almanıza ve güncellemenize olanak tanır.
Google, bazı ürünlerin tahmini teslimat süresini otomatik olarak güncelleyebilir. Daha fazla bilgi için Otomatik iyileştirmeleri etkinleştirme başlıklı makaleyi inceleyin.
Kargo ayarlarını okuma, yazma veya güncelleme
Merchant API kargo hizmetini kullanmak için şunları yapın:
- Hesabınızın tüm kargo ayarlarını almak için
GET
isteği gönderin. - Kargo ayarlarını değiştirin.
- Değiştirilen kargo ayarlarıyla bir
INSERT
isteği gönderin.
Etag
Etag, eşzamansız güncellemeleri önlemek için kodlanmış bir jetondur. Gönderim ayarlarından herhangi biri değiştiğinde etag değişir. Kullanıcıların, GET
isteğinden elde ettikleri etag'i INSERT
istek gövdesine kopyalamaları gerekir.
Gönderim ayarları verileri, GET
isteği ile INSERT
isteği arasında değişirse en son etag jetonunu almak için başka bir GET
isteği göndermenizi isteyen bir hata mesajı alırsınız. Yeni etag jetonunu almak için GET
isteğini çağırmanız ve yeni etag jetonunu INSERT
istek gövdesine kopyalamanız gerekir.
Kargo ayarlarınızı ekleme
Hesabınızın gönderim ayarlarını eklemek veya güncellemek için shippingsettings.insert
simgesini kullanın. Aşağıda, 10 numaralı hesap altındaki GSA Shipping - Free Ship Over $49.99 adlı gönderim hizmeti için maxTransitDays
değerini 7 olarak güncelleyen örnek bir istek verilmiştir.
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"
}
]
}
]
}
Kargo ayarı eklemek için kullanabileceğiniz bir örnek aşağıda verilmiştir:
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()
Depo ayarlama
Aşağıdaki JSON örneğinde, Merchant Center hesabınızın depo bilgilerini yönetmek için Satıcı Gönderimi ayarları hizmetini nasıl kullanabileceğiniz gösterilmektedir:
"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"
]
}
}
]
Aşağıdakini değiştirin:
- {street_address}: Deponun adresinin sokak düzeyindeki kısmı.
- {city}: Deponun bulunduğu şehir, kasaba veya belediye.
- {administrative_area}: Ülkenin idari alt bölümü. Örneğin, bu bir eyalet olabilir.
- {postal_code}: Posta kodu.
- {region_code}: Dizedeki ülke kodu.
- {minutes}: Depo tarafından aynı gün içinde işlenebilmesi için siparişin verilmesi gereken son sipariş saatinin dakika kısmı.
- {handling_days}: Bu deponun bir ürünü paketleyip göndermesi için gereken gün sayısı.
warehouses
kaynağı, depoların listesidir. Her depo, warehouse.name
aracılığıyla kargo hizmetinin depoya dayalı teslimat süresiyle referans verilebilir.
Depolarınızı yönetme
Merchant API'yi kullanarak depolarınızı yönetmek için:
- Mevcut tüm
shippingsettings
ve depolarınızı almak içinGET
isteği gönderin. GET
isteğinde bulunanshippingsettings
öğesiniUPDATE
isteğine kopyalayın.INSERT
isteği içinwarehouses
bölümünde kullanmak istiyorsanız depoları doldurun.shippingsettings
vewarehouses
kaynaklarını içeren birUPDATE
isteği gönderin.
New York'tan Mountain View'a güncellenen Depo 1 için depo içeren örnek bir INSERT
istek gövdesi aşağıda verilmiştir:
{
"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"
}
]
}
]
}
Aynı gün teslimat ekleme
Yerel envanteriniz varsa aynı gün teslimat kargo hizmetlerini yapılandırmak için Content API for Shopping'i kullanabilirsiniz. Aynı gün teslimat kargo hizmetlerinin shipment_type
değeri local_delivery
'tür. Şu anda tüm local_delivery
kargo hizmetleri aynı gün teslimat olarak kabul edilmektedir.
Yerel yayınlar için delivery_time
bilgilerini değiştiremezsiniz. Yerel envanter ürünleriniz için aynı gün teslimatı ayarlamak üzere shippingsettings.insert
öğesini kullanın.
Hesabınız için tüm mağazalara aynı gün teslimat hizmeti ekleyen örnek bir istek gövdesi aşağıda verilmiştir:
{
"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"
}
}
}
]
}
Ertesi gün teslimat ekleme
Aynı gün teslimat son sipariş saatinizden sonra verilen siparişler varsayılan olarak sonraki gün teslimat için planlanır. Sonraki gün teslimatını devre dışı bırakmak için no_delivery_post_cutoff
alanını true olarak ayarlayın. Sonraki gün teslimatı devre dışı bırakırsanız kargo hizmetleriniz yalnızca her gün son sipariş saatinden önce görünür.
Sonraki gün teslimat yalnızca shipment_type
local_delivery
olduğunda kullanılabilir.
Daha fazla bilgi
Content API for Shopping'ten taşıma hakkında bilgi edinmek için Kargo ayarlarını taşıma başlıklı makaleyi inceleyin.