שימוש בפידים משלימים עם ה-Content API

אם רוצים לבצע עדכונים חלקיים בנתוני המוצרים, אפשר להשתמש בפידים משלימים. כדי לעשות את זה, מוסיפים את feedId בתור פרמטר של שאילתה כשמבצעים קריאות products.insert, products.delete, products.custombatch.insert, וגם products.custombatch.delete שיטות.

לדוגמה, אפשר להפעיל שיטת פיד משלים products.insert אל כתובת ה-URL הבאה:

POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId

products.insert

שיטת הפיד המשלים products.insert מוסיפה את שדות המוצרים שנשלחים בגוף הבקשה, ויחליף את השדות האלה, אם הם קיימים. כשמשתמשים ב- פיד משלים, השיטה הזו משאירה את כל שאר שדות המוצרים ללא שינוי, אלא אם השדות נכללו בבקשה קודמת לאותו פיד. בזמן שהנתונים שנוספו דרך פידים אחרים לא מושפעות, כל בקשה מחליפה את הבקשה הקודמת בקשות לאותו פיד. המשמעות היא שאם מוסיפים או מעדכנים שדה באמצעות בקשת פיד משלים, ואז אין לכלול את השדה בשדות הבאים בקשה, הנתונים עבור השדה שהושמט יוסרו מהפיד. ההתנהגות הזו שונה מקריאה אל products.insert ללא פיד משלים, מחיקת כל נתוני המוצרים הקיימים והחלפתם בשדות שאתם שולחים גוף הבקשה.

כדי לשלוח בקשה לפיד המשלים, צריך להשתמש בכתובת ה-URL הבאה. שירות Product.insert:

POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId

עליך לכלול את offerId, feedLabel, channel ו שדות contentLanguage בגוף הבקשה. כל שאר השדות הם אופציונליים.

דוגמה

כדי לשנות את סטטוס הזמינות של מוצר מ'במלאי' ל'חסר במלאי', צריך אפשר להשתמש בגוף הבקשה הבא כדי ליצור פידים משלימים הפעלת method אחת (Product.insert):

{
 "offerId": "1111111111",
 "contentLanguage": "en",
 "feedLabel": "US",
 "channel": "online",
 "availability": "out of stock",
}

products.delete

ה-method products.delete מסירה את כל הנתונים המשלימים נוספו בעבר על ידי products.insert קריאות באמצעות רכיב המשלים שצוין שבפיד. הפעלת השיטה הזו עבור פיד משלים לא משפיעה על המקור נתוני המוצרים שנוספו לפני הפיד המשלים Product.insert שיחות נוצרה. אפשר לחשוב על התהליך הזה כעל הסרה של שכבת נתונים מפיד ספציפי. נתונים שנוספו דרך פידים אחרים לא מושפעים, והמוצר ביעילות חוזר למצב הקודם לפני ששכבת הפיד המשלים נוספה. הזה שונה מקריאה אל products.delete ללא פיד משלים, מוחקת את המוצר כולו ואת כל הנתונים שלו.

אפשר להשתמש בכתובת ה-URL הבאה כדי לשלוח בקשה אל הפיד המשלים products.delete השירות, שבו productId הוא מזהה REST של המוצר, מיוצג בתור: channel:contentLanguage:feedLabel:offerId:

DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId?feedId=feedId

לא נדרש גוף בקשה עבור קריאות ל-method products.delete של פידים משלימים.

products.custombatch

ה-methods custombatch מאפשרות פיד משלים insert או delete נתונים של מספר מוצרים באמצעות קריאה אחת ל-API כדי לצמצם את מספר ה-API שיחות שבוצעו.

כדי לבצע קריאה ל-custombatch, צריך להשתמש בכתובת ה-URL הבאה של הבקשה:

https://shoppingcontent.googleapis.com/content/v2.1/products/batch

בכל הקריאות ל-custombatch בפיד משלים, צריך לכלול את batchId, הפרמטרים merchantID, method ו-feedId בבקשה גוף ההודעה.

products.custombatch:insert

כשמבצעים הפעלות של פידים משלימים לשיטה products.custombatch:insert, עליך לכלול את offerId, feedLabel, channel ו contentLanguage בגוף הבקשה, בנוסף ל-batchId הנדרשים, merchantID, ו-method. כל שאר שדות המוצרים הם אופציונליים.

דוגמה

כדי לעדכן את הערך price של שני מוצרים קיימים, אפשר להשתמש ב- הבקשה הבאה לבצע הפעלת method של products.custombatch:insert:

{
  "entries": [
    {
      "batchId": 1111,
      "merchantId": 1234567,
      "method": "insert",
      "feedId": "7654321",
      "product": {
         "offerId": "1111111111",
         "contentLanguage": "en",
         "targetCountry": "US",
         "feedLabel": "US",
         "channel": "online",
         "price": {
          "value": "30.99",
          "currency": "USD"
         }
      }
    },
    {
      "batchId": 1112,
      "merchantId": 1234567,
      "method": "insert",
      "feedId": "7654321",
      "product": {
         "offerId": "2222222222",
         "contentLanguage": "en",
         "targetCountry": "US",
         "feedLabel": "US",
         "channel": "online",
         "price": {
          "value": "33.99",
          "currency": "USD"
         },
      },
    }
}

products.custombatch:delete

כדי להסיר את כל העדכונים שבוצעו בשני מוצרים באמצעות פיד משלים שצוין: אפשר להשתמש בבקשה הבאה כדי לבצע products.custombatch:delete הפעלת method:

{
  "entries": [
    {
      "batchId": 1115,
      "merchantId": 1234567,
      "method": "delete",
      "feedId": "7654321",
      "productId": "online:en:US:1111111111"
    },
    {
      "batchId": 1116,
      "merchantId": 1234567,
      "method": "delete",
      "feedId": "7654321",
      "productId": "online:en:US:2222222222"
    }
  ]
}