คู่มือนี้อธิบายวิธีย้ายข้อมูลการผสานรวมจากบริการ datafeeds และ
datafeedstatuses ของ Content API for Shopping ไปยัง Data sources
sub-API ใน Merchant API 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 แล้ว
- สถานะการอัปโหลดไฟล์โดยเฉพาะ Merchant API แสดงสถานะของแหล่งข้อมูลที่อิงตามไฟล์โดยใช้ - fileUploadsทรัพยากรแบบอ่านอย่างเดียวแยกต่างหาก หากต้องการดึงข้อมูลสถานะการอัปโหลดไฟล์ ให้ใช้เมธอด- fileUploads.getที่มีนามแฝง- latest
- ประเภทแหล่งข้อมูลใหม่ - DataSourceทรัพยากรนี้รองรับอุตสาหกรรมต่างๆ มากขึ้น รวมถึงโปรโมชัน สินค้าคงคลังในร้าน และสินค้าคงคลังระดับภูมิภาค ซึ่งเป็นวิธีแบบรวมในการจัดการไปป์ไลน์ข้อมูลทั้งหมด
- แหล่งข้อมูลอัตโนมัติ ตอนนี้คุณสามารถเปิดหรือปิดใช้ฟีเจอร์แหล่งข้อมูลอัตโนมัติสำหรับบัญชีได้แล้วโดยใช้เมธอด - autofeedSettings.updateAutofeedSettingsใน 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สำหรับแหล่งข้อมูลที่อิงตามไฟล์แต่ละรายการ | 
รหัสระบุ
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) ซึ่งให้การกำหนดค่าที่ชัดเจนยิ่งขึ้น |