העברת מקורות נתונים

במדריך הזה מוסבר איך להעביר את השילוב שלכם משירותי 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 מאפשר לכם להפעיל או להשבית את התכונה מקורות נתונים אוטומטיים בחשבון שלכם באמצעות השיטה 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) מוחלפים בספירה (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), וכך מספק הגדרה מפורשת יותר.