Tổng quan về chế độ cài đặt thông tin vận chuyển

Tài nguyên ShippingSettings cho phép bạn truy xuất và cập nhật chế độ cài đặt thông tin vận chuyển của tài khoản.

Google có thể tự động cập nhật thời gian giao hàng dự kiến cho một số sản phẩm. Để biết thêm thông tin, hãy xem phần Bật tính năng cải thiện tự động.

Đọc, ghi hoặc cập nhật chế độ cài đặt thông tin vận chuyển

Để sử dụng dịch vụ vận chuyển Merchant API, hãy làm như sau:

  1. Đưa ra yêu cầu GET để truy xuất chế độ cài đặt thông tin vận chuyển đầy đủ của tài khoản.
  2. Sửa đổi chế độ cài đặt thông tin vận chuyển.
  3. Đưa ra yêu cầu INSERT kèm theo chế độ cài đặt thông tin vận chuyển đã sửa đổi.

Etag

Etag là một mã thông báo được mã hoá để tránh các bản cập nhật không đồng bộ. etag sẽ thay đổi khi có bất kỳ dữ liệu nào trong chế độ cài đặt thông tin vận chuyển thay đổi. Người dùng cần sao chép etag mà họ nhận được từ yêu cầu GET vào nội dung yêu cầu INSERT.

Nếu dữ liệu chế độ cài đặt thông tin vận chuyển thay đổi giữa yêu cầu GET và yêu cầu INSERT, bạn sẽ nhận được một thông báo lỗi yêu cầu một yêu cầu GET khác để truy xuất mã thông báo etag gần đây nhất. Bạn cần gọi yêu cầu GET để truy xuất mã thông báo etag mới và sao chép mã thông báo etag mới vào nội dung yêu cầu INSERT.

Thêm chế độ cài đặt thông tin vận chuyển

Sử dụng shippingsettings.insert để thêm hoặc cập nhật chế độ cài đặt thông tin vận chuyển cho tài khoản của bạn. Dưới đây là một yêu cầu mẫu cập nhật maxTransitDays thành 7 cho một Dịch vụ vận chuyển có tên là GSA Shipping - Free Ship Over $49.99, trong tài khoản 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"
        }
      ]
    }
  ]
}

Dưới đây là một mẫu bạn có thể dùng để chèn chế độ cài đặt thông tin vận chuyển:

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()

Thiết lập kho hàng

Mẫu JSON sau đây cho biết cách bạn có thể sử dụng dịch vụ Cài đặt thông tin vận chuyển của người bán để quản lý thông tin kho hàng cho tài khoản 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"
      ]
    }
  }
]

Thay thế nội dung sau:

  • {street_address}: Phần địa chỉ ở cấp đường phố của nhà kho.
  • {city}: Thành phố, thị trấn hoặc xã nơi đặt kho hàng.
  • {administrative_area}: Đơn vị hành chính cấp dưới của quốc gia. Ví dụ: tiểu bang.
  • {postal_code}: Mã bưu chính hoặc mã ZIP.
  • {region_code}: Mã quốc gia ở dạng chuỗi.
  • {minutes}: Phần phút của thời gian ngừng xử lý đơn hàng cho đến khi khách hàng phải đặt hàng để kho xử lý đơn hàng trong cùng ngày.
  • {handling_days}: Số ngày cần thiết để kho hàng này đóng gói và vận chuyển một mặt hàng.

Tài nguyên warehouses là danh sách các nhà kho. Bạn có thể tham chiếu từng kho hàng theo thời gian giao hàng dựa trên kho hàng của dịch vụ vận chuyển thông qua warehouse.name.

Quản lý kho hàng

Sau đây là cách sử dụng Merchant API để quản lý kho hàng:

  1. Đưa ra yêu cầu GET để truy xuất tất cả shippingsettings và kho hàng hiện có của bạn.
  2. Sao chép shippingsettings từ yêu cầu GET sang yêu cầu UPDATE.

  3. Điền thông tin về kho hàng nếu bạn muốn sử dụng kho hàng trong phần warehouses cho yêu cầu INSERT.

  4. Đưa ra yêu cầu UPDATE có chứa các tài nguyên shippingsettingswarehouses.

Dưới đây là một mẫu nội dung yêu cầu INSERT có kho hàng cho Kho hàng 1 được cập nhật từ New York sang Mountain View:

{
  "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"
        }
      ]
    }
  ]
}

Thêm dịch vụ giao hàng trong ngày

Bạn có thể sử dụng Content API for Shopping để thiết lập dịch vụ vận chuyển giao hàng trong ngày nếu có kho hàng tại địa phương. Dịch vụ vận chuyển giao hàng trong ngày có local_delivery làm shipment_type. Hiện tại, tất cả local_delivery dịch vụ vận chuyển đều được coi là dịch vụ giao hàng trong ngày.

Bạn không thể thay đổi thông tin delivery_time cho dịch vụ giao hàng tại địa phương. Sử dụng shippingsettings.insert để thiết lập dịch vụ giao hàng trong ngày cho các sản phẩm trong kho hàng tại địa phương.

Dưới đây là một mẫu nội dung yêu cầu thêm dịch vụ giao hàng trong ngày cho tất cả các cửa hàng trong tài khoản của bạn:

{
  "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"
        }
      }
    }
  ]
}

Thêm dịch vụ giao hàng vào ngày tiếp theo

Theo mặc định, những đơn đặt hàng được thực hiện sau hạn chót giao hàng trong ngày sẽ được lên lịch giao hàng vào ngày tiếp theo. Để tắt dịch vụ giao hàng vào ngày tiếp theo, hãy đặt trường no_delivery_post_cutoff thành true. Nếu bạn tắt dịch vụ giao hàng vào ngày tiếp theo, thì dịch vụ vận chuyển của bạn sẽ chỉ xuất hiện trước thời gian ngừng nhận đơn đặt hàng mỗi ngày.

Dịch vụ giao hàng vào ngày tiếp theo chỉ được cung cấp khi shipment_typelocal_delivery.

Tìm hiểu thêm

Để tìm hiểu về cách di chuyển từ Content API for Shopping, hãy xem bài viết Di chuyển chế độ quản lý thông tin vận chuyển.