ย้ายข้อมูลแหล่งข้อมูล

คู่มือนี้อธิบายวิธีย้ายข้อมูลการผสานรวมจากบริการ datafeeds และ datafeedstatuses ของ Content API for Shopping ไปยัง Data sources sub-API ใน Merchant API Data sources sub-API ใหม่ช่วยให้คุณควบคุมไปป์ไลน์ข้อมูลได้โดยตรงมากขึ้นและลดความซับซ้อนในการจัดการแหล่งข้อมูล

ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ใหม่ได้ในคู่มือจัดการแหล่ง ข้อมูล

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

Merchant API มีข้อดีหลายประการเมื่อเทียบกับ Content API for Shopping

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

  • รองรับแหล่งข้อมูล API หลายแหล่ง ใน Content API for Shopping คุณใช้แหล่งข้อมูล "Content API" ที่สร้างขึ้นโดยอัตโนมัติได้เพียงแหล่งเดียวเท่านั้น แต่ Merchant API ช่วยให้คุณสร้างและจัดการแหล่งข้อมูลหลายแหล่งที่มีประเภทอินพุต API ได้

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

  • เป้าหมายข้อมูลที่เรียบง่ายขึ้น ตอนนี้แหล่งข้อมูลแต่ละแหล่งจะสอดคล้องกับเป้าหมายเดียว ซึ่งกำหนดโดยชุดค่าผสมที่ไม่ซ้ำกันของ feedLabel และ contentLanguage ระบบเลิกใช้งานฟีดเป้าหมายข้อมูลหลายรายการใน Merchant API แล้ว

  • เลือกกลยุทธ์แหล่งข้อมูล คุณมี 3 ตัวเลือกในการจัดการแหล่งข้อมูล ดังนี้

    1. เก็บแหล่งข้อมูล Content API ที่มีอยู่ คุณสามารถใช้แหล่งข้อมูลที่สร้างด้วย Content API for Shopping ต่อไปได้ เนื่องจากแหล่งข้อมูลเหล่านี้เข้ากันได้กับ Merchant API คุณดูชื่อทรัพยากรได้โดยใช้ dataSources.list หรือภายใน UI ของ Merchant Center แหล่งข้อมูลหลักของ Content API รองรับเฉพาะ feedLabel และ contentLanguage ที่ใช้สร้างแหล่งข้อมูลเท่านั้น แหล่งข้อมูล Content API จะแสดงใน Merchant Center โดยมีแหล่งที่มาเป็น "Content API" แม้ว่าจะมีการแทรกผลิตภัณฑ์โดยใช้ Merchant API ก็ตาม คุณสามารถรวมแหล่งข้อมูลเหล่านี้กับแหล่งข้อมูล Merchant API ใหม่ที่กำหนดเป้าหมายเป็นคู่ feedLabel และ contentLanguage ที่เฉพาะเจาะจงได้เช่นกัน

    2. สร้างแหล่งข้อมูล Merchant API ใหม่สำหรับป้ายกำกับและภาษาแต่ละรายการ ใช้ตัวเลือกนี้หากคุณต้องการรองรับชุดค่าผสมใหม่ของ feedLabel และ contentLanguage (และต้องการแยกชุดค่าผสมเหล่านี้ออกจากกันอย่างชัดเจน) หรือหากคุณใช้การตั้งค่ากฎแหล่งข้อมูลที่อิงตาม feedLabel และ contentLanguage ที่เฉพาะเจาะจง คุณจะต้องสร้างแหล่งข้อมูลแยกต่างหากสำหรับ feedLabel และ contentLanguage แต่ละคู่ที่คุณใช้

    3. สร้างแหล่งข้อมูล Merchant API แหล่งเดียวสำหรับป้ายกำกับและภาษาใดก็ได้ ใช้ตัวเลือกนี้เพื่อลดความซับซ้อนในการจัดการโดยใช้แหล่งข้อมูลเดียวที่ยอมรับผลิตภัณฑ์ที่มี feedLabel และ contentLanguage ใดก็ได้ หากเลือกตัวเลือกนี้ เราขอแนะนำให้ย้ายผลิตภัณฑ์ทั้งหมดไปยังแหล่งข้อมูลใหม่นี้และนำแหล่งข้อมูล Content API เก่าออกเมื่อย้ายข้อมูลผลิตภัณฑ์แล้ว

  • สถานะการอัปโหลดไฟล์โดยเฉพาะ Merchant API แสดงสถานะของแหล่งข้อมูลที่อิงตามไฟล์โดยใช้ทรัพยากร fileUploads แบบอ่านอย่างเดียวแยกต่างหาก หากต้องการดึงข้อมูลสถานะการอัปโหลดไฟล์ ให้ใช้เมธอด fileUploads.get ที่มีนามแฝง latest

  • แหล่งข้อมูลประเภทใหม่ ทรัพยากร DataSource รองรับธุรกิจเพิ่มเติม ซึ่งรวมถึงโปรโมชัน สินค้าคงคลังในร้าน และสินค้าคงคลังระดับภูมิภาค ซึ่งเป็นวิธีที่รวมเป็นหนึ่งเดียวในการจัดการไปป์ไลน์ข้อมูลทั้งหมด

  • แหล่งข้อมูลอัตโนมัติ ตอนนี้ Merchant API ช่วยให้คุณเปิดหรือปิดใช้ ฟีเจอร์ แหล่งข้อมูลอัตโนมัติสำหรับ บัญชีได้โดยใช้เมธอด autofeedSettings.updateAutofeedSettingsใน Accounts sub-API ดูข้อมูลเพิ่มเติมได้ที่หัวข้อ กำหนดค่าการตั้งค่าฟีดอัตโนมัติ

คำขอ

ตารางต่อไปนี้เปรียบเทียบรูปแบบ URL ของคำขอระหว่าง Content API for Shopping กับ Merchant API

รายละเอียดสำหรับคำขอ Content API for Shopping Merchant API
สร้างแหล่งข้อมูล POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources
รับแหล่งข้อมูล GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}
แสดงรายการแหล่งข้อมูล GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources
อัปเดตแหล่งข้อมูล PUT https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} PATCH https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}
ลบแหล่งข้อมูล DELETE https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} DELETE https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}
ดึงข้อมูลแหล่งข้อมูล POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID}/fetchNow POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}:fetch
รับสถานะแหล่งข้อมูล GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses/{DATAFEED_ID} GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}/fileUploads/latest
แสดงรายการสถานะแหล่งข้อมูล GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses ไม่พร้อมใช้งาน ใช้ dataSources.list และ fileUploads.get สำหรับแหล่งข้อมูลที่อิงตามไฟล์แต่ละแหล่ง

รหัสระบุ

Merchant API ใช้ชื่อทรัพยากรที่อิงตามสตริงเป็นตัวระบุ

คำอธิบายตัวระบุ Content API for Shopping Merchant API
ตัวระบุแหล่งข้อมูล datafeedId (ตัวเลข) name (สตริง รูปแบบ: accounts/{account}/dataSources/{datasource})

เมธอด

ตารางนี้เปรียบเทียบเมธอดจากบริการ Content API for Shopping datafeeds และ datafeedstatuses กับเมธอดที่เทียบเท่าใน Merchant API

เมธอดของ Content API for Shopping เมธอดของ Merchant API ความพร้อมให้บริการและหมายเหตุ
datafeeds.custombatch ไม่พร้อมใช้งาน ใช้การเรียก API แต่ละรายการแทน
datafeeds.delete dataSources.delete พร้อมใช้งาน
datafeeds.fetchnow dataSources.fetch พร้อมใช้งาน ตอนนี้เมธอดนี้ใช้ได้กับแหล่งข้อมูลที่มีอินพุตไฟล์เท่านั้น
datafeeds.get dataSources.get พร้อมใช้งาน
datafeeds.insert dataSources.create พร้อมใช้งาน
datafeeds.list dataSources.list พร้อมใช้งาน
datafeeds.update dataSources.update พร้อมใช้งาน ใช้ความหมายของ PATCH แทน PUT
datafeedstatuses.custombatch ไม่พร้อมใช้งาน ใช้การเรียก API แต่ละรายการแทน ดูรายละเอียดเพิ่มเติมได้ที่หัวข้อส่งคำขอหลายรายการพร้อมกัน
datafeedstatuses.get fileUploads.get พร้อมใช้งานสำหรับแหล่งข้อมูลที่อิงตามไฟล์ ใช้นามแฝง latest เพื่อรับสถานะการอัปโหลดล่าสุด สำหรับแหล่งข้อมูลประเภทอื่นๆ ข้อมูลสถานะจะเป็นส่วนหนึ่งของทรัพยากร DataSource
datafeedstatuses.list ไม่พร้อมใช้งาน หากต้องการรับสถานะของแหล่งข้อมูลหลายแหล่ง ให้แสดงรายการแหล่งข้อมูลทั้งหมดด้วย dataSources.list ก่อน จากนั้นเรียก fileUploads.get ที่มีนามแฝง latest สำหรับแหล่งข้อมูลที่อิงตามไฟล์แต่ละแหล่ง

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

ตารางนี้แสดงการเปลี่ยนแปลงระดับฟิลด์ระหว่างทรัพยากร Datafeed และ DatafeedStatus ใน Content API for Shopping กับทรัพยากร DataSource และ FileUpload ใน Merchant API

Content API for Shopping Merchant API คำอธิบาย
Datafeed DataSource ทรัพยากรหลักสำหรับการกำหนดค่าแหล่งข้อมูล
id name ตัวระบุทรัพยากร เปลี่ยนจากรหัสตัวเลขเป็นชื่อทรัพยากรสตริง
name displayName ชื่อแหล่งข้อมูลที่ผู้ใช้มองเห็น
attributeLanguage primaryProductDataSource.contentLanguage รหัสภาษาแบบ 2 ตัวอักษรตามมาตรฐาน ISO 639-1 ของรายการในแหล่งข้อมูล
fileName fileInput.fileName ชื่อไฟล์ที่อัปโหลด ตอนนี้ฟิลด์นี้ซ้อนอยู่ภายใต้ fileInput
fetchSchedule fileInput.fetchSettings กำหนดการดึงข้อมูลแหล่งข้อมูลที่อิงตามไฟล์ ตอนนี้ฟิลด์นี้ซ้อนอยู่ภายใต้ fileInput
fetchSchedule.paused fileInput.fetchSettings.enabled ตรรกะกลับกัน paused: true เทียบเท่ากับ enabled: false
format ไม่พร้อมใช้งาน นำฟิลด์ fileEncoding, columnDelimiter และ quotingMode ออกแล้ว ตอนนี้ระบบจะตรวจหาฟิลด์เหล่านี้โดยอัตโนมัติ
targets primaryProductDataSource.feedLabel, primaryProductDataSource.contentLanguage, primaryProductDataSource.countries นำฟิลด์ targets ที่ซ้ำกันออกแล้ว ตอนนี้แหล่งข้อมูลแต่ละแหล่งมีเป้าหมายเดียวที่กำหนดโดยฟิลด์เหล่านี้ ซึ่งแสดงถึงการเลิกใช้งานฟีดเป้าหมายข้อมูลหลายรายการ
DatafeedStatus FileUpload ตอนนี้สถานะการอัปโหลดไฟล์เป็นทรัพยากรแบบอ่านอย่างเดียวแยกต่างหาก
datafeedId name ตัวระบุสำหรับการอัปโหลดไฟล์ ซึ่งอ้างอิงถึงแหล่งข้อมูลระดับบนสุด
processingStatus processingState สถานะการประมวลผลของการอัปโหลด ค่าสตริง (success, failure, in progress) จะถูกแทนที่ด้วย Enum (SUCCEEDED, FAILED, IN_PROGRESS)
errors, warnings issues ข้อผิดพลาดและคำเตือนจะรวมอยู่ในรายการ issues รายการเดียว แต่ละปัญหาจะมีฟิลด์ severity (ERROR หรือ WARNING)
lastUploadDate uploadTime การประทับเวลาของการอัปโหลดล่าสุด รูปแบบเปลี่ยนจากสตริงเป็นออบเจ็กต์ Timestamp
country, language, feedLabel ไม่เกี่ยวข้อง ฟิลด์เหล่านี้ไม่อยู่ในทรัพยากรสถานะอีกต่อไป แต่เป็นส่วนหนึ่งของทรัพยากร DataSource
targets[].included_destinations, targets[].excluded_destinations primaryProductDataSource.destinations รายการแยกต่างหาก 2 รายการสำหรับปลายทางที่รวมและปลายทางที่ยกเว้นจะถูกแทนที่ด้วยรายการ destinations รายการเดียว แต่ละรายการในรายการใหม่จะเป็นออบเจ็กต์ที่ระบุปลายทางและสถานะ (ENABLED หรือ DISABLED) ซึ่งให้การกำหนดค่าที่ชัดเจนมากขึ้น