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

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

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

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

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

หากต้องการโทรไปยัง v2.1 ให้อัปเดตคำขอเพื่อใช้ปลายทาง v2.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

ดูข้อมูลทั้งหมดเกี่ยวกับบริการและปลายทาง v2.1 ได้ที่เอกสารอ้างอิง API

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

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

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

เราได้นำบริการ v2 inventory ออกแล้ว และฟังก์ชันที่เทียบเท่ากันจะพร้อมใช้งานในฟีเจอร์ 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 ออกแล้ว ใน v2.1 ระบบจะแสดงผลิตภัณฑ์ทั้งหมดโดยค่าเริ่มต้น

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

  • เราไม่รับประกันว่า offerId ที่แสดงผลจะเหมือนกับ offerId อินพุตอีกต่อไป v2.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

  • ใน v2.1 การโทรไม่ควรรวมข้อมูลภาษีเนื่องจากระบบจะคำนวณข้อมูลภาษีโดยอัตโนมัติ หากมีการดำเนินการตามคำสั่งซื้อในรัฐที่มีกฎหมายว่าด้วยความเท่าเทียมทางการตลาด (Marketplace Fairness Act หรือ 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 ออกแล้ว

  • วิธีการ v2orders.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 ออกแล้ว

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

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

การเปลี่ยนแปลงเพิ่มเติมใน v2.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 เดิมแล้ว ต้องตั้งค่าฟิลด์ใดฟิลด์หนึ่ง