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

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

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

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

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

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

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