ממשק Merchant API מציג דרך חזקה ואינטואיטיבית יותר לניהול נתוני המוצרים. השינוי העיקרי הוא הפרדת נתוני המוצרים לשני מקורות נתונים נפרדים: ProductInput לשליחת הנתונים ו-Product לצפייה בגרסה הסופית המעובדת, כולל סטטוס המוצר והבעיות. המבנה החדש הזה מספק חוויה צפויה ושקופה יותר.
המדריך הזה מסביר את ההבדלים העיקריים בין הממשקים כדי לעזור לכם להעביר את השילוב מ-Content API for Shopping. במאמר ניהול המוצרים מופיע מדריך מפורט לשימוש בתכונות החדשות.
ההבדלים העיקריים
אלה השינויים המשמעותיים ביותר בניהול מוצרים ב-Merchant API בהשוואה ל-Content API for Shopping:
- מקורות מידע ייעודיים לנתוני קלט ולנתונים מעובדים: Merchant API מפצל את ניהול המוצרים לשני מקורות מידע. אפשר להשתמש במשאב - ProductInputכדי להוסיף, לעדכן ולמחוק את נתוני המוצרים. אפשר להשתמש במשאב- Productשהוא לקריאה בלבד כדי לראות את המוצר הסופי אחרי ש-Google מעבדת את הקלט, מחילה כללים ומשלבת נתונים ממקורות משלימים.
- סטטוס המוצר המשולב: שירות - productstatusesיוסר. בעיות באימות מוצרים וסטטוסים של יעדים נכללים עכשיו ישירות במשאב- Productבשדה- productStatus, מה שמפשט את אחזור הנתונים.
- עדכוני מוצרים צפויים: השיטה החדשה - productInputs.patchמשנה קלט ספציפי של מוצר באופן ישיר. זה שיפור משמעותי לעומת Content API for Shopping, שבו עדכונים עלולים להידרס באופן לא צפוי על ידי העלאות אחרות של פידים. ב-Merchant API, עדכון נשאר בתוקף עד שקלט המוצר הספציפי הזה יעודכן או יימחק שוב. עדכוני מוצרים חלים על משאב- ProductInputבמקום על משאב- Productשעבר עיבוד.
- בחירת מקור נתונים לניהול נתונים יעיל יותר: כל פעולות הכתיבה דורשות עכשיו פרמטר שאילתה - dataSource, שמציין במפורש את מקור הנתונים שמשנים.- productInputsהאפשרות הזו שימושית במיוחד אם יש לכם כמה מקורות שמספקים נתונים.
- מזהי משאבים חדשים: מוצרים מזוהים עכשיו על ידי משאב RESTful - nameבמקום השדה- id. הפורמט הוא- accounts/{account}/products/{product}.
- אין יותר חבילות בהתאמה אישית: השיטה - custombatchלא זמינה יותר. אפשר להשתמש בבקשות אסינכרוניות או בקיבוץ באצווה של בקשות HTTP כדי לשלוח כמה בקשות בקריאת HTTP אחת.
- מקורות נתונים לכל תווית פיד ושפה: Merchant API מאפשר ליצור מקור נתונים בלי לציין תווית פיד ושפה, ולכן אפשר להוסיף מוצר עם כל תווית פיד ושפה. 
בקשות
בקטע הזה מוצגות השוואות בין פורמטים של בקשות ב-Content API for Shopping וב-Merchant API.
| תיאור הבקשה | Content API for Shopping | Merchant API | 
|---|---|---|
| קבלת מוצר | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} | GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product} | 
| פרסום מוצרים | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products | GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products | 
| הוסף מוצר | POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products | POST https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs:insert | 
| עדכון מוצר | PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} | PATCH https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput} | 
| מחיקת מוצר | DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} | DELETE https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput} | 
| קבלת סטטוס מוצר | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses/{productId} | GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product} | 
| סטטוסים של מוצרים ברשימה | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses | GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products | 
| איך שולחים כמה בקשות באצווה | POST https://shoppingcontent.googleapis.com/content/v2.1/products/custombatch | בקשות אסינכרוניות, אצווה של בקשות HTTP | 
מזהים
הפורמט של מזהי המוצרים ב-Merchant API השתנה לשם משאב REST רגיל.
| תיאור המזהה | Content API for Shopping | Merchant API | 
|---|---|---|
| מזהה מוצר | מחרוזת שמורכבת מפלחים שמופרדים באמצעות נקודתיים ( :).פורמט: channel:contentLanguage:targetCountry:offerIdאוchannel:contentLanguage:feedLabel:offerId.דוגמה: online:en:US:sku123 | מחרוזת של משאב REST name.פורמט: accounts/{account}/products/{product}כאשר{product}הואcontentLanguage~feedLabel~offerId.דוגמה: accounts/12345/products/en~US~sku123 | 
Methods
בטבלה הזו מוצגות השיטות של Content API for Shopping והשיטות המקבילות שלהן ב-Merchant API.
| שיטה של Content API for Shopping | שיטת Merchant API | זמינות והערות | 
|---|---|---|
| products.get | products.get | אחזור של המוצר הסופי שעבר עיבוד. | 
| products.list | products.list | רשימה של מוצרים סופיים שעברו עיבוד. | 
| products.insert | productInputs.insert | הוספת קלט של מוצר. נדרש מינוי dataSource. | 
| products.update | productInputs.update | ההתנהגות שונה באופן משמעותי. היא מעדכנת קלט ספציפי של מוצר והיא קבועה. | 
| products.delete | productInputs.delete | מחיקה של קלט מוצר ספציפי. נדרש מינוי dataSource. | 
| products.custombatch | לא זמין | משתמשים בבקשות אסינכרוניות או באצוות HTTP. | 
| productstatuses.get | products.get | השירות productstatusesיוסר. מידע על סטטוסים הוא עכשיו חלק מהמקורProduct. | 
| productstatuses.list | products.list | השירות productstatusesיוסר. מידע על סטטוסים הוא עכשיו חלק מהמקורProduct. | 
| productstatuses.custombatch | לא זמין | שימוש ב-[asynchronous | 
בקשות](/merchant/api/samples/insert-product-input-async) או HTTP באצווה. |
שינויים מפורטים בשדות
בטבלה הזו מודגשים שדות חשובים ששונו, נוספו או הוסרו ב-Merchant API.
| Content API for Shopping | Merchant API | תיאור | 
|---|---|---|
| id | name | המזהה הראשי של מוצר הוא עכשיו משאב ה-REST name. | 
| מאפיינים של מפרט נתוני מוצרים ברמה העליונה (לדוגמה, title,price,link) | productAttributesאובייקט | מאפייני מוצר כמו title,priceו-linkכבר לא מופיעים כשדות ברמה העליונה. הם מקובצים עכשיו באובייקטproductAttributesבמשאביםProductו-ProductInput. כך מתקבל מבנה משאבים נקי ומאורגן יותר. | 
| targetCountry | feedLabel | שם המשאב כולל עכשיו feedLabelבמקוםtargetCountry, בהתאם לפונקציונליות של Merchant Center. | 
| feedId | dataSource(פרמטר של שאילתה) | השם dataSourceהוא עכשיו פרמטר שאילתה נדרש לכל שיטות הכתיבה שלproductInputs(insert, update, delete). | 
| channel | לא זמין. משתמשים בערך legacy_localרק למוצרים שנקנים בחנויות מקומיות. | השדה channelלא מופיע יותר ב-Merchant API. במקום זאת, במוצרים עם הערוץLOCALב-Content API for Shopping, צריך להגדיר את השדהlegacy_localכ-true. | 
| לא זמין | versionNumber | שדה אופציונלי חדש ב- ProductInputשאפשר להשתמש בו כדי למנוע הוספות לא מסודרות למקורות נתונים ראשיים. | 
| stringשדות מסוגים עם קבוצה מוגדרת של ערכים | enumשדות מסוגים עם קבוצה מוגדרת של ערכים | השדות במאפייני מוצר עם קבוצת ערכים מוגדרת (לדוגמה, excluded_destinations,availability) הם עכשיו מסוגenum. |