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