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 aşağıdakileri yapın:
- Hesabınızın kargo ayarlarının tamamını almak için
GETisteğinde bulunun. - Kargo ayarlarını değiştirin.
- Değiştirilen kargo ayarlarıyla
INSERTisteğinde bulunun.
Etag
Etag, eşzamansız güncellemeleri önlemek için kodlanmış bir jetondur. Kargo ayarları verilerinden herhangi biri değiştiğinde etag değişir. Kullanıcıların GET isteğinden aldıkları etag'i INSERT istek gövdesine kopyalaması gerekir.
GET isteği ile INSERT isteği arasında kargo ayarları verileri 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 isteği gövdesine kopyalamanız gerekir.
Kargo ayarlarınızı ekleme
Hesabınızın kargo ayarlarını eklemek veya güncellemek için shippingsettings.insert simgesini kullanın. Aşağıda, 10 numaralı hesapta GSA Shipping - Free Ship Over $49.99 adlı bir kargo 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 örneği aşağıda bulabilirsiniz:
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 Merchant Shipping 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 komün.
- {administrative_area}: Ülkenin idari alt bölümü. Örneğin, bu bir eyalet olabilir.
- {postal_code}: Posta kodu.
- {region_code}: Dizedeki ülke kodu.
- {minutes}: Siparişin aynı gün içinde depoda işleme alınabilmesi için verilmesi gereken son sipariş saatinin dakika kısmı.
- {handling_days}: Bu deponun bir öğeyi 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 belirtilebilir.
Depolarınızı yönetme
Depolarınızı yönetmek için Merchant API'yi nasıl kullanacağınız aşağıda açıklanmıştır:
- Mevcut tüm
GETve depolarınızı almak içinshippingsettingsisteğinde bulunun. shippingsettingsisteğindekishippingsettingsdeğeriniUPDATEisteğine kopyalayın.GETwarehousesbölümünde kullanmak istiyorsanız depolarıINSERTisteği için doldurun.UPDATEvewarehouseskaynaklarını içeren birUPDATEisteği gönderin.shippingsettings
Depo 1 için New York'tan Mountain View'a güncellenen depo içeren örnek bir INSERT istek gövdesini aşağıda bulabilirsiniz:
{
"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 teslimatlı kargo hizmetlerini yapılandırmak için Content API for Shopping'i kullanabilirsiniz. Aynı gün teslimatlı kargo hizmetlerinin local_delivery olarak shipment_type vardır. Şu anda tüm local_delivery kargo hizmetleri aynı gün teslimat olarak kabul edilmektedir.
Yerel teslimatlar için delivery_time bilgilerini değiştiremezsiniz. Yerel envanter ürünleriniz için aynı gün teslimatı ayarlamak üzere
shippingsettings.insert kullanın.
Aşağıda, hesabınızdaki tüm mağazalara aynı gün teslimat hizmeti ekleyen örnek bir istek gövdesi 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 için son sipariş saatinden sonra verilen siparişler varsayılan olarak sonraki gün teslim edilecek şekilde planlanır. Sonraki gün teslimatı devre dışı bırakmak için no_delivery_post_cutoff alanını doğru olarak ayarlayın. Sonraki gün teslimat özelliğini devre dışı bırakırsanız kargo hizmetleriniz her gün yalnızca son sipariş saatinden önce görünür.
Sonraki gün teslimat yalnızca shipment_type olduğunda kullanılabilir.
local_delivery
Daha fazla bilgi
Content API for Shopping'den geçiş yapma hakkında bilgi edinmek için Kargo ayarları yönetimini taşıma başlıklı makaleyi inceleyin.