ย้ายข้อมูลจาก 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 แทน

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

เรามีกำหนดการเลิกใช้งาน Merchant API เวอร์ชัน v1beta ในวันที่ 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 เพื่อเพิ่มผู้ดูแลระบบเริ่มต้นลงในบัญชี