Hướng dẫn này giải thích cách di chuyển dữ liệu tích hợp của bạn từ các dịch vụ datafeeds và datafeedstatuses của Content API for Shopping sang API phụ Nguồn dữ liệu trong Merchant API. API phụ mới về Nguồn dữ liệu giúp bạn kiểm soát trực tiếp hơn các quy trình dữ liệu và đơn giản hoá việc quản lý nguồn dữ liệu.
Để biết thêm thông tin về các tính năng mới, hãy xem hướng dẫn Quản lý nguồn dữ liệu.
Những điểm khác biệt chính
So với Content API for Shopping, Merchant API có một số lợi thế:
Tạo nguồn dữ liệu rõ ràng. API không còn tự động tạo nguồn dữ liệu "Content API" khi bạn tải sản phẩm lên lần đầu tiên. Trong Merchant API , bạn phải tạo nguồn dữ liệu một cách rõ ràng thì mới có thể tải sản phẩm lên các nguồn dữ liệu đó. Nhờ đó, bạn có thể kiểm soát tốt hơn việc tổ chức và quản lý các quy trình dữ liệu sản phẩm ngay từ đầu.
Hỗ trợ nhiều nguồn dữ liệu API. Trong Content API for Shopping, bạn chỉ có thể sử dụng một nguồn dữ liệu "Content API" duy nhất được tạo tự động. Với Merchant API, bạn có thể tạo và quản lý nhiều nguồn dữ liệu thuộc loại dữ liệu đầu vào
API.Nguồn dữ liệu không có nhãn và ngôn ngữ. Merchant API cho phép bạn tạo một nguồn dữ liệu chính mà không cần chỉ định
feedLabelvàcontentLanguage. Loại nguồn dữ liệu này chấp nhận sản phẩm theo bất kỳ cách kết hợp nào giữafeedLabelvàcontentLanguage, giúp đơn giản hoá việc tải sản phẩm lên cho những hoạt động tích hợp không yêu cầu nguồn dữ liệu riêng biệt cho các khu vực khác nhau.Đơn giản hoá mục tiêu dữ liệu. Mỗi nguồn dữ liệu hiện tương ứng với một mục tiêu duy nhất, được xác định bằng một tổ hợp riêng biệt gồm
feedLabelvàcontentLanguage. Nguồn cấp dữ liệu nhắm đến nhiều dữ liệu không còn được dùng trong Merchant API.Trạng thái tải tệp lên chuyên biệt. Merchant API thể hiện trạng thái của nguồn dữ liệu dựa trên tệp bằng một tài nguyên
fileUploadsriêng biệt, chỉ có thể đọc. Để truy xuất trạng thái của một tệp tải lên, hãy sử dụng phương thứcfileUploads.getcó bí danhlatest.Các loại nguồn dữ liệu mới. Tài nguyên
DataSourcehỗ trợ nhiều ngành dọc hơn, bao gồm cả chương trình khuyến mãi, kho hàng tại địa phương và kho hàng theo khu vực, mang đến một cách thống nhất để quản lý tất cả quy trình dữ liệu của bạn.Nguồn dữ liệu tự động. Với Merchant API, giờ đây bạn có thể bật hoặc tắt tính năng Nguồn dữ liệu tự động cho tài khoản của mình bằng phương thức
autofeedSettings.updateAutofeedSettingstrong API phụ Accounts. Để biết thêm thông tin, hãy xem bài viết Định cấu hình chế độ cài đặt của tính năng tự động nạp dữ liệu.
Chọn chiến lược nguồn dữ liệu
Bạn có 3 lựa chọn để quản lý nguồn dữ liệu:
Tạo một nguồn dữ liệu Merchant API cho mọi nhãn nguồn cấp dữ liệu và ngôn ngữ. Hãy sử dụng lựa chọn này để đơn giản hoá việc quản lý bằng cách có một nguồn dữ liệu duy nhất chấp nhận các sản phẩm có bất kỳ
feedLabelvàcontentLanguagenào. Trong chế độ thiết lập Content API cũ, bạn xác định quy tắc cho các nhãn và ngôn ngữ cụ thể thông qua các nguồn dữ liệu riêng biệt, đồng thời chèn sản phẩm vào nguồn dữ liệu có các quy tắc nhắm mục tiêu tương ứng. Nếu chọn cách này, bạn nên di chuyển tất cả sản phẩm sang nguồn dữ liệu mới và xoá các nguồn dữ liệu Content API sau khi di chuyển xong tất cả sản phẩm.Tạo nguồn dữ liệu Merchant API mới cho từng nhãn và ngôn ngữ. Hãy sử dụng lựa chọn này nếu bạn cần hỗ trợ các kiểu kết hợp
feedLabelvàcontentLanguagemới (và muốn tách biệt rõ ràng giữa các kiểu kết hợp này) hoặc nếu bạn sử dụng chế độ thiết lập quy tắc nguồn dữ liệu dựa trênfeedLabelvàcontentLanguagecụ thể. Bạn cần tạo một nguồn dữ liệu riêng cho mỗi cặpfeedLabelvàcontentLanguagemà bạn sử dụng. Bạn có thể kết hợp nguồn dữ liệu Merchant API với nguồn dữ liệu được tạo bằng Content API for Shopping.
- Giữ lại các nguồn dữ liệu Content API hiện có. Bạn có thể tiếp tục sử dụng các nguồn dữ liệu được tạo bằng Content API for Shopping vì các nguồn dữ liệu này tương thích với Merchant API. Bạn có thể tìm tên tài nguyên của các tài khoản này bằng cách sử dụng
dataSources.listhoặc trong giao diện người dùng của Merchant Center. Nguồn dữ liệu chính của Content API chỉ hỗ trợfeedLabelvàcontentLanguagecụ thể mà bạn đã dùng để tạo nguồn dữ liệu đó. Nguồn dữ liệu Content API xuất hiện trong Merchant Center với nguồn "Content API" ngay cả khi sản phẩm được chèn bằng Merchant API. Bạn có thể kết hợp các nguồn dữ liệu này với các nguồn dữ liệu mới của Merchant API cũng nhắm đến các cặpfeedLabelvàcontentLanguagecụ thể.
Bạn nên bổ sung cơ sở dữ liệu sản phẩm tại cửa hàng địa phương bằng cách lưu trữ tên của tất cả các nguồn dữ liệu chính một lần cho mỗi sản phẩm để tránh các lệnh gọi dataSources.list lặp lại.
Yêu cầu
Bảng sau đây so sánh các định dạng URL yêu cầu giữa Content API for Shopping và Merchant API.
| Nội dung mô tả yêu cầu | Content API for Shopping | Merchant API |
|---|---|---|
| Tạo một nguồn dữ liệu | POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds |
POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources |
| Lấy nguồn dữ liệu | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} |
GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} |
| Liệt kê nguồn dữ liệu | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds |
GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources |
| Cập nhật nguồn dữ liệu | PUT https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} |
PATCH https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} |
| Xoá nguồn dữ liệu | DELETE https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} |
DELETE https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} |
| Tìm nạp nguồn dữ liệu | POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID}/fetchNow |
POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}:fetch |
| Xem trạng thái nguồn dữ liệu | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses/{DATAFEED_ID} |
GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}/fileUploads/latest |
| Liệt kê trạng thái của nguồn dữ liệu | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses |
Không có. Sử dụng dataSources.list và fileUploads.get cho mỗi nguồn dữ liệu dựa trên tệp. |
Giá trị nhận dạng
Merchant API sử dụng tên tài nguyên dựa trên chuỗi làm giá trị nhận dạng.
| Nội dung mô tả về giá trị nhận dạng | Content API for Shopping | Merchant API |
|---|---|---|
| Giá trị nhận dạng nguồn dữ liệu | datafeedId (số) |
name (chuỗi, định dạng: accounts/{account}/dataSources/{datasource}) |
Phương thức
Bảng này so sánh các phương thức của dịch vụ datafeeds và datafeedstatuses trong Content API for Shopping với các 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 ý |
|---|---|---|
datafeeds.custombatch |
Không có | Thay vào đó, hãy sử dụng các lệnh gọi API riêng lẻ. |
datafeeds.delete |
dataSources.delete |
sức mạnh. |
datafeeds.fetchnow |
dataSources.fetch |
sức mạnh. Phương thức này hiện chỉ hoạt động đối với các nguồn dữ liệu có tệp đầu vào. |
datafeeds.get |
dataSources.get |
sức mạnh. |
datafeeds.insert |
dataSources.create |
sức mạnh. |
datafeeds.list |
dataSources.list |
sức mạnh. |
datafeeds.update |
dataSources.update |
sức mạnh. Sử dụng ngữ nghĩa PATCH thay vì PUT. |
datafeedstatuses.custombatch |
Không có | Thay vào đó, hãy sử dụng các lệnh gọi API riêng lẻ. Hãy xem phần Gửi nhiều yêu cầu cùng một lúc để biết thêm thông tin. |
datafeedstatuses.get |
fileUploads.get |
Dành cho nguồn dữ liệu dựa trên tệp. Sử dụng bí danh latest để biết trạng thái của tệp tải lên gần đây nhất. Đối với các loại nguồn dữ liệu khác, thông tin về trạng thái là một phần của tài nguyên DataSource. |
datafeedstatuses.list |
Không có | Để biết trạng thái của nhiều nguồn dữ liệu, trước tiên, hãy liệt kê tất cả nguồn dữ liệu bằng dataSources.list. Sau đó, hãy gọi fileUploads.get bằng bí danh latest cho mỗi nguồn dữ liệu dựa trên tệp. |
Thay đổi chi tiết về trường
Bảng này cho thấy những thay đổi ở cấp trường giữa tài nguyên Datafeed và DatafeedStatus trong Content API for Shopping và tài nguyên DataSource và FileUpload trong Merchant API.
| Content API for Shopping | Merchant API | Mô tả |
|---|---|---|
Datafeed |
DataSource |
Tài nguyên chính cho cấu hình nguồn dữ liệu. |
id |
name |
Giá trị nhận dạng tài nguyên. Đã thay đổi từ mã nhận dạng dạng số thành tên tài nguyên chuỗi. |
name |
displayName |
Tên nguồn dữ liệu dành cho người dùng. |
attributeLanguage |
primaryProductDataSource.contentLanguage |
Mã ngôn ngữ gồm hai chữ cái theo tiêu chuẩn ISO 639-1 của các mặt hàng trong nguồn dữ liệu. |
fileName |
fileInput.fileName |
Tên của tệp đã tải lên. Trường này hiện được lồng trong fileInput. |
fetchSchedule |
fileInput.fetchSettings |
Lịch biểu tìm nạp nguồn dữ liệu dựa trên tệp. Mục này hiện được lồng trong fileInput. |
fetchSchedule.paused |
fileInput.fetchSettings.enabled |
Logic bị đảo ngược. paused: true tương đương với enabled: false. |
format |
Không có | Các trường fileEncoding, columnDelimiter và quotingMode sẽ bị xoá. Các thông tin này hiện được tự động phát hiện. |
targets |
primaryProductDataSource.feedLabel, primaryProductDataSource.contentLanguage, primaryProductDataSource.countries |
Trường targets lặp lại đã bị xoá. Giờ đây, mỗi nguồn dữ liệu có một mục tiêu duy nhất được xác định bằng các trường này, phản ánh việc ngừng sử dụng nguồn cấp dữ liệu có nhiều mục tiêu dữ liệu. |
DatafeedStatus |
FileUpload |
Trạng thái tải tệp lên hiện là một tài nguyên riêng biệt, chỉ có thể đọc. |
datafeedId |
name |
Giá trị nhận dạng cho tệp tải lên, tham chiếu đến nguồn dữ liệu gốc của tệp đó. |
processingStatus |
processingState |
Trạng thái xử lý của tệp tải lên. Các giá trị chuỗi (success, failure, in progress) được thay thế bằng một enum (SUCCEEDED, FAILED, IN_PROGRESS). |
errors, warnings |
issues |
Lỗi và cảnh báo được hợp nhất vào một danh sách issues duy nhất. Mỗi vấn đề đều có một trường severity (ERROR hoặc WARNING). |
lastUploadDate |
uploadTime |
Dấu thời gian của lần tải lên gần đây nhất. Định dạng đã thay đổi từ chuỗi thành đối tượng Timestamp. |
country, language, feedLabel |
Không áp dụng | Các trường này không còn nằm trong tài nguyên trạng thái nữa. Các trường này thuộc tài nguyên DataSource. |
targets[].included_destinations, targets[].excluded_destinations |
primaryProductDataSource.destinations |
Hai danh sách riêng biệt cho vị trí được phép xuất hiện và vị trí không được phép xuất hiện sẽ được thay thế bằng một danh sách destinations duy nhất. Mỗi mục trong danh sách mới là một đối tượng chỉ định đích đến và trạng thái của đích đến (ENABLED hoặc DISABLED), giúp cấu hình rõ ràng hơn. |