คู่มือนี้จะอธิบายวิธีย้ายข้อมูลการผสานรวมจากบริการ datafeeds และ datafeedstatuses ของ Content API for Shopping ไปยัง API ย่อยของแหล่งข้อมูลใน Merchant API API ย่อยของแหล่งข้อมูลใหม่ช่วยให้คุณควบคุม Data Pipeline ได้โดยตรงมากขึ้นและลดความซับซ้อนในการจัดการแหล่งข้อมูล
ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ใหม่ได้ที่คู่มือจัดการแหล่งข้อมูล
ความแตกต่างที่สำคัญ
Merchant API มีข้อดีหลายประการเมื่อเทียบกับ Content API for Shopping ดังนี้
การสร้างแหล่งข้อมูลที่ชัดเจน API จะไม่สร้างแหล่งข้อมูล "Content API" โดยอัตโนมัติเมื่อคุณแทรกผลิตภัณฑ์เป็นครั้งแรกอีกต่อไป ใน Merchant API คุณต้องสร้างแหล่งข้อมูลอย่างชัดเจนก่อนจึงจะอัปโหลดผลิตภัณฑ์ไปยังแหล่งข้อมูลเหล่านั้นได้ ซึ่งจะช่วยให้คุณควบคุมการจัดระเบียบและการจัดการ Data Pipeline ข้อมูลสินค้าได้มากขึ้นตั้งแต่เริ่มต้น
การรองรับแหล่งข้อมูล 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รองรับประเภทธุรกิจอื่นๆ เพิ่มเติม เช่น โปรโมชัน, สินค้าคงคลังในร้าน และสินค้าคงคลังระดับภูมิภาค ซึ่งช่วยให้คุณจัดการ Data Pipeline ทั้งหมดได้ในที่เดียวแหล่งข้อมูลอัตโนมัติ ตอนนี้ Merchant API ช่วยให้คุณเปิดหรือปิดใช้ฟีเจอร์แหล่งข้อมูลอัตโนมัติสำหรับบัญชีได้โดยใช้เมธอด
autofeedSettings.updateAutofeedSettingsใน API ย่อยของบัญชี ดูข้อมูลเพิ่มเติมได้ที่หัวข้อกำหนดการตั้งค่าฟีดอัตโนมัติ
เลือกกลยุทธ์แหล่งข้อมูล
คุณมี 3 ตัวเลือกในการจัดการแหล่งข้อมูล ดังนี้
สร้างแหล่งข้อมูล Merchant API แหล่งเดียวสำหรับป้ายกำกับฟีดและภาษาใดก็ได้ ใช้ตัวเลือกนี้เพื่อลดความซับซ้อนในการจัดการโดยใช้แหล่งข้อมูลเดียวที่ยอมรับผลิตภัณฑ์ที่มี
feedLabelและcontentLanguageใดก็ได้ ในการตั้งค่า Content API แบบเก่า คุณจะกำหนดกฎสำหรับป้ายกำกับและภาษาที่เฉพาะเจาะจงผ่านแหล่งข้อมูลแยกต่างหาก และแทรกผลิตภัณฑ์ลงในแหล่งข้อมูลที่มีกฎที่กำหนดเป้าหมายที่เกี่ยวข้อง หากเลือกตัวเลือกนี้ เราขอแนะนำให้ย้ายข้อมูลผลิตภัณฑ์ทั้งหมดไปยังแหล่งข้อมูลใหม่และนำแหล่งข้อมูล Content API ออกเมื่อย้ายข้อมูลผลิตภัณฑ์ทั้งหมดแล้วสร้างแหล่งข้อมูล Merchant API ใหม่สำหรับแต่ละป้ายกำกับและภาษา ใช้ตัวเลือกนี้หากต้องการรองรับชุดค่าผสม
feedLabelและcontentLanguageใหม่ (และต้องการแยกทั้ง 2 อย่างออกจากกันอย่างชัดเจน) หรือหากคุณใช้การตั้งค่ากฎแหล่งข้อมูลซึ่งอาศัยfeedLabelและcontentLanguageที่เฉพาะเจาะจง คุณจะต้องสร้างแหล่งข้อมูลแยกต่างหากสำหรับfeedLabelและcontentLanguageแต่ละคู่ที่ใช้ คุณสามารถรวมแหล่งข้อมูล Merchant API กับแหล่งข้อมูลที่สร้างด้วย Content API for Shopping ได้
- เก็บแหล่งข้อมูล 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ที่เฉพาะเจาะจงได้ด้วย
เราขอแนะนำให้ทดแทนข้อมูลในฐานข้อมูลสินค้าในร้านโดยจัดเก็บชื่อของแหล่งข้อมูลหลักทั้งหมด 1 ครั้งสำหรับสินค้าแต่ละรายการเพื่อหลีกเลี่ยงการเรียกใช้ dataSources.list ซ้ำๆ
คำขอ
ตารางต่อไปนี้เปรียบเทียบรูปแบบ URL คำขอระหว่าง Content API สำหรับ 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}) |
เมธอด
ตารางนี้เปรียบเทียบเมธอดจากบริการ datafeeds และ datafeedstatuses ของ Content API for Shopping กับเมธอดที่เทียบเท่าใน 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 |
รหัสภาษา ISO 639-1 แบบ 2 ตัวอักษรของสินค้าในแหล่งข้อมูล |
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) ซึ่งช่วยให้กำหนดค่าได้ชัดเจนยิ่งขึ้น |