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

במדריך הזה מוסבר איך להעביר את השילוב מהשירותים datafeeds ו-datafeedstatuses של Content API for Shopping אל ה-API המשני של מקורות הנתונים ב-Merchant API. ‫Data Sources API החדש מאפשר לכם לשלוט בצורה ישירה יותר ב-Data pipelines ומפשט את ניהול מקורות הנתונים.

מידע נוסף על התכונות החדשות זמין במדריך ניהול מקורות הנתונים.

ההבדלים העיקריים

בהשוואה ל-Content API for Shopping, ל-Merchant API יש כמה יתרונות:

  • יצירת מקור נתונים מפורש. ה-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 נפרד לקריאה בלבד. כדי לאחזר את הסטטוס של העלאת קובץ, משתמשים ב-method‏ fileUploads.get עם הכינוי latest.

  • סוגים חדשים של מקורות נתונים. המשאב DataSource תומך בעוד תחומים, כולל מבצעים, מלאי בחנויות מקומיות ומלאי אזורי, ומספק דרך אחידה לנהל את כל פייפליינים.

  • מקורות נתונים אוטומטיים. באמצעות Merchant API, אתם יכולים עכשיו להפעיל או להשבית את התכונה מקורות נתונים אוטומטיים בחשבון שלכם באמצעות ה-method‏ autofeedSettings.updateAutofeedSettings ב-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

בטבלה הזו מוצגת השוואה בין השיטות של השירותים datafeeds ו-datafeedstatuses ב-Content API for Shopping לבין השיטות המקבילות ב-Merchant API.

שיטת Content API for Shopping ה-Method ב-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), וכך ההגדרה ברורה יותר.