ย้ายข้อมูลจาก Content API v2 ไปยัง v2.1

เมื่อเดือนมีนาคม 2019 เราได้เปิดตัว Content API for Shopping เวอร์ชัน 2.1 และประกาศในเดือนเมษายน 2021 ว่าเวอร์ชัน 2 จะหยุดให้บริการในวันที่ 30 กันยายน 2021 เวอร์ชัน 2 ได้หยุดให้บริการแล้ว โปรดย้ายข้อมูลไปยังเวอร์ชัน 2.1 ทันที

ย้ายข้อมูลแอปพลิเคชันของคุณ

การย้ายข้อมูลจาก v2 ไปยัง v2.1 นั้นเกี่ยวข้องกับการอัปเดต URL ปลายทางให้เรียกใช้เวอร์ชัน 2.1 เวอร์ชันใหม่และการแก้ไขแอปพลิเคชันเพื่อให้สอดคล้องกับการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบของ v2.1

อัปเดตการเรียก API เพื่อใช้ปลายทาง v2.1

หากต้องการเรียกใช้เวอร์ชัน 2.1 ให้อัปเดตคำขอเพื่อใช้ปลายทางเวอร์ชัน 2.1 ใหม่

ตัวอย่างเช่น หากต้องการเรียกใช้เมธอด products.get ด้วย v2 ให้ใช้โค้ดดังนี้

GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId

สำหรับ v2.1 ให้อัปเดต URL เป็น:

GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId

ดูข้อมูลทั้งหมดเกี่ยวกับบริการและปลายทางเวอร์ชัน 2.1 ได้ที่เอกสารอ้างอิง API

ทำการเปลี่ยนแปลงที่จำเป็น

นอกจากการอัปเดต URL สำหรับการเรียก API คุณยังต้องอัปเดตแอปพลิเคชันเพื่อให้สอดคล้องกับการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบของเวอร์ชัน 2.1 ตรวจสอบส่วนต่อไปนี้และอัปเดตแอปพลิเคชันของคุณตามต้องการ

1. อัปเดตการผสานรวมกับบริการ inventory

บริการ inventory v2 ถูกนำออกแล้ว และฟังก์ชันการทำงานที่เทียบเท่ากันจะพร้อมใช้งานกับฟีเจอร์ v2.1 ต่อไปนี้

  • ใช้ฟีดเสริมใหม่ หรือ products.update สำหรับการอัปเดตผลิตภัณฑ์บางส่วน คุณอัปเดตช่องผลิตภัณฑ์ที่เปลี่ยนแปลงได้ทั้งหมด รวมถึงช่องทั้งหมดที่ได้รับการอัปเดตด้วย inventory.set ก่อนหน้านี้ (ยกเว้นช่องสำหรับ localinventory โดยเฉพาะ) ดูรายละเอียดเพิ่มเติมได้ที่ย้ายข้อมูลไปยังฟีดเสริม

  • ใช้บริการ localinventory ใหม่เพื่ออัปเดตผลิตภัณฑ์ในร้าน

2. อัปเดตการโทรไปยังบริการ accounts

  • การเรียกใช้เมธอด accounts.update ใน v2.1 จะเขียนทับทรัพยากร accounts โดยสมบูรณ์ แทนที่จะอัปเดตเฉพาะช่องที่รวมอยู่ในคำขอเท่านั้น เพื่อหลีกเลี่ยงการลบช่องในทรัพยากร accounts ให้อัปเดตคำขอการโทรให้รวมช่องทั้งหมด

  • นำ reviewsUrl ออกแล้ว

  • นำสถานะลิงก์ inactive ของ adsLinks, googleMyBusinessLink และ youtubeChannelLinks ออกแล้ว

3. อัปเดตการโทรไปยังบริการ products

  • แอตทริบิวต์ที่กำหนดเองไม่มีประเภทและหน่วยอีกต่อไป แต่ระบบจะเพิ่มหน่วยต่อท้ายค่าและประเภทควรจะมีการตรวจหาโดยอัตโนมัติ

  • ช่องที่ซ้ำ productTypes ได้แทนที่ทั้ง productType และ additionalProductTypes

  • ช่องที่ซ้ำ includedDestinations และ excludedDestinations ได้แทนที่ช่องที่ซ้ำ destinations แล้ว

  • มีการเปลี่ยนชื่อช่องที่เกี่ยวข้องกับ AdWords ต่อไปนี้

    • adwordsGrouping -> adsGrouping
    • adwordsLabels -> adsLabels
    • adwordsRedirect -> adsRedirect
  • นําช่องต่อไปนี้ออกแล้ว

    • aspects
    • destinations
    • onlineOnly
    • validatedDestinations
    • warnings
  • นำพารามิเตอร์ includeInvalidInsertedItems ออกแล้ว ในเวอร์ชัน 2.1 ผลิตภัณฑ์ทั้งหมด จะแสดงโดยค่าเริ่มต้น

  • ขณะนี้เกิดความล่าช้า 2-3 นาทีก่อนที่จะดึงข้อมูลผลิตภัณฑ์ที่แทรกไว้ผ่านทาง products.get หรือ products.list ได้

  • เราไม่รับประกันว่า offerId ที่ส่งกลับมาจะเหมือนกับอินพุต offerId อีกต่อไป เวอร์ชัน 2.1 จะตัดช่องว่างข้างหน้าและข้างหลังใน offerId และผสานอักขระช่องว่างหลายตัวเป็นอักขระเดียว การเปลี่ยนแปลงนี้จะไม่ส่งผลต่อค่า offerId ที่สอดคล้องกับไวยากรณ์ offerId ที่แนะนํา

  • ตอนนี้ระบบจะตรวจสอบราคาก่อนแทรกผลิตภัณฑ์ อนุญาตให้ใช้เฉพาะอักขระต่อไปนี้ในสตริงค่า: +, -, . และตัวเลข (เช่น 0-9) ไม่อนุญาตให้ใช้คอมมาอีกต่อไป

  • คำตอบจากการเรียก products.insert หรือ products.update จะมีเฉพาะแอตทริบิวต์ต่อไปนี้

    • channel
    • contentLanguage
    • id
    • offerId
    • feedLabel
  • ตัวเลือก v2 includeAttributes เลิกใช้งานแล้ว โปรดใช้ products.get ร่วมกับ ProductId แทนเพื่อดูข้อมูลผลิตภัณฑ์ทั้งหมด

4. อัปเดตการโทรไปยังบริการ productstatuses

  • นำแอตทริบิวต์ product รวมถึงพารามิเตอร์ includeAttributes ออกแล้ว หากต้องการเรียกข้อมูลแอตทริบิวต์ของผลิตภัณฑ์ที่สัมพันธ์กับสถานะ ให้ใช้บริการ products และส่งค่าของช่อง productId ใหม่

  • นำพารามิเตอร์ includeInvalidInsertedItems ออกแล้ว ตอนนี้ระบบจะส่งคืน productId ของผลิตภัณฑ์ทุกรายการ ไม่ว่าผลิตภัณฑ์ดังกล่าวจะถูกต้องหรือไม่ก็ตาม

  • ระบบได้แทนที่ช่อง intention, approvalStatus และ approvalPending ใน destinationStatuses ด้วย status ซึ่งเป็นสตริงที่อาจเป็นหนึ่งใน approved, disapproved หรือ pending

  • dataQualityIssues ถูกแทนที่ด้วย itemLevelIssues

5. อัปเดตการโทรไปยังบริการ datafeeds

  • ระบบได้แทนที่ช่องเป้าหมายต่อไปนี้แล้ว

    • contentLanguage -> language
    • targetCountry -> country
    • intendedDestinations -> includedDestinations และ excludedDestinations
  • นําฟีดข้อมูลที่มี contentType = "product inventory update" ออกแล้ว

6. อัปเดตการโทรไปยังบริการ orders และ TestOrders

  • ในเวอร์ชัน 2.1 การโทรไม่ควรมีข้อมูลภาษีเนื่องจากข้อมูลภาษีจะคำนวณโดยอัตโนมัติ หากคำสั่งซื้อได้รับการดำเนินการในรัฐที่มีพระราชบัญญัติความเหมาะสมของตลาดกลาง (MFA) หรือรัฐที่คล้ายกัน จะเรียกใช้ที่มีข้อมูลภาษีไม่สำเร็จ หากคำสั่งซื้ออยู่ในสถานะที่ไม่ใช่ MFA ระบบจะคำนวณภาษีตามการตั้งค่าที่กำหนดไว้ใน Merchant Center หากไม่ได้กำหนดค่า ภาษีที่คำนวณได้จะเป็น 0

  • ระบบได้แทนที่ช่อง InStoreRefundLineItem และ ReturnRefundLineItem amountPretax รวมถึง amountTax ด้วย priceAmount และ taxAmount ตามลำดับ priceAmount อาจเป็นได้ทั้งก่อนหักภาษีหรือหลังหักภาษี ขึ้นอยู่กับสถานที่ของคำสั่งซื้อ

  • ย้ายช่อง ShipLineItem carrier, shipmentId และ trackingId ในคำขอไปยัง shipmentInfos แล้ว

  • ตอนนี้ billingAddress และ predefinedBillingAddress เป็นช่องระดับบนสุดใน orders และ TestOrder ตามลำดับ

  • customer.explicitMarketingPreference ถูกแทนที่ด้วย customer.marketingRightsInfo

  • ช่อง netAmount แบ่งออกเป็น netPriceAmount และ netTaxAmount

  • shippingOption ถูกแทนที่ด้วย lineItems[].shippingDetails

  • นำช่อง CancelLineItem amount, amountPretax และ amountTax ในคำขอออกแล้ว ปัจจุบัน ระบบคำนวณจำนวนเงินคืน โดยอัตโนมัติ

  • นำ CustomBatch ออกแล้ว

  • นำ Refund ออกแล้ว โปรดใช้ refundOrder หรือ refundItem แทน

  • นำช่อง paymentMethod ออกแล้ว

  • เมธอด v2 orders.returnlineitem และ orders.refund จะแทนที่ด้วย orderreturns.creatOrderReturn และ orderreturns.process

  • นำช่อง customer.email, channelType และ lineItem.product.channel ออกแล้ว

  • ช่อง promotions ถูกนำออกจากบริการ TestOrder และมีการเปลี่ยนแปลงรูปแบบใน Order

7. อัปเดตการโทรไปยังบริการ orderinvoice

  • ระบบได้แทนที่ช่อง amountPretax และ amountTax ด้วย priceAmount และ taxAmount ตามลำดับ ช่อง priceAmount อาจเป็นช่องก่อนหักภาษีหรือหลังหักภาษี ขึ้นอยู่กับตำแหน่งของคำสั่งซื้อ

  • นำยอดคงเหลือ (ผู้ขาย, ลูกค้า, Google) ใน invoiceSummary และ ช่องที่เกี่ยวข้องกับการเรียกเก็บเงินโปรโมชันออก

8. นำฟังก์ชันที่ไม่รวมอยู่ใน v2.1 ออก

เราได้นำฟีเจอร์อื่นๆ อีกหลายรายการออกจาก Content API เวอร์ชัน 2.1 ตรวจสอบรายการต่อไปนี้และอัปเดตแอปพลิเคชันของคุณตามต้องการ

  • ระบบไม่รองรับ XML อีกต่อไป ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนไปใช้ JSON ที่หัวข้อการเลิกใช้งาน XML ของ Content API for Shopping

  • นำพารามิเตอร์ dryRun ออกแล้ว การเปลี่ยนแปลงนี้มีผลกับการเรียก API ทั้งหมด

  • นำทั้ง HTTP BATCH วิธีออกแล้ว โปรดใช้ customBatch แทน

  • เมธอด patch ถูกนำออกจากบริการต่อไปนี้แล้ว:

    • accounts
    • accounttax
    • datafeeds
    • liasettings
    • shippingsettings
  • บริการ orderpayments ถูกนำออกแล้ว

ทดสอบการย้ายข้อมูล

ดูการทดสอบการใช้งาน Content API for Shopping เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบการเปลี่ยนแปลงในแอปพลิเคชันหลังจากย้ายข้อมูลไปยังเวอร์ชัน 2.1 หากพบปัญหาขณะทดสอบการอัปเดต คุณสามารถโพสต์ปัญหาได้ในฟอรัม Content API

การเปลี่ยนแปลงเพิ่มเติมในเวอร์ชัน 2.1

นอกจากการเปลี่ยนแปลงที่ต้องมีการอัปเดตแล้ว v2.1 ยังมีฟีเจอร์ใหม่และการเปลี่ยนแปลงที่ไม่เปลี่ยนแปลงหลายอย่าง ได้แก่

  • บริการใหม่:

    • บริการ localinventory ใหม่ช่วยให้คุณอัปเดตผลิตภัณฑ์ในร้านได้ (แทนบริการ inventory ในเวอร์ชัน 2)

    • บริการ orderreturns ใหม่ช่วยให้คุณจัดการ "ซื้อใน Google" (เดิมเรียกว่า Shopping Actions) ได้ง่ายขึ้นโดยช่วยให้คุณดำเนินการคืนสินค้าได้โดยไม่ต้องใช้บริการ orders

  • ฟีดเสริมช่วยให้คุณอัปเดตผลิตภัณฑ์ได้บางส่วน

  • การเปลี่ยนแปลงเพิ่มเติมของบริการ products มีดังนี้

    • คำขอ products.insert รายการจะไม่รายงานคำเตือนหรือข้อผิดพลาดที่ไม่ร้ายแรงอีกต่อไป วิธีนี้จะช่วยให้คุณแทรกผลิตภัณฑ์และทำการอัปเดตเพื่อแก้ปัญหาผ่านกฎฟีดใน Merchant Center ในภายหลังได้ เช่นเดียวกับการจัดการฟีดที่จัดการนอก Content API

    • เพิ่ม products.update แล้วเพื่อให้คุณอัปเดตชุดของช่องผลิตภัณฑ์ที่เลือกได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้งานที่เป็นไปได้ในคู่มือ

    • ค่าที่ไม่ถูกต้องสำหรับแอตทริบิวต์ต่อไปนี้จะไม่ทริกเกอร์ข้อผิดพลาดในการแทรกอีกต่อไป และแสดงผลเป็นส่วนหนึ่งของ itemLevelIssues โดยบริการ productstatus

      • ageGroup
      • availability
      • condition
      • energyEfficiencyClass
      • gender
      • maxEnergyEfficiencyClass
      • minEnergyEfficiencyClass
      • sizeSystem
      • sizeType
    • ตอนนี้แอตทริบิวต์ที่กำหนดเองจะมีลักษณะซ้ำๆ ซึ่งทำให้ไม่ต้องใช้กลุ่มที่กำหนดเอง

    • ตอนนี้แอตทริบิวต์ที่กำหนดเองมีช่อง groupValues เพิ่มเติมจากช่อง value เดิม ต้องตั้งค่าฟิลด์ใดฟิลด์หนึ่ง