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

Hướng dẫn này giải thích cách di chuyển quá trình tích hợp từ các dịch vụ datafeedsdatafeedstatuses của Content API for Shopping sang API phụ Nguồn dữ liệu trong Merchant API. API phụ Nguồn dữ liệu mới 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ố ưu điểm.

  • 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 chèn sản phẩm 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 trước khi có thể tải sản phẩm lên các nguồn dữ liệu đó. Điều này giúp bạn 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 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 đầ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 feedLabelcontentLanguage. Loại nguồn dữ liệu này chấp nhận sản phẩm ở bất kỳ tổ hợp feedLabelcontentLanguage nào, giúp đơn giản hoá việc tải sản phẩm lên cho các quá trình 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 duy nhất gồm feedLabelcontentLanguage. Nguồn cấp dữ liệu nhắm đến nhiều dữ liệu không được dùng nữa trong Merchant API.

  • 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:

    1. Giữ nguyên 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 thấy tên tài nguyên của các nguồn dữ liệu này bằng cách sử dụng dataSources.list hoặc trong giao diện người dùng Merchant Center. Nguồn dữ liệu chính của Content API chỉ hỗ trợ feedLabelcontentLanguage cụ thể mà chúng được tạo. Nguồn dữ liệu Content API được hiển thị 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 Merchant API mới cũng nhắm đến các cặp feedLabelcontentLanguage cụ thể.

    2. 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 tổ hợp feedLabelcontentLanguage mới (và muốn tách biệt rõ ràng giữa các tổ hợp này) hoặc nếu bạn sử dụng quy trình thiết lập quy tắc nguồn dữ liệu dựa trên feedLabelcontentLanguage cụ thể. Bạn cần tạo một nguồn dữ liệu riêng cho mỗi cặp feedLabelcontentLanguage mà bạn sử dụng.

    3. Tạo một nguồn dữ liệu Merchant API duy nhất cho mọi nhãn 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 sản phẩm có bất kỳ feedLabelcontentLanguage nào. Nếu chọn lựa chọn này, bạn nên di chuyển tất cả sản phẩm sang nguồn dữ liệu mới này và xoá các nguồn dữ liệu Content API cũ sau khi di chuyển sản phẩm.

  • Trạng thái tải tệp lên riêng biệt. Merchant API biểu thị trạng thái của các 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. Để 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 với 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, cung cấp một cách thức thống nhất để quản lý tất cả các quy trình dữ liệu.

  • 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ụ Tài khoản. Để biết thêm thông tin, hãy xem Định cấu hình chế độ cài đặt Nguồn cấp dữ liệu tự động.

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 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
Lấy 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 nguồn dữ liệu GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses Không có. Sử dụng dataSources.listfileUploads.get cho từng 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 (dạng 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 từ các dịch vụ datafeedsdatafeedstatuses của 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à ghi chú
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ó đầu vào là tệp.
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ẻ. Xem bài viết Gửi nhiều yêu cầu cùng lúc để biết thêm thông tin.
datafeedstatuses.get fileUploads.get Có sẵn cho các nguồn dữ liệu dựa trên tệp. Sử dụng bí danh latest để lấy 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 trạng thái là một phần của tài nguyên DataSource.
datafeedstatuses.list Không có Để lấy 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ả các nguồn dữ liệu bằng dataSources.list. Sau đó, gọi fileUploads.get bằng bí danh latest cho từng 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 các tài nguyên DatafeedDatafeedStatus trong Content API for Shopping và các tài nguyên DataSourceFileUpload trong Merchant API.

Content API for Shopping Merchant API Mô tả
Datafeed DataSource Tài nguyên chính để định 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 hiển thị với người dùng của nguồn dữ liệu.
attributeLanguage primaryProductDataSource.contentLanguage Mã ngôn ngữ gồm 2 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. Trường 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, columnDelimiterquotingMode bị xoá. Các trường 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á. Mỗi nguồn dữ liệu hiện 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 nguồn cấp dữ liệu nhắm đến nhiều dữ liệu không được dùng nữa.
DatafeedStatus FileUpload Trạng thái của một tệp tải lên hiện là một tài nguyên riêng biệt, chỉ đọ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 mẹ 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 thành một danh sách issues duy nhất. Mỗi vấn đề 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. Các trường này là một phần của tài nguyên DataSource.
targets[].included_destinations, targets[].excluded_destinations primaryProductDataSource.destinations Hai danh sách riêng biệt cho các đích đến được bao gồm và vị trí không được phép xuất hiện đượ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), cung cấp một cấu hình rõ ràng hơn.