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

דוגמה

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

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

products.delete

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

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

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