ย้ายข้อมูลจาก v1beta เป็น v1

คู่มือนี้จะช่วยคุณย้ายข้อมูลจาก Merchant API v1beta ไปยัง v1 ซึ่งเป็นเวอร์ชันแรก ที่พร้อมให้บริการแก่บุคคลทั่วไป เวอร์ชัน v1 มีการอัปเดตหลายรายการและการเปลี่ยนแปลงเล็กน้อยที่อาจต้องมีการอัปเดตโค้ด การเปลี่ยนแปลงเหล่านี้ออกแบบมาเพื่อลดความซับซ้อนของ API และปรับปรุงการจัดการบัญชี Merchant Center

ความแตกต่างที่สำคัญ

การเปลี่ยนแปลงที่สำคัญที่สุดที่คุณควรทราบเมื่อย้ายข้อมูลจาก v1beta ไปยัง v1 มีดังนี้

  • การลงทะเบียนนักพัฒนา API อย่างน้อย 1 รายเพื่อใช้ Merchant API แบบครั้งเดียว: คุณจะต้องเรียกใช้เมธอด registerGcp (เพียงครั้งเดียวสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์ Google แต่ละรายการที่ใช้สำหรับการ ตรวจสอบสิทธิ์) เพื่อระบุข้อมูลติดต่อ ซึ่งจะช่วยให้คุณใช้ API และรับข้อมูลอัปเดตและประกาศที่เกี่ยวข้องกับ Merchant API ได้ คุณจะใช้ API v1 หรือ v1alpha ไม่ได้จนกว่าจะทำตามขั้นตอนนี้เสร็จสมบูรณ์ ดูข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการลงทะเบียนได้ที่ การลงทะเบียน
  • การเข้ารหัสชื่อผลิตภัณฑ์: ฟิลด์ ProductInput.name และ Product.name รองรับ การเข้ารหัส base64url แบบไม่ใส่ padding (RFC 4648 ส่วนที่ 5) โปรดปฏิบัติตามหลักเกณฑ์ต่อไปนี้

    • ก่อนเข้ารหัส สตริงต้องเป็นไปตามรูปแบบ contentLanguage~feedLabel~offerId
    • การเข้ารหัสเป็นสิ่งจำเป็น หากชื่อผลิตภัณฑ์มีอักขระที่ Merchant API ใช้หรืออักขระที่สงวนไว้สำหรับ URL เช่น

      % . + / : ~ , ( * ! ) & ? = @ # $
      
    • หากชื่อผลิตภัณฑ์เป็นไปตามcontentLanguage~feedLabel~offerId รูปแบบและไม่มีอักขระที่ Merchant API ใช้หรือ อักขระที่สงวนไว้สำหรับ URL คุณสามารถใช้รูปแบบธรรมดาโดยไม่ต้องเข้ารหัส

    • เราขอแนะนำให้ใช้การเข้ารหัส base64url แบบไม่ใส่ padding กับชื่อผลิตภัณฑ์ทั้งหมดเพื่อให้การแยกวิเคราะห์เป็นไปอย่างสม่ำเสมอและถูกต้อง

  • การนำข้อมูลภาษีระดับผลิตภัณฑ์ออก: taxes และ taxCategory

  • Product.attributes เปลี่ยนชื่อ: ฟิลด์ Product.attributes เปลี่ยนชื่อเป็น Product.productAttributes

  • การนำข้อมูลภาษีระดับผลิตภัณฑ์ออก: ฟิลด์ taxes และ taxCategory ถูกนำออกจาก Product.productAttributes ออบเจ็กต์ ดูข้อมูลเพิ่มเติมได้ใน บทความช่วยเหลือของ Google Merchant Center เกี่ยวกับภาษี

  • การเปลี่ยนแปลงฟิลด์ GTIN: ฟิลด์ gtin ในออบเจ็กต์ Product.productAttributes เปลี่ยนชื่อเป็น gtins เพื่อให้สะท้อนได้ดียิ่งขึ้นว่าฟิลด์นี้สามารถเก็บค่าได้หลายค่า ฟิลด์ gtin ใน OrderTrackingSignals.lineItemDetails ออบเจ็กต์ ตอนนี้เป็น array และเปลี่ยนชื่อเป็น gtins ด้วย

  • การนำฟิลด์ Channel ออก: ฟิลด์ channel ถูกนำออกจากผลิตภัณฑ์ ข้อมูลผลิตภัณฑ์ และแหล่งข้อมูล เราได้เพิ่มฟิลด์บูลีนใหม่ legacyLocal เพื่อระบุผลิตภัณฑ์ที่ขายเฉพาะในร้านค้าจริงอย่างชัดเจน หมายเหตุ: ฟิลด์ legacyLocal เป็นฟิลด์เสริมเพื่อช่วยในการย้ายข้อมูล และจะเลิกใช้งานในที่สุดเมื่อกำหนดเป้าหมายวิธีทางการตลาดออนไลน์และในพื้นที่ได้อย่างสมบูรณ์ด้วยแหล่งที่มาของผลิตภัณฑ์เพียงแหล่งเดียว ดูข้อมูลเพิ่มเติมได้ในตารางในส่วนถัดไป

  • ฟิลด์ใหม่สำหรับแอตทริบิวต์สินค้าคงคลังระดับภูมิภาคและระดับท้องถิ่น:

    • ฟิลด์ RegionalInventory ทั้งหมด ยกเว้น name, account และ region ตอนนี้รวมอยู่ในออบเจ็กต์ใหม่ที่เรียกว่า regionalInventoryAttributes เช่น แอตทริบิวต์ RegionalInventory.price ตอนนี้อยู่ใน RegionalInventory.regionalInventoryAttributes.price
    • ฟิลด์ LocalInventory ทั้งหมด ยกเว้น name, account และ storeCode ตอนนี้รวมอยู่ในออบเจ็กต์ใหม่ที่เรียกว่า localInventoryAttributes เช่น แอตทริบิวต์ LocalInventory.price ตอนนี้อยู่ใน LocalInventory.localInventoryAttributes.price
  • การนำ customAttributes ออกจากสินค้าคงคลังระดับภูมิภาคและระดับท้องถิ่น: ฟิลด์ customAttributes ถูกนำออกจากทรัพยากร RegionalInventory และ LocalInventory

  • การสร้างบัญชีที่ปรับปรุงแล้ว: ฟิลด์ users ที่ซ้ำซ้อนถูกนำออกจาก CreateAndConfigureAccountRequest ใช้ฟิลด์ user ในรูปเอกพจน์เพื่อเชื่อมโยงผู้ใช้เริ่มต้นกับบัญชีใหม่

  • เปลี่ยนประเภทแอตทริบิวต์บางประเภทจากสตริงเป็น Enum: ฟิลด์บางฟิลด์ ใน Product และ Inventory ทรัพยากรที่มีรายการค่าสั้นๆ ที่กำหนดไว้เปลี่ยนจากประเภท string เป็นประเภท enum เพื่อให้การตรวจสอบข้อมูลดีขึ้น (เช่น ฟิลด์ Product.ProductAttributes.condition ตอนนี้เป็น enum)

  • การนำเมธอดอัปเดตนโยบายการคืนสินค้าออนไลน์ออก: เมธอด onlineReturnPolicy.update ถูกนำออกใน v1 สร้างนโยบายคืนสินค้าออนไลน์โดยใช้ onlineReturnPolicy.create แทน

วิธีย้ายข้อมูล

เวอร์ชัน v1beta ของ Merchant API มีกำหนดจะเลิกใช้งานในวันที่ 28 กุมภาพันธ์ 2026 ดูข้อมูลเพิ่มเติมเกี่ยวกับกำหนดการเลิกใช้งานได้ใน คู่มือการกำหนดเวอร์ชันของ Merchant API

  • ขั้นตอนแรกในการย้ายข้อมูลคือการลงทะเบียนเป็นนักพัฒนาแอปแบบครั้งเดียว (ดูที่ ลงทะเบียนในฐานะนักพัฒนาแอป คุณต้องเรียกใช้เมธอด registerGcp สำหรับโปรเจ็กต์ Google Cloud แต่ละรายการที่ใช้สำหรับการตรวจสอบสิทธิ์ก่อนที่เมธอด v1 จะทำงาน

  • ไม่ว่าคุณจะเรียกใช้ API ด้วยวิธีใด (REST, gRPC หรือใช้ไลบรารี ของไคลเอ็นต์) คุณก็สามารถย้ายข้อมูลเป็นระยะๆ ได้ ซึ่ง หมายความว่าคุณสามารถอัปเดตและย้ายข้อมูลโค้ดทีละ API (เช่น ย้าย API Products ไปยัง v1 ขณะที่ยังคงใช้ API Accounts ใน v1beta) โดยไม่ต้องอัปเดตการผสานรวมทั้งหมดพร้อมกัน

การเปลี่ยนแปลงฟิลด์โดยละเอียด

ตารางนี้แสดงการเปรียบเทียบฟิลด์ที่เปลี่ยนแปลง ระหว่างเวอร์ชัน v1beta และ v1 โดยละเอียด

v1beta v1 คำอธิบาย
ProductInput.name ProductInput.name Unpadded base64url encoding รองรับและจำเป็นต้องใช้สำหรับ ชื่อผลิตภัณฑ์ที่มีอักขระที่ Merchant API ใช้หรืออักขระที่สงวนไว้สำหรับ URL
Product.name Product.name Unpadded base64url encoding รองรับและจำเป็นต้องใช้สำหรับ ชื่อผลิตภัณฑ์ที่มีอักขระที่ Merchant API ใช้หรืออักขระที่สงวนไว้สำหรับ URL
Product.gtin Product.gtins เปลี่ยนชื่อฟิลด์สำหรับ GTIN แล้ว
Product.taxes นำออกแล้ว นำฟิลด์ taxes ออกแล้ว
Product.taxCategory นำออกแล้ว นำฟิลด์ taxCategory ออกแล้ว
Product.channel นำออกแล้ว นำฟิลด์ channel ออกแล้ว ใช้ฟิลด์ legacyLocal สำหรับกรณีการใช้งานในพื้นที่
Product.attributes Product.productAttributes เปลี่ยนชื่อฟิลด์ attributes เป็น productAttributes แล้ว
availability, condition, gender, includedDestinations และ excludedDestinations ในฟิลด์ Product แสดงเป็น strings (หรือ array ของ strings) ฟิลด์เหล่านี้ตอนนี้เป็น enums (หรือ array ของ enums) ฟิลด์ที่มีรายการค่าสั้นๆ ที่กำหนดไว้เปลี่ยนจากประเภท string เป็น enum
price, salePrice, salePriceEffectiveDate และ availability ใน RegionalInventory ย้ายไปยัง RegionalInventory.regionalInventoryAttributes ฟิลด์เหล่านี้ย้ายไปอยู่ภายใต้ regionalInventoryAttributes แล้ว
ฟิลด์ RegionalInventory.availability เป็น string RegionalInventory.regionalInventoryAttributes.availability ตอนนี้เป็น enums เปลี่ยนประเภทความพร้อมจำหน่ายสินค้าจาก string เป็น enum
price, salePrice, salePriceEffectiveDate, availability, quantity, pickupMethod, pickupSla และ instoreProductLocation ใน LocalInventory ย้ายไปยัง LocalInventory.localInventoryAttributes ฟิลด์เหล่านี้ย้ายไปอยู่ภายใต้ localInventoryAttributes แล้ว
ฟิลด์ LocalInventory.availability เป็น string LocalInventory.localInventoryAttributes.availability ตอนนี้เป็น enums เปลี่ยนประเภทความพร้อมจำหน่ายสินค้าจาก string เป็น enum
LocalInventory.customAttributes นำออกแล้ว ระบบไม่รองรับแอตทริบิวต์ที่กำหนดเองสำหรับสินค้าคงคลังในร้านอีกต่อไป
RegionalInventory.customAttributes นำออกแล้ว ระบบไม่รองรับแอตทริบิวต์ที่กำหนดเองสำหรับสินค้าคงคลังระดับภูมิภาคอีกต่อไป
ProductInput.channel นำออกแล้ว นำฟิลด์ channel ออกแล้ว ใช้ฟิลด์ legacyLocal สำหรับกรณีการใช้งานในพื้นที่
DataSource.channel นำออกแล้ว นำฟิลด์ channel ออกแล้ว ใช้ฟิลด์ legacyLocal สำหรับกรณีการใช้งานในพื้นที่
ไม่พร้อมใช้งาน ProductInput.legacyLocal ฟิลด์บูลีนใหม่เพื่อระบุว่าผลิตภัณฑ์กำหนดเป้าหมายได้เฉพาะวิธีทางการตลาดในพื้นที่ รหัสทรัพยากรผลิตภัณฑ์จะมีคำนำหน้า "local~"
ไม่พร้อมใช้งาน Product.legacyLocal ฟิลด์บูลีนใหม่เพื่อระบุว่าผลิตภัณฑ์ขายเฉพาะในร้านค้าในพื้นที่ และไม่พร้อมจำหน่ายสำหรับการซื้อออนไลน์
ไม่พร้อมใช้งาน DataSource.legacyLocal ฟิลด์บูลีนใหม่เพื่อระบุว่าแหล่งข้อมูลมีผลิตภัณฑ์ ที่ขายเฉพาะในร้านค้าในพื้นที่
OrderTrackingSignals.LineItemDetails.gtin OrderTrackingSignals.LineItemDetails.gtins เปลี่ยนชื่อฟิลด์ gtin เป็น gtins และ ตอนนี้ฟิลด์นี้เป็นอาร์เรย์ของสตริง (แทนที่จะเป็นสตริง)
CreateAndConfigureAccountRequest.users นำออกแล้ว นำฟิลด์ users ออกแล้ว ใช้ฟิลด์ user เพื่อเพิ่มผู้ดูแลระบบเริ่มต้นลงในบัญชี