يتيح لك المرجع
ShippingSettings
استرداد إعدادات الشحن في حسابك وتعديلها.
يمكن أن تعدّل Google تلقائيًا وقت التسليم المقدَّر لبعض المنتجات. لمزيد من المعلومات، يُرجى الاطّلاع على تفعيل التحسينات التلقائية.
قراءة إعدادات الشحن أو كتابتها أو تعديلها
لاستخدام خدمة الشحن في Merchant API، اتّبِع الخطوات التالية:
- أرسِل طلب
GETلاسترداد إعدادات الشحن الكاملة لحسابك. - عدِّل إعدادات الشحن.
- قدِّم
INSERTطلبًا يتضمّن إعدادات الشحن المعدَّلة.
Etag
ETag هو رمز مميّز مشفّر لتجنُّب التحديثات غير المتزامنة. يتغيّر etag عند تغيير أي من بيانات إعدادات الشحن. على المستخدمين نسخ قيمة etag التي حصلوا عليها من طلب GET إلى نص طلب INSERT.
إذا تغيّرت بيانات إعدادات الشحن بين طلب GET وطلب INSERT، ستتلقّى رسالة خطأ تطلب منك إرسال طلب GET آخر لاسترداد أحدث رمز مميز لعلامة etag. عليك إجراء طلب GET لاسترداد رمز etag الجديد ونسخ رمز etag الجديد إلى نص الطلب INSERT.
إضافة إعدادات الشحن
استخدِم shippingsettings.insert لإضافة إعدادات الشحن أو تعديلها في حسابك. في ما يلي نموذج طلب يعدّل قيمة maxTransitDays إلى 7 لخدمة شحن باسم GSA Shipping - Free Ship Over $49.99 ضمن الحساب 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"
}
]
}
]
}
في ما يلي نموذج يمكنك استخدامه لإدراج إعدادات الشحن:
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()
ضبط المستودعات
يوضّح نموذج JSON التالي كيف يمكنك استخدام خدمة إعدادات الشحن في Merchant Center لإدارة معلومات المستودع لحسابك على Merchant Center:
"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"
]
}
}
]
غيِّر القيم في السلسلة على الشكل التالي:
- {street_address}: الجزء الخاص بمستوى الشارع من عنوان المستودع
- {city}: المدينة أو البلدة أو البلدية التي يقع فيها المستودع
- {administrative_area}: تمثّل هذه السمة القسم الإداري للبلد. على سبيل المثال، الولاية.
- {postal_code}: الرمز البريدي أو رمز المنطقة
- {region_code}: رمز البلد في السلسلة
- {minutes}: تمثّل هذه السمة جزء الدقائق من الموعد النهائي الذي يجب تقديم الطلب بحلوله لتتم معالجته في اليوم نفسه من قِبل المستودع.
- {handling_days}: يشير هذا الحقل إلى عدد الأيام التي يستغرقها المستودع لتغليف السلعة وشحنها.
المورد warehouses هو قائمة بالمستودعات. يمكن الإشارة إلى كل مستودع من خلال مدة التسليم المستندة إلى المستودع في خدمة الشحن باستخدام warehouse.name.
إدارة مستودعاتك
إليك كيفية استخدام Merchant API لإدارة مستودعاتك:
- أرسِل طلب
GETلاسترداد جميعshippingsettingsوالمستودعات الحالية. انسخ
shippingsettingsمن طلبGETإلى طلبUPDATE.املأ المستودعات إذا كنت تريد استخدامها في القسم
warehousesلطلبINSERT.قدِّم طلب
UPDATEيحتوي على الموردَينshippingsettingsوwarehouses.
في ما يلي نموذج لنص طلب INSERT تم تعديل المستودع الخاص به Warehouse 1 من نيويورك إلى ماونتن فيو:
{
"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"
}
]
}
]
}
إضافة خدمة تسليم في اليوم نفسه
يمكنك استخدام Content API for Shopping لإعداد خدمات شحن تتيح التسليم في اليوم نفسه إذا كان لديك مخزون متوفر في المتجر. تكون shipment_type لخدمات الشحن التي توفّر التوصيل في اليوم نفسه هي local_delivery. في الوقت الحالي، تُعدّ جميع خدمات الشحن local_delivery عمليات تسليم في اليوم نفسه.
لا يمكنك تغيير معلومات delivery_time لعمليات التسليم المحلية. استخدِم
shippingsettings.insert لإعداد ميزة "التسليم في اليوم نفسه" لمنتجاتك المتوفرة في المتجر.
في ما يلي نموذج لنص الطلب الذي يضيف خدمة توصيل في اليوم نفسه إلى جميع المتاجر في حسابك:
{
"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"
}
}
}
]
}
إضافة خدمة التسليم في اليوم التالي
يتم تلقائيًا تحديد موعد لتسليم الطلبات في اليوم التالي إذا تم تقديمها بعد الموعد النهائي لطلب المنتجات التي يمكن تسليمها في اليوم نفسه. لإيقاف ميزة "التوصيل في اليوم التالي"، اضبط الحقل
no_delivery_post_cutoff على القيمة true. في حال إيقاف خدمة "التوصيل في اليوم التالي"، لن تظهر خدمات الشحن إلا قبل الموعد النهائي كل يوم.
تتوفّر خدمة التوصيل في اليوم التالي فقط عندما تكون قيمة shipment_type هي
local_delivery.
مزيد من المعلومات
لمعرفة المزيد حول نقل البيانات من Content API for Shopping، يُرجى الاطّلاع على نقل بيانات إدارة إعدادات الشحن.