คู่มือนี้จะช่วยคุณย้ายข้อมูลจาก Merchant API v1beta ไปเป็น v1 ซึ่งเป็นเวอร์ชันแรก
ที่พร้อมให้บริการแก่บุคคลทั่วไป เวอร์ชัน v1 มีการอัปเดตหลายรายการและการเปลี่ยนแปลงเล็กน้อยที่อาจต้องมีการอัปเดตโค้ด การเปลี่ยนแปลงเหล่านี้ออกแบบมาเพื่อลดความซับซ้อนของ API และปรับปรุงการจัดการบัญชี Merchant Center
ความแตกต่างที่สำคัญ
การเปลี่ยนแปลงที่สำคัญที่สุดที่คุณควรทราบเมื่อย้ายข้อมูลจาก v1beta
ไปเป็น v1 มีดังนี้
- การลงทะเบียนนักพัฒนา API อย่างน้อย 1 รายแบบครั้งเดียวเพื่อใช้ Merchant API:
คุณจะต้องเรียกใช้เมธอด
registerGcp(เพียงครั้งเดียวสำหรับแต่ละโปรเจ็กต์ที่อยู่ในระบบคลาวด์ Google ที่ใช้สำหรับการ ตรวจสอบสิทธิ์) เพื่อระบุข้อมูลติดต่อ ซึ่งจะช่วยให้คุณใช้ API และรับข้อมูลอัปเดตและประกาศที่เกี่ยวข้องกับ Merchant API ได้ คุณจะใช้ APIv1หรือ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และtaxCategoryProduct.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ขณะที่ยังคงใช้ APIAccountsใน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 เพื่อเพิ่มผู้ดูแลระบบเริ่มต้นลงในบัญชี |