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