Di chuyển nguồn dữ liệu

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 feedLabel và 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ữa feedLabel và 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 feedLabel và 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 fileUploads riê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ức fileUploads.get có bí danh latest.

  • Các loại nguồn dữ liệu mới. Tài nguyên DataSource hỗ 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.updateAutofeedSettings trong 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ỳ feedLabel và contentLanguage nà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 feedLabel và contentLanguage mớ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ên feedLabel và contentLanguage cụ thể. Bạn cần tạo một nguồn dữ liệu riêng cho mỗi cặp feedLabel và contentLanguage mà 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.list hoặ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ợ feedLabel và contentLanguage cụ 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ặp feedLabel và contentLanguage cụ 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.