המשאב
ShippingSettings
מאפשר לאחזר ולעדכן את הגדרות המשלוח של החשבון.
Google יכולה לעדכן אוטומטית את זמן האספקה המשוער של חלק מהמוצרים. מידע נוסף זמין במאמר הפעלת שיפורים אוטומטיים.
קריאה, כתיבה או עדכון של הגדרות משלוח
כדי להשתמש בשירות משלוחים של Merchant API:
- שולחים בקשה אל
GETכדי לאחזר את הגדרות המשלוח המלאות של החשבון. - משנים את הגדרות המשלוח.
- שולחים
INSERTבקשה עם הגדרות המשלוח ששונו.
Etag
Etag הוא טוקן מקודד שנועד למנוע עדכונים אסינכרוניים. ה-etag משתנה כשנתוני הגדרות המשלוח משתנים. המשתמשים צריכים להעתיק את ה-etag שקיבלו מבקשת GET לגוף הבקשה INSERT.
אם נתוני הגדרות המשלוח משתנים בין בקשת GET לבקשת INSERT, תוצג הודעת שגיאה שבה תתבקשו לשלוח בקשת GET נוספת כדי לאחזר את אסימון ה-etag העדכני ביותר. צריך להתקשר אל GET request כדי לאחזר את טוקן ה-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 Shipping settings כדי לנהל את פרטי המחסן בחשבון 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 עם מחסן עבור מחסן 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 כדי להגדיר שירותי משלוחים של מסירה ביום הקנייה. שירותי המשלוחים האלה מוגדרים עם local_delivery כshipment_type. בשלב הזה, כל שירותי המשלוחים של 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 זמין במאמר העברת ניהול הגדרות המשלוח.