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

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

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

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

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

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

ตัวอย่างเช่น หากต้องการเรียกใช้เมธอด products.get ด้วยเวอร์ชัน 2 คุณจะต้องใช้

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

สำหรับเวอร์ชัน 2.1 ให้อัปเดต URL เป็น

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

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

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

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

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

ระบบได้นำบริการ inventory เวอร์ชัน 2 ออกแล้ว และฟังก์ชันการทำงานที่เทียบเท่ากันจะพร้อมใช้งานในฟีเจอร์เวอร์ชัน 2.1 ต่อไปนี้

2. อัปเดตการเรียกใช้บริการ accounts

  • การเรียกใช้เมธอด accounts.update ในเวอร์ชัน 2.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
  • ตัวเลือก includeAttributes ของเวอร์ชัน 2 เลิกใช้งานแล้ว ให้ใช้ 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 การเรียกใช้ไม่ควรรวมข้อมูลภาษีเนื่องจากระบบจะคำนวณข้อมูลภาษีโดยอัตโนมัติ หากมีการดำเนินการตามคำสั่งซื้อในรัฐที่มีกฎหมาย Marketplace Fairness Act (MFA) หรือกฎหมายที่คล้ายกัน การเรียกใช้ที่มีข้อมูลภาษีจะล้มเหลว หากมีการดำเนินการตามคำสั่งซื้อในรัฐที่ไม่มี MFA ระบบจะคำนวณภาษีตามการตั้งค่าที่กำหนดค่าไว้ใน Merchant Center หากไม่ได้กำหนดค่าไว้ ภาษีที่คำนวณได้จะเป็น 0

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

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

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

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

  • ช่อง netAmount ได้ถูกแยกออกเป็น netPriceAmount และ netTaxAmount

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

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

  • ระบบได้นำ CustomBatch ออกแล้ว

  • ระบบได้นำ Refund ออกแล้ว ให้ใช้ refundOrder หรือ refundItem แทน

  • ระบบได้นำช่อง paymentMethod ออกแล้ว

  • เมธอด orders.returnlineitem และ orders.refund ของเวอร์ชัน 2 ได้ถูกแทนที่ด้วย orderreturns.creatOrderReturn และ orderreturns.process แล้ว

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

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

7. อัปเดตการเรียกใช้บริการ orderinvoice

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

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

8. นำฟังก์ชันการทำงานที่ไม่ได้รวมอยู่ในเวอร์ชัน 2.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 หากพบปัญหาขณะทดสอบการอัปเดต โปรดติดต่อเรา

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

นอกจากการเปลี่ยนแปลงที่ต้องมีการอัปเดตแล้ว เวอร์ชัน 2.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 เดิม คุณต้องตั้งค่าช่องใดช่องหนึ่งเท่านั้น