คู่มือนี้อธิบายวิธีย้ายข้อมูลการผสานรวมจากบริการ 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 ตัวเลือกในการจัดการแหล่งข้อมูล ดังนี้
เก็บแหล่งข้อมูล 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ที่เฉพาะเจาะจงได้เช่นกันสร้างแหล่งข้อมูล Merchant API ใหม่สำหรับป้ายกำกับและภาษาแต่ละรายการ ใช้ตัวเลือกนี้หากคุณต้องการรองรับชุดค่าผสมใหม่ของ
feedLabelและcontentLanguage(และต้องการแยกชุดค่าผสมเหล่านี้ออกจากกันอย่างชัดเจน) หรือหากคุณใช้การตั้งค่ากฎแหล่งข้อมูลที่อิงตามfeedLabelและcontentLanguageที่เฉพาะเจาะจง คุณจะต้องสร้างแหล่งข้อมูลแยกต่างหากสำหรับfeedLabelและcontentLanguageแต่ละคู่ที่คุณใช้สร้างแหล่งข้อมูล 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) ซึ่งให้การกำหนดค่าที่ชัดเจนมากขึ้น |