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

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

לדוגמה, אפשר לבצע קריאה ל-method של פיד משלים 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 בגוף הבקשה. כל שאר השדות הם אופציונליים.

דוגמה

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

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

products.delete

השיטה products.delete מסירה את כל הנתונים המשניים שנוספו בעבר באמצעות קריאות products.insert באמצעות הפיד המשני שצוין. קריאה ל-method הזה עבור פיד משלים לא משפיעה על נתוני המוצר המקוריים שנוספו לפני קריאות ה-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

השיטות 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 בשני מוצרים קיימים, אפשר להשתמש בבקשה הבאה כדי לבצע קריאה לשיטה 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

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

{
  "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"
    }
  ]
}