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

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

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

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

כדי להשתמש בשירות המשלוחים של Merchant API, צריך לבצע את הפעולות הבאות:

  1. שולחים בקשה GET כדי לקבל את הגדרות המשלוח המלאות בחשבון.
  2. משנים את הגדרות המשלוח.
  3. יש ליצור בקשת INSERT עם הגדרות משלוח ששונו.

אטאג

Etag הוא אסימון מקודד למניעת עדכונים אסינכרוניים. ה-etag משתנה אם אחד או יותר מהנתונים של הגדרות המשלוח משתנים. המשתמשים צריכים להעתיק את ה-etag שהם קיבלו מבקשת ה-GET לגוף הבקשה INSERT.

אם הנתונים בהגדרות המשלוח ישתנו בין הבקשה GET לבין הבקשה INSERT, תופיע הודעת שגיאה עם בקשה נוספת של GET לאחזור אסימון ה-etag העדכני ביותר. כדי לאחזר את אסימון ה-etag החדש ולהעתיק אותו לגוף הבקשה INSERT, צריך להפעיל את הבקשה GET.

הוספת הגדרות המשלוח

באמצעות shippingsettings.insert אפשר להוסיף או לעדכן את הגדרות המשלוח בחשבון. הנה בקשה לדוגמה שמעדכנת את הערך maxTransitDays ל-7 של שירות משלוחים שנקרא משלוח GSA – משלוח חינם מעל $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}: חלוקת המשנה המנהלית של המדינה. לדוגמה: מדינה (State).
  • {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.