במדריך הזה מוסבר איך להעביר את השילוב שלכם משירותי datafeeds ו-datafeedstatuses של Content API for Shopping אל Data Sources sub-API ב-Merchant API. ממשק ה-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תומך ביותר תחומים, כולל מבצעים, מלאי בחנויות מקומיות ומלאי אזורי, ומספק דרך מאוחדת לניהול כל צינורות הנתונים.מקורות נתונים אוטומטיים. Merchant API מאפשר לכם להפעיל או להשבית את התכונה מקורות נתונים אוטומטיים בחשבון שלכם באמצעות ה-method
autofeedSettings.updateAutofeedSettingsב-sub-API של Accounts. מידע נוסף זמין במאמר בנושא הגדרת פידים אוטומטיים.
בחירת אסטרטגיה לשימוש במקורות נתונים
יש שלוש אפשרויות לניהול מקורות הנתונים:
יוצרים מקור נתונים יחיד של Merchant API לכל תווית פיד ושפה. האפשרות הזו מאפשרת לכם לפשט את הניהול באמצעות מקור נתונים יחיד שמקבל מוצרים עם כל
feedLabelוcontentLanguage. בהגדרה הישנה של Content API, מגדירים כללים לתוויות ולשפות ספציפיות באמצעות מקורות נתונים נפרדים, ומכניסים מוצרים למקור הנתונים עם הכללים התואמים לטירגוט. אם תבחרו באפשרות הזו, מומלץ להעביר את כל המוצרים למקור הנתונים החדש ולהסיר את מקורות הנתונים של Content API אחרי שכל המוצרים יועברו.יוצרים מקורות נתונים חדשים ל-Merchant API לכל תווית ושפה. כדאי להשתמש באפשרות הזו אם אתם צריכים לתמוך בשילובים חדשים של
feedLabelוcontentLanguage(ומעדיפים להפריד ביניהם באופן מוחלט), או אם אתם משתמשים בהגדרת כללים של מקור נתונים שמסתמכת עלfeedLabelוcontentLanguageספציפיים. תצטרכו ליצור מקור נתונים נפרד לכל צמד שלfeedLabelושלcontentLanguageשבו אתם משתמשים. אתם יכולים לשלב מקורות נתונים של Merchant API עם מקורות נתונים שנוצרו באמצעות Content API for Shopping.
- שומרים על מקורות נתונים קיימים של Content API. אתם יכולים להמשיך להשתמש במקורות נתונים שנוצרו באמצעות Content API for Shopping, כי הם תואמים ל-Merchant API. אפשר למצוא את שמות המשאבים שלהם באמצעות
dataSources.listאו בממשק המשתמש של Merchant Center. מקורות נתונים ראשיים של Content API תומכים רק במאפיינים הספציפייםfeedLabelו-contentLanguageשבהם הם נוצרו. מקורות נתונים של Content API מוצגים ב-Merchant Center עם המקור Content API, גם אם המוצרים נוספו באמצעות Merchant API. אפשר לשלב אותם עם מקורות נתונים חדשים של Merchant API שמטרגטים גם זוגות ספציפיים שלfeedLabelוcontentLanguage.
כדי להימנע מקריאות חוזרות ל-dataSources.list, מומלץ למלא את מסד הנתונים של המוצרים בחנויות מקומיות בנתונים חסרים על ידי אחסון השמות של כל מקורות הנתונים הראשיים פעם אחת לכל מוצר.
בקשות
בטבלה הבאה מוצגות השוואה בין הפורמטים של כתובות ה-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}) |
Methods
בטבלה הזו מוצגות השוואה בין השיטות משירותי 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 |
קוד השפה בן שתי האותיות של הפריטים במקור הנתונים, לפי תקן 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 |
שתי הרשימות הנפרדות של יעדים כלולים ויעדים מוחרגים מוחלפות ברשימה אחת destinations. כל פריט ברשימה החדשה הוא אובייקט שמציין את היעד ואת המצב שלו (ENABLED או DISABLED), וכך מספק הגדרה מפורשת יותר. |