סקירה כללית של הגדרות המשלוח

המשאב ShippingSettings מאפשר לאחזר ולעדכן את הגדרות המשלוח בחשבון.

Google יכולה לעדכן באופן אוטומטי את זמן האספקה המשוער של מוצרים מסוימים. מידע נוסף זמין במאמר הפעלת שיפורים אוטומטיים.

קריאה, כתיבת ועדכון של הגדרות המשלוח

כדי להשתמש בשירות המשלוחים של Merchant API:

  1. שולחים בקשה ל-GET כדי לאחזר את הגדרות המשלוח המלאות של החשבון.
  2. משנים את הגדרות המשלוח.
  3. שולחים בקשה מסוג 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/v1beta/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"
        }
      ]
    }
  ]
}

הגדרת מחסנים

בדוגמה הבאה ל-JSON מוסבר איך משתמשים בשירות ההגדרות של משלוח של מוכרים כדי לנהל את פרטי המחסן בחשבון המוכר:

"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 כדי לנהל את המחסנים:

  1. שולחים בקשה מסוג GET כדי לאחזר את כל shippingsettings והמחסנים הקיימים.
  2. מעתיקים את shippingsettings מהבקשה GET לבקשה UPDATE.

  3. אם רוצים להשתמש במחסנים, צריך לאכלס אותם בקטע warehouses של הבקשה INSERT.

  4. שולחים בקשת 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 כדי להגדיר שירותי משלוחים למסירה ביום הקנייה. 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 זמין במאמר העברת ניהול הגדרות המשלוח.