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 bài viết 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:
- Gửi yêu cầu
GETđể truy xuất toàn bộ chế độ cài đặt thông tin vận chuyển của tài khoản. - Sửa đổi chế độ cài đặt thông tin vận chuyển.
- Gửi yêu cầu
INSERTvới 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 trong 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 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. Dưới đây là một yêu cầu mẫu cập nhật maxTransitDays thành 7 cho
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 mà 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 Merchant để 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 kho hàng.
- {city}: Thành phố, thị trấn hoặc xã nơi kho hàng toạ lạc.
- {administrative_area}: Đơn vị hành chính của quốc gia. Ví dụ: tiểu bang.
- {postal_code}: Mã bưu chính.
- {region_code}: Mã quốc gia ở dạng chuỗi.
- {minutes}: Phần phút của thời gian ngừng nhận đơn hàng mà khách hàng phải đặt hàng trước đó để kho hàng xử lý đơn hàng trong cùng ngày.
- {handling_days}: Số ngày mà kho hàng này cần để đóng gói và vận chuyển một mặt hàng.
Tài nguyên warehouses là danh sách kho hàng. Bạn có thể tham chiếu đến 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
Dưới đây là cách sử dụng Merchant API để quản lý kho hàng:
- Gửi yêu cầu
GETđể truy xuất tất cảshippingsettingsvà kho hàng hiện có. Sao chép
shippingsettingstừ yêu cầuGETvào yêu cầuUPDATE.Điền thông tin kho hàng nếu bạn muốn sử dụng các kho hàng đó trong phần
warehousescho yêu cầuINSERT.Gửi yêu cầu
UPDATEcó chứa tài nguyênshippingsettingsvàwarehouses.
Dưới đây là nội dung yêu cầu INSERT mẫu có kho hàng cho Warehouse 1 (Kho hàng 1) được cập nhật từ New York thành 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 các dịch vụ vận chuyển giao hàng trong ngày nếu có kho hàng tại địa phương. Các dịch vụ vận chuyển giao hàng trong ngày có local_delivery làm shipment_type. Tất cả các dịch vụ vận chuyển local_delivery đều được coi là dịch vụ giao hàng trong ngày tại thời điểm này.
Bạn không thể thay đổi thông tin delivery_time cho các đơn hàng giao 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à nội dung yêu cầu mẫu thêm dịch vụ giao hàng trong ngày cho tất 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, các đơn đặt hàng sau thời gian ngừng nhận đơn hàng giao trong ngày sẽ được lên lịch giao 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ì các 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 hàng mỗi ngày.
Dịch vụ giao hàng vào ngày tiếp theo chỉ áp dụng khi shipment_type là local_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 quy trình quản lý chế độ cài đặt thông tin vận chuyển.