Vào tháng 3 năm 2019, chúng tôi đã phát hành Content API for Shopping phiên bản 2.1. Vào tháng 4 năm 2021, chúng tôi đã thông báo rằng phiên bản 2 sẽ ngừng hoạt động vào ngày 30 tháng 9 năm 2021. Phiên bản 2 đã ngừng hoạt động. Vui lòng di chuyển sang phiên bản 2.1 ngay.
Di chuyển ứng dụng
Việc di chuyển từ phiên bản 2 sang phiên bản 2.1 bao gồm việc cập nhật URL điểm cuối để gọi các phiên bản 2.1 mới và sửa đổi ứng dụng để tính đến các thay đổi mang tính đột phá được giới thiệu trong phiên bản 2.1.
Cập nhật các lệnh gọi API để sử dụng điểm cuối 2.1
Để thực hiện lệnh gọi đến phiên bản 2.1, hãy cập nhật các yêu cầu để sử dụng điểm cuối 2.1 mới.
Ví dụ: để gọi phương thức products.get bằng phiên bản 2, bạn sẽ sử dụng:
GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId
Đối với phiên bản 2.1, hãy cập nhật URL thành:
GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId
Để biết thông tin đầy đủ về các dịch vụ và điểm cuối của phiên bản 2.1, hãy xem Tài liệu tham khảo về API.
Thực hiện các thay đổi bắt buộc
Ngoài việc cập nhật URL cho các lệnh gọi API, bạn cũng cần cập nhật ứng dụng để tính đến một số thay đổi mang tính đột phá được giới thiệu trong phiên bản 2.1. Xem các phần sau đây và cập nhật ứng dụng nếu cần.
1. Cập nhật các mục tích hợp với dịch vụ inventory
Dịch vụ inventory của phiên bản 2 đã bị xoá và chức năng tương đương có trong các tính năng sau của phiên bản 2.1:
Sử dụng Nguồn cấp dữ liệu bổ sung mới hoặc
products.updateđể cập nhật một phần sản phẩm. Bạn có thể cập nhật tất cả các trường sản phẩm có thể thay đổi, bao gồm cả tất cả các trường đã cập nhật trước đó bằnginventory.set(ngoại trừ những trường dành riêng cholocalinventory). Hãy xem bài viết Di chuyển sang nguồn cấp dữ liệu bổ sung để biết thêm thông tin.Sử dụng dịch vụ mới để cập nhật sản phẩm địa phương.
localinventory
2. Cập nhật các lệnh gọi đến dịch vụ accounts
Các lệnh gọi đến phương thức
accounts.updatetrong phiên bản 2.1 sẽ ghi đè hoàn toàn tài nguyênaccounts, thay vì chỉ cập nhật các trường có trong yêu cầu. Để tránh xoá các trường trên tài nguyênaccounts, hãy cập nhật các yêu cầu gọi để đưa vào tất cả các trường.Đã xoá
reviewsUrl.Đã xoá trạng thái liên kết
inactivechoadsLinks,googleMyBusinessLinkvàyoutubeChannelLinks.
3. Cập nhật các lệnh gọi đến dịch vụ products
Thuộc tính tuỳ chỉnh không còn chứa loại và đơn vị. Thay vào đó, đơn vị sẽ được thêm vào giá trị và các loại sẽ được tự động phát hiện.
Trường lặp lại
productTypesđã thay thế cảproductTypevàadditionalProductTypes.Các trường lặp lại
includedDestinationsvàexcludedDestinationsđã thay thế trường lặp lạidestinations.Các trường sau đây liên quan đến AdWords đã được đổi tên:
adwordsGrouping->adsGroupingadwordsLabels->adsLabelsadwordsRedirect->adsRedirect
Các trường sau đây đã bị xoá:
aspectsdestinationsonlineOnlyvalidatedDestinationswarnings
Đã xoá tham số
includeInvalidInsertedItems. Trong phiên bản 2.1, tất cả sản phẩm đều được trả về theo mặc định.Hiện có một khoảng thời gian trễ vài phút trước khi bạn có thể truy xuất một sản phẩm đã chèn thông qua
products.gethoặcproducts.list.offerIdđược trả về không còn được đảm bảo giống vớiofferIdđầu vào. Phiên bản 2.1 sẽ cắt khoảng trắng ở đầu và cuối trongofferIdvà hợp nhất nhiều ký tự khoảng trắng thành một. Thay đổi này không ảnh hưởng đến các giá trịofferIdtuân thủ cú phápofferIdđược đề xuất.Giá hiện được xác thực trước khi chèn sản phẩm. Bạn chỉ được dùng các ký tự sau trong chuỗi giá trị:
+,-,.và các chữ số (tức là0-9). Dấu phẩy không còn được chấp nhận.Phản hồi từ lệnh gọi
products.inserthoặcproducts.updatechỉ chứa các thuộc tính sau:channelcontentLanguageidofferIdfeedLabel
Tuỳ chọn
includeAttributescủa phiên bản 2 không được dùng nữa. Thay vào đó, hãy sử dụngproducts.getvớiProductIdđể xem thông tin đầy đủ về sản phẩm.
4. Cập nhật các lệnh gọi đến dịch vụ productstatuses
Đã xoá thuộc tính
productcùng với tham sốincludeAttributes. Để truy xuất các thuộc tính của sản phẩm tương ứng với một trạng thái, hãy sử dụng dịch vụproductsvà truyền giá trị của trườngproductIdmới.Đã xoá tham số
includeInvalidInsertedItems.productIdcủa mọi sản phẩm hiện được trả về bất kể sản phẩm đó có hợp lệ hay không.Các trường
intention,approvalStatusvàapprovalPendingtrongdestinationStatusesđã được thay thế bằngstatus. Đây là một chuỗi có thể là một trong các giá trịapproved,disapprovedhoặcpending.dataQualityIssuesđã được thay thế bằngitemLevelIssues.
5. Cập nhật các lệnh gọi đến dịch vụ datafeeds
Các trường mục tiêu sau đây đã được thay thế:
contentLanguage->languagetargetCountry->countryintendedDestinations->includedDestinationsvàexcludedDestinations
Nguồn cấp dữ liệu có
contentType = "product inventory update"đã bị xoá.
6. Cập nhật các lệnh gọi đến dịch vụ orders và TestOrders
Trong phiên bản 2.1, các lệnh gọi không được chứa dữ liệu thuế vì dữ liệu thuế được tính tự động. Nếu đơn đặt hàng được thực hiện ở một tiểu bang có Đạo luật về sự công bằng của thị trường (MFA) hoặc đạo luật tương tự, thì các lệnh gọi có chứa dữ liệu thuế sẽ không thành công. Nếu đơn đặt hàng được thực hiện ở một tiểu bang không có MFA, thì thuế sẽ được tính dựa trên các chế độ cài đặt được định cấu hình trong Merchant Center. Nếu không được định cấu hình, thuế được tính là 0.
Các trường
InStoreRefundLineItemvàReturnRefundLineItemamountPretaxvàamountTaxđã được thay thế bằngpriceAmountvàtaxAmounttương ứng.priceAmountcó thể là trước thuế hoặc sau thuế, tuỳ thuộc vào vị trí của đơn đặt hàng.Các trường
ShipLineItemcarrier,shipmentIdvàtrackingIdtrong yêu cầu đã được chuyển sangshipmentInfos.billingAddressvàpredefinedBillingAddresshiện là các trường cấp cao nhất trongordersvàTestOrdertương ứng.customer.explicitMarketingPreferenceđã được thay thế bằngcustomer.marketingRightsInfo.Trường
netAmountđã được chia thànhnetPriceAmountvànetTaxAmount.shippingOptionđã được thay thế bằnglineItems[].shippingDetails.Các trường
CancelLineItemamount,amountPretaxvàamountTaxtrong yêu cầu đã bị xoá. Số tiền hoàn lại hiện được tính tự động.CustomBatchđã bị xoá.Refundđã bị xoá. Thay vào đó, hãy sử dụngrefundOrderhoặcrefundItem.Trường
paymentMethodđã bị xoá.Các phương thức
orders.returnlineitemvàorders.refundcủa phiên bản 2 được thay thế bằngorderreturns.creatOrderReturnvàorderreturns.process.Các trường
customer.email,channelTypevàlineItem.product.channelđã bị xoá.Trường
promotionsđã bị xoá khỏi dịch vụTestOrdervà định dạng của trường này đã thay đổi trongOrder.
7. Cập nhật các lệnh gọi đến dịch vụ orderinvoice
Các trường
amountPretaxvàamountTaxđã được thay thế bằngpriceAmountvàtaxAmounttương ứng. TrườngpriceAmountcó thể là trước thuế hoặc sau thuế, tuỳ thuộc vào vị trí của đơn đặt hàng.Đã xoá số dư (người bán, khách hàng, Google) trong
invoiceSummaryvà các trường liên quan đến phí khuyến mãi.
8. Xoá chức năng không có trong phiên bản 2.1
Một số tính năng khác đã bị xoá khỏi Content API trong phiên bản 2.1. Xem danh sách sau đây và cập nhật ứng dụng nếu cần:
XML không còn được hỗ trợ nữa. Để biết thêm thông tin về cách chuyển sang JSON, hãy xem bài viết Ngừng hỗ trợ XML trong Content API for Shopping.
Đã xoá tham số
dryRun. Thay đổi này áp dụng cho tất cả các lệnh gọi API.Tất cả các phương thức
HTTP BATCHđã bị xoá. Thay vào đó, hãy sử dụngcustomBatch.Phương thức
patchđã bị xoá khỏi các dịch vụ sau:accountsaccounttaxdatafeedsliasettingsshippingsettings
Dịch vụ
orderpaymentsđã bị xoá.
Kiểm thử quá trình di chuyển
Để biết thêm thông tin về cách kiểm thử các thay đổi đối với ứng dụng sau khi di chuyển sang phiên bản 2.1, hãy xem bài viết Kiểm thử các trường hợp sử dụng Content API for Shopping. Nếu gặp vấn đề khi kiểm thử các bản cập nhật, bạn có thể liên hệ với chúng tôi.
Các thay đổi khác trong phiên bản 2.1
Ngoài những thay đổi yêu cầu cập nhật, phiên bản 2.1 cũng giới thiệu một số tính năng mới và các thay đổi không mang tính đột phá:
Dịch vụ mới:
Dịch vụ
localinventorymới cho phép bạn cập nhật sản phẩm địa phương (thay cho dịch vụinventorytrong phiên bản 2).Dịch vụ
orderreturnsmới giúp bạn dễ dàng quản lý tính năng Mua trên Google (trước đây gọi là Mua sắm trên Google) bằng cách cho phép bạn xử lý hàng trả lại mà không cần sử dụng dịch vụorders.
Nguồn cấp dữ liệu bổ sung cho phép bạn cập nhật một phần sản phẩm.
Các thay đổi khác đối với dịch vụ
products:Các yêu cầu
products.insertkhông còn báo cáo các lỗi hoặc thông tin cảnh báo không nghiêm trọng. Điều này cho phép bạn chèn sản phẩm và thực hiện các bản cập nhật tiếp theo để giải quyết vấn đề thông qua quy tắc nguồn cấp dữ liệu trong Merchant Center, giống như cách bạn làm với các nguồn cấp dữ liệu được quản lý bên ngoài Content API.products.updateđã được thêm vào để cho phép bạn cập nhật một nhóm trường sản phẩm đã chọn. Để biết thêm thông tin về cách sử dụng có thể, hãy xem hướng dẫn.Các giá trị không hợp lệ cho các thuộc tính sau đây không còn kích hoạt lỗi chèn và được trả về trong
itemLevelIssuestheo dịch vụproductstatus:ageGroupavailabilityconditionenergyEfficiencyClassgendermaxEnergyEfficiencyClassminEnergyEfficiencyClasssizeSystemsizeType
Các thuộc tính tuỳ chỉnh hiện có tính đệ quy, giúp bạn không cần dùng đến các nhóm tuỳ chỉnh.
Các thuộc tính tuỳ chỉnh hiện có trường
groupValuesngoài trườngvalueban đầu. Bạn phải đặt chính xác một trong các trường.