Merchant API mang đến một cách thức mạnh mẽ và trực quan hơn để quản lý dữ liệu sản phẩm. Thay đổi chính là việc tách dữ liệu sản phẩm thành 2 tài nguyên riêng biệt: ProductInput
để gửi dữ liệu và Product
để xem phiên bản cuối cùng đã được xử lý, bao gồm cả trạng thái sản phẩm và các vấn đề. Cấu trúc mới này mang đến trải nghiệm minh bạch và dễ dự đoán hơn.
Hướng dẫn này sẽ giúp bạn nắm được những điểm khác biệt chính để di chuyển chế độ tích hợp của mình từ Content API for Shopping. Để xem hướng dẫn chi tiết về cách sử dụng các tính năng mới, hãy xem bài viết Quản lý sản phẩm.
Những điểm khác biệt chính
Sau đây là những thay đổi quan trọng nhất đối với cách bạn quản lý sản phẩm trong Merchant API so với Content API for Shopping:
Tài nguyên chuyên dụng cho dữ liệu đầu vào và dữ liệu đã xử lý: Merchant API chia hoạt động quản lý sản phẩm thành hai tài nguyên. Bạn có thể sử dụng tài nguyên
ProductInput
để chèn, cập nhật và xoá dữ liệu sản phẩm. Bạn có thể sử dụng tài nguyênProduct
chỉ đọc để xem sản phẩm cuối cùng sau khi Google xử lý dữ liệu đầu vào, áp dụng các quy tắc và kết hợp dữ liệu từ các nguồn bổ sung.Trạng thái sản phẩm tích hợp: Dịch vụ
productstatuses
sẽ bị xoá. Các vấn đề về xác thực sản phẩm và trạng thái của vị trí xuất hiện ngay trong tài nguyênProduct
trong trườngproductStatus
, giúp đơn giản hoá việc truy xuất dữ liệu.Thông tin cập nhật có thể dự đoán về sản phẩm: Phương thức
productInputs.patch
mới sẽ sửa đổi trực tiếp một dữ liệu đầu vào cụ thể của sản phẩm. Đây là một điểm cải tiến đáng kể so với Content API for Shopping, trong đó các bản cập nhật có thể bị các lượt tải nguồn cấp dữ liệu khác ghi đè một cách không mong muốn. Trong Merchant API, nội dung cập nhật sẽ vẫn còn cho đến khi bạn cập nhật hoặc xoá dữ liệu đầu vào cụ thể của sản phẩm đó. Các nội dung cập nhật sản phẩm được áp dụng trên tài nguyênProductInput
thay vì tài nguyênProduct
đã xử lý.Chọn nguồn dữ liệu để quản lý dữ liệu hiệu quả hơn: Tất cả các thao tác ghi
productInputs
hiện đều yêu cầu một tham số truy vấndataSource
, cho biết rõ nguồn dữ liệu mà bạn đang sửa đổi. Điều này đặc biệt hữu ích nếu bạn có nhiều nguồn cung cấp dữ liệu.Giá trị nhận dạng tài nguyên mới: Giờ đây, các sản phẩm được xác định bằng một tài nguyên RESTful
name
thay vì trườngid
. Định dạng làaccounts/{account}/products/{product}
.Không có lô tuỳ chỉnh: Phương thức
custombatch
không còn hoạt động nữa. Bạn có thể sử dụng yêu cầu không đồng bộ hoặc phân lô HTTP để gửi nhiều yêu cầu trong một lệnh gọi HTTP duy nhất.Nguồn dữ liệu cho mọi nhãn nguồn cấp dữ liệu và ngôn ngữ: Merchant API cho phép bạn tạo nguồn dữ liệu mà không cần chỉ định nhãn nguồn cấp dữ liệu và ngôn ngữ, nhờ đó cho phép chèn sản phẩm bằng mọi nhãn nguồn cấp dữ liệu và ngôn ngữ.
Yêu cầu
Phần này so sánh các định dạng yêu cầu cho Content API for Shopping và Merchant API.
Nội dung mô tả yêu cầu | Content API for Shopping | Merchant API |
---|---|---|
Nhận sản phẩm | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} |
GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product} |
Đăng sản phẩm | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products |
GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products |
Chèn sản phẩm | POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products |
POST https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs:insert |
Cập nhật sản phẩm | PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} |
PATCH https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput} |
Xoá sản phẩm | DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} |
DELETE https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput} |
Lấy trạng thái sản phẩm | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses/{productId} |
GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product} |
Liệt kê trạng thái sản phẩm | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses |
GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products |
Gửi nhiều yêu cầu theo lô | POST https://shoppingcontent.googleapis.com/content/v2.1/products/custombatch |
Yêu cầu không đồng bộ, tạo hàng loạt HTTP |
Giá trị nhận dạng
Định dạng của giá trị nhận dạng sản phẩm đã thay đổi trong Merchant API thành tên tài nguyên REST tiêu chuẩn.
Thông tin mô tả về giá trị nhận dạng | Content API for Shopping | Merchant API |
---|---|---|
Mã sản phẩm | Một chuỗi bao gồm các phân đoạn được phân tách bằng dấu hai chấm (: ).Định dạng: channel:contentLanguage:targetCountry:offerId hoặc channel:contentLanguage:feedLabel:offerId .Ví dụ: online:en:US:sku123 |
Một chuỗi name tài nguyên REST.Định dạng: accounts/{account}/products/{product} trong đó {product} là contentLanguage~feedLabel~offerId .Ví dụ: accounts/12345/products/en~US~sku123 |
Phương thức
Bảng này cho biết các phương thức Content API for Shopping và phương thức tương đương trong Merchant API.
Phương thức Content API for Shopping | Phương thức Merchant API | Phạm vi cung cấp và lưu ý |
---|---|---|
products.get |
products.get |
Truy xuất sản phẩm cuối cùng đã được xử lý. |
products.list |
products.list |
Liệt kê các sản phẩm cuối cùng đã được xử lý. |
products.insert |
productInputs.insert |
Chèn một đầu vào sản phẩm. Cần có dataSource . |
products.update |
productInputs.update |
Hành vi này khác biệt đáng kể. Thao tác này sẽ cập nhật một dữ liệu đầu vào cụ thể của sản phẩm và có tính chất lâu dài. |
products.delete |
productInputs.delete |
Xoá một dữ liệu đầu vào cụ thể của sản phẩm. Cần có dataSource . |
products.custombatch |
Không có | Sử dụng các yêu cầu không đồng bộ hoặc tính năng nhóm yêu cầu HTTP. |
productstatuses.get |
products.get |
Dịch vụ productstatuses sẽ bị xoá. Thông tin về trạng thái hiện là một phần của tài nguyên Product . |
productstatuses.list |
products.list |
Dịch vụ productstatuses sẽ bị xoá. Thông tin về trạng thái hiện là một phần của tài nguyên Product . |
productstatuses.custombatch |
Không có | Sử dụng [không đồng bộ |
requests](/merchant/api/samples/insert-product-input-async) hoặc HTTP batching. |
Thông tin chi tiết về các thay đổi đối với trường
Bảng này nêu bật những trường quan trọng đã được thay đổi, thêm hoặc xoá trong Merchant API.
Content API for Shopping | Merchant API | Mô tả |
---|---|---|
id |
name |
Giá trị nhận dạng chính cho một sản phẩm hiện là tài nguyên REST name . |
Các thuộc tính cấp cao nhất trong quy cách dữ liệu sản phẩm (ví dụ: title , price , link ) |
Đối tượng productAttributes |
Các thuộc tính sản phẩm như title , price và link không còn là các trường cấp cao nhất nữa. Giờ đây, các thuộc tính này được nhóm trong đối tượng productAttributes ở cả tài nguyên Product và ProductInput . Điều này giúp cấu trúc tài nguyên gọn gàng và có tổ chức hơn. |
targetCountry |
feedLabel |
Tên tài nguyên hiện sử dụng feedLabel thay vì targetCountry để phù hợp với chức năng của Merchant Center. |
feedId |
dataSource (tham số truy vấn) |
Giờ đây, tên dataSource là một tham số truy vấn bắt buộc đối với tất cả các phương thức ghi productInputs (insert , update , delete ). |
channel |
Không có. Sử dụng legacy_local cho các sản phẩm chỉ có tại cửa hàng địa phương. |
Trường channel không còn xuất hiện trong Merchant API nữa. Thay vào đó, các sản phẩm có kênh LOCAL trong Content API for Shopping phải đặt trường legacy_local thành true. |
Không có | versionNumber |
Một trường mới không bắt buộc trên ProductInput mà bạn có thể dùng để ngăn việc chèn không theo thứ tự vào các nguồn dữ liệu chính. |
string trường loại có tập hợp giá trị được xác định |
enum trường loại có tập hợp giá trị được xác định |
Các trường trong thuộc tính sản phẩm có tập hợp giá trị được xác định (ví dụ: excluded_destinations , availability ) hiện là loại enum . |