ย้ายข้อมูลผลิตภัณฑ์

Merchant API ขอแนะนำวิธีที่แข็งแกร่งและใช้งานง่ายยิ่งขึ้นในการจัดการข้อมูลผลิตภัณฑ์ การเปลี่ยนแปลงหลักคือการแยกข้อมูลผลิตภัณฑ์ออกเป็น 2 แหล่งข้อมูลที่แตกต่างกัน ได้แก่ ProductInput สำหรับส่งข้อมูล และ Product สำหรับดู เวอร์ชันสุดท้ายที่ประมวลผลแล้ว ซึ่งรวมถึงสถานะและปัญหาของผลิตภัณฑ์ โครงสร้างใหม่นี้ ช่วยให้ได้รับประสบการณ์ที่คาดการณ์ได้และโปร่งใสมากขึ้น

คู่มือนี้จะอธิบายความแตกต่างที่สำคัญเพื่อช่วยคุณย้ายข้อมูลการผสานรวมจาก Content API for Shopping ดูคำแนะนำแบบละเอียดเกี่ยวกับการใช้ ฟีเจอร์ใหม่ได้ที่จัดการผลิตภัณฑ์

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

ต่อไปนี้คือการเปลี่ยนแปลงที่สำคัญที่สุดเกี่ยวกับวิธีจัดการผลิตภัณฑ์ใน Merchant API เมื่อเทียบกับ Content API for Shopping

  • แหล่งข้อมูลเฉพาะสำหรับข้อมูลนำเข้าและข้อมูลที่ประมวลผลแล้ว: Merchant API แบ่งการจัดการผลิตภัณฑ์ออกเป็น 2 แหล่งข้อมูล คุณสามารถใช้แหล่งข้อมูล ProductInput เพื่อแทรก อัปเดต และลบข้อมูลผลิตภัณฑ์ คุณใช้แหล่งข้อมูล อ่านอย่างเดียว Product เพื่อดูผลิตภัณฑ์ขั้นสุดท้ายหลังจากที่ Google ประมวลผลข้อมูลที่คุณป้อน ใช้กฎ และรวมข้อมูลจากแหล่งข้อมูลเสริมได้

  • สถานะผลิตภัณฑ์ที่ผสานรวม: ระบบจะนำบริการ productstatuses ออก ตอนนี้ปัญหาการตรวจสอบผลิตภัณฑ์และสถานะปลายทางจะรวมอยู่ใน Product โดยตรงในฟิลด์ productStatus ซึ่งจะช่วยให้ดึงข้อมูลได้ง่ายขึ้น

  • การอัปเดตผลิตภัณฑ์ที่คาดการณ์ได้: เมธอด productInputs.patch ใหม่จะแก้ไขอินพุตผลิตภัณฑ์ที่เฉพาะเจาะจงโดยตรง ซึ่งเป็นการปรับปรุงที่สำคัญกว่า Content API for Shopping ซึ่งการอัปเดตอาจถูกเขียนทับโดยการอัปโหลดฟีดอื่นๆ โดยไม่คาดคิด ใน Merchant API การอัปเดตจะยังคงอยู่จนกว่าจะมีการอัปเดตหรือลบอินพุตผลิตภัณฑ์ที่เฉพาะเจาะจงนั้นอีกครั้ง ระบบจะใช้การอัปเดตผลิตภัณฑ์กับทรัพยากร ProductInput แทนที่จะใช้กับทรัพยากร Product ที่ประมวลผลแล้ว

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

  • ตัวระบุทรัพยากรใหม่: ตอนนี้ระบบจะระบุผลิตภัณฑ์ด้วยทรัพยากร RESTful name แทนฟิลด์ id รูปแบบคือ accounts/{account}/products/{product}

  • ไม่มีชุดที่กำหนดเอง: วิธีcustombatchใช้ไม่ได้อีกต่อไป คุณ สามารถใช้คำขอแบบ อะซิงโครนัสหรือการจัดกลุ่ม HTTP เพื่อส่งคำขอหลายรายการ ในการเรียก HTTP ครั้งเดียว

  • แหล่งข้อมูลสำหรับป้ายกำกับฟีดและภาษาใดก็ได้: Merchant API ช่วยให้สร้างแหล่งข้อมูลได้โดยไม่ต้องระบุป้ายกำกับฟีดและภาษา จึงช่วยให้แทรกผลิตภัณฑ์ที่มีป้ายกำกับฟีดและภาษาใดก็ได้

คำขอ

ส่วนนี้จะเปรียบเทียบรูปแบบคำขอสำหรับ Content API for Shopping และ Merchant API

รายละเอียดสำหรับคำขอ Content API for Shopping Merchant API
ซื้อผลิตภัณฑ์ GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product}
แสดงรายการผลิตภัณฑ์ GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products
แทรกผลิตภัณฑ์ POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products POST https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs:insert
อัปเดตผลิตภัณฑ์ PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} PATCH https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput}
ลบผลิตภัณฑ์ DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} DELETE https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput}
รับสถานะผลิตภัณฑ์ GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses/{productId} GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product}
แสดงสถานะผลิตภัณฑ์ GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products
จัดกลุ่มคำขอหลายรายการ POST https://shoppingcontent.googleapis.com/content/v2.1/products/custombatch คำขอแบบอะซิงโครนัส การจัดกลุ่ม HTTP

รหัสระบุ

รูปแบบของตัวระบุผลิตภัณฑ์มีการเปลี่ยนแปลงใน Merchant API เป็นชื่อทรัพยากร REST มาตรฐาน

คำอธิบายตัวระบุ Content API for Shopping Merchant API
รหัสผลิตภัณฑ์ สตริงที่ประกอบด้วยกลุ่มที่คั่นด้วยเครื่องหมายโคลอน (:)
รูปแบบ: channel:contentLanguage:targetCountry:offerId หรือ channel:contentLanguage:feedLabel:offerId
ตัวอย่าง: online:en:US:sku123
nameสตริง
ของทรัพยากร REST รูปแบบ: accounts/{account}/products/{product} โดยที่ {product} คือ contentLanguage~feedLabel~offerId
ตัวอย่าง: accounts/12345/products/en~US~sku123

เมธอด

ตารางนี้แสดงเมธอด Content API for Shopping และเมธอดที่เทียบเท่าใน Merchant API

เมธอด Content API for Shopping เมธอดของ Merchant API ความพร้อมใช้งานและหมายเหตุ
products.get products.get ดึงข้อมูลผลิตภัณฑ์สุดท้ายที่ประมวลผลแล้ว
products.list products.list แสดงผลิตภัณฑ์สุดท้ายที่ประมวลผลแล้ว
products.insert productInputs.insert แทรกอินพุตผลิตภัณฑ์ ต้องมี dataSource
products.update productInputs.update ลักษณะการทำงานแตกต่างกันอย่างมาก โดยจะอัปเดตอินพุตของผลิตภัณฑ์ที่เฉพาะเจาะจงและคงอยู่
products.delete productInputs.delete ลบอินพุตผลิตภัณฑ์ที่เฉพาะเจาะจง ต้องมี dataSource
products.custombatch ไม่พร้อมใช้งาน ใช้คำขอแบบอะซิงโครนัสหรือการจัดกลุ่ม HTTP
productstatuses.get products.get ระบบจะนำบริการ productstatuses ออก ตอนนี้ข้อมูลสถานะเป็นส่วนหนึ่งของแหล่งข้อมูล Product แล้ว
productstatuses.list products.list ระบบจะนำบริการ productstatuses ออก ตอนนี้ข้อมูลสถานะเป็นส่วนหนึ่งของแหล่งข้อมูล Product แล้ว
productstatuses.custombatch ไม่พร้อมใช้งาน ใช้ [asynchronous

requests](/merchant/api/samples/insert-product-input-async) หรือการประมวลผลแบบกลุ่มของ HTTP |

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

ตารางนี้ไฮไลต์ฟิลด์สำคัญที่มีการเปลี่ยนแปลง เพิ่ม หรือนำออก ใน Merchant API

Content API for Shopping Merchant API คำอธิบาย
id name ตอนนี้ตัวระบุหลักสำหรับผลิตภัณฑ์คือทรัพยากร REST name
แอตทริบิวต์ข้อกำหนดในการจัดทำข้อมูลผลิตภัณฑ์ระดับบนสุด (เช่น title, price, link) วัตถุ productAttributes รายการ แอตทริบิวต์ผลิตภัณฑ์ เช่น title, price และ link จะไม่ใช่ฟิลด์ระดับบนสุดอีกต่อไป ตอนนี้ระบบจะจัดกลุ่มไว้ในออบเจ็กต์ productAttributes ทั้งในทรัพยากร Product และ ProductInput ซึ่งจะช่วยให้โครงสร้างทรัพยากรมีความสะอาดและเป็นระเบียบมากขึ้น
targetCountry feedLabel ตอนนี้ชื่อทรัพยากรใช้ feedLabel แทน targetCountry เพื่อให้สอดคล้องกับฟังก์ชันการทำงานของ Merchant Center
feedId dataSource (พารามิเตอร์การค้นหา) ตอนนี้ dataSource ชื่อเป็นพารามิเตอร์การค้นหาที่จำเป็นสำหรับเมธอดเขียน productInputs ทั้งหมด (insert, update, delete)
channel ไม่พร้อมใช้งาน ใช้ legacy_local สำหรับผลิตภัณฑ์ในร้านเท่านั้น ฟิลด์ channel ไม่มีอยู่ใน Merchant API อีกต่อไป ผลิตภัณฑ์ที่มีช่องทาง LOCAL ใน Content API for Shopping ควรตั้งค่าฟิลด์ legacy_local เป็นจริงแทน
ไม่พร้อมใช้งาน versionNumber ฟิลด์ใหม่ที่ไม่บังคับใน ProductInput ซึ่งใช้เพื่อป้องกันการแทรกที่ไม่เป็นไปตามลำดับลงในแหล่งข้อมูลหลัก
string ฟิลด์ประเภทที่มีชุดค่าที่กำหนด enum ฟิลด์ประเภทที่มีชุดค่าที่กำหนด ฟิลด์ภายในแอตทริบิวต์ผลิตภัณฑ์ที่มีชุดค่าที่กำหนด (เช่น excluded_destinations, availability) จะเป็นประเภท enum แล้ว