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 tüm kargo ayarlarını almak için bir
GETisteği gönderin. - Kargo ayarlarını değiştirme
- Değiştirilen kargo ayarlarıyla bir
INSERTisteği gönderin.
Etag
Etag, eşzamansız güncellemeleri önlemek için kodlanmış bir jetondur. Kargo ayarları verilerinden herhangi biri değiştiğinde etag de değişir. Kullanıcıların, GET isteğinden aldıkları etag'i INSERT istek gövdesine kopyalamaları gerekir.
Kargo 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 kargo ayarlarını eklemek veya güncellemek için shippingsettings.insert kullanın. Aşağıda, 10 numaralı hesapta GSA Shipping - Free Ship Over $49.99 adlı 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"
}
]
}
]
}
Gönderim 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()
Depoları ayarlama
Aşağıdaki JSON örneğinde, Merchant Center hesabınızın depo bilgilerini yönetmek için Merchant Shipping Settings 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}: Depo adresinin sokak düzeyindeki kısmı.
- {city}: Deponun bulunduğu şehir, kasaba veya bölge.
- {administrative_area}: Ülkenin idari alt bölümü. Örneğin, bu bir eyalet olabilir.
- {postal_code}: Posta kodu.
- {region_code}: Dize biçimindeki ü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 ü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 ilişkilendirilebilir.
Depolarınızı yönetme
Depolarınızı yönetmek için Merchant API'yi nasıl kullanacağınızı aşağıda bulabilirsiniz:
- Mevcut tüm
shippingsettingsve depolarınızı almak için birGETisteği gönderin. shippingsettingsdeğeriniGETisteğindenUPDATEisteğine kopyalayın.INSERTisteği içinwarehousesbölümünde kullanmak istiyorsanız depoları doldurun.shippingsettingsvewarehouseskaynaklarını içeren birUPDATEisteği gönderin.
Warehouse 1 için depo bilgisi New York'tan Mountain View'a güncellenmiş ö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 ekle
Yerel envanteriniz varsa aynı gün teslimat kargo hizmetlerini yapılandırmak için Content API for Shopping'i kullanabilirsiniz. Aynı gün teslimatlı kargo hizmetlerinin shipment_type değeri local_delivery olarak ayarlanır. Şu anda tüm local_delivery kargo hizmetleri aynı gün teslimat olarak kabul ediliyor.
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 ekle
Aynı gün teslimat için son sipariş saatinden sonra verilen siparişler, varsayılan olarak sonraki gün teslimat için planlanır. Sonraki gün teslimatı devre dışı bırakmak için no_delivery_post_cutoff alanını "true" olarak ayarlayın. Sonraki gün teslimat seçeneğini devre dışı bırakırsanız kargo hizmetleriniz her gün yalnızca son sipariş saatinden önce görünür.
Ertesi gün teslimat yalnızca shipment_type, local_delivery olduğunda kullanılabilir.
Daha fazla bilgi
Content API for Shopping'den geçiş hakkında bilgi edinmek için Kargo ayarları yönetimini taşıma başlıklı makaleyi inceleyin.