קריאות משאבים למוצרים

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

בעזרת products resource אפשר insert, get, update ו-delete מוצר אחד בכל פעם, וגם list את כל המוצרים במסד הנתונים של Merchant Center.

אפשר להשתמש במשאב productstatuses כדי לבדוק את סטטוס האישור או הפסילה של מוצר ספציפי ביעד מסוים. במדריך לסטטוס המוצר מפורט מידע נוסף על המוצרים שבהם יכולות להיות בעיות באיכות הנתונים ועל סוגי הבעיות האלה.

בדוגמאות ל-API אנחנו משתמשים בשלושה מוצרים: שתי חולצות טישרט של Google וכובע של Google. אנחנו משתמשים בסט מינימלי של נתוני מוצרים שמוצגים בטבלה שלמטה כדי לבצע קריאות למשאב products כדי להוסיף, לקבל, לעדכן, להציג ולמחוק מוצרים בודדים וקבוצות של מוצרים.

מומלץ להגדיר את פרטי המשלוח והמס ברמת החשבון ולא ברמת המוצר.

בחשבונות משנה שמוגדרים בהם כמה אתרי מכירה בזירות מסחר, כל המוצרים צריכים לכלול את השדה external_seller_id. פרטים נוספים זמינים במאמר בנושא מזהי מוצרים.

id [מזהה] online:en:US:1111111111 online:en:US:2222222222 online:en:US:3333333333
offerId 1111111111 2222222222 3333333333
title טישירט Black Google Google Tee Green כובע טוויל של Google
תיאור טישירט Black Google טישרט Google מ-100% כותנה מכסה קלאסית של Google
מזהה קבוצת פריטים google_tee google_tee
קישור http://my.site.com/blacktee http://my.site.com/greentee http://my.site.com/blackhat
תנאי חדש חדש חדש
price ‎87.90 ILS ‎87.90 ILS ‎49.90 ILS
availability במלאי במלאי במלאי
imageLink https://shop.example.com/store/20160512512/assets/items/images/GGOEGXXX1100.jpg https://shop.example.com/store/20160512512/assets/items/images/GGOEGXXX0906.jpg https://shop.example.com/store/20160512512/assets/items/images/GGOEGHPB071610.jpg
gtin [מספר_פריט_מסחרי_גלובלי] 9504000059422 9504000059446 9504000059452
mpn [קוד_MPN] 00638NIC 00638ANG 00638ABC
מותג Google Google Google
קטגוריית מוצרים ב-Google Apparel & Accessories > Clothing Apparel & Accessories > Clothing Apparel & Accessories > Clothing Accessories > Hats
צבע שחור ירוק שחור
size L M M
age_group מבוגר מבוגר מבוגר
gender זכר זכר unisex
included_destination Shopping Actions, מודעות שופינג Shopping Actions, מודעות שופינג Shopping Actions

products.insert

כדי להוסיף מוצר יחיד, משתמשים בכתובת ה-URL של הבקשה הבאה, ומציינים את מזהה המוכר וגוף לדוגמה בפורמט JSON. הוספה יוצרת את המוצר החדש. אם יש ערכים למאפיינים channel, contentLanguage, offerId ו-feedLabel עבור מוצר מסוים, השיטה הזו מעדכנת את הרשומה ומחליפה את כל הנתונים מקריאות קודמות ל-API עבור המוצר הזה.

מוצרים שלא ייכללו באף יעד במשך יותר מ-7 ימים יימחקו באופן אוטומטי.

בדוגמה שמוצגת כאן, מוסיפים את המוצר החדש 'חולצת טי שחורה של Google' למוצרים הזמינים.

POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products

דוגמה לגוף בקשה לשיחה עבור products.insert:

{
 "kind": "content#product",
 "offerId": "1111111111",
 "title": "Google Tee Black",
 "description": "The Black Google Tee is available in unisex sizing.",
 "link": "http://my.site.com/blacktee/",
 "imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
 "contentLanguage": "en",
 "targetCountry": "US",
 "feedLabel": "US",
 "channel": "online",
 "ageGroup": "adult",
 "availability": "in stock",
 "availabilityDate": "2019-01-25T13:00:00-08:00",
 "brand": "Google",
 "color": "black",
 "condition": "new",
 "gender": "male",
 "googleProductCategory": "1604",
 "gtin": "608802531656",
 "itemGroupId": "google_tee",
 "mpn": "608802531656",
 "price": {
  "value": "21.99",
  "currency": "USD"
 },
 "sizes": [
  "Large"
 ]
}

מוצר יכול לכלול גם מאפיינים מותאמים אישית שמוגדרים בגוף ה-JSON. לדוגמה, אפשר להגדיר purchase_quantity_limit למוצר בודד כדי להגביל את מספר הפריטים שהלקוח יכול להזמין:

"customAttributes": [
 {
   "name": "purchase_quantity_limit",
   "value": "4"
 }
]

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

שיחה מוצלחת מחזירה קוד HTTP 200 וגוף תגובה שמכיל את משאב המוצר שהוכנס עם הערכים id,‏ offerId,‏ contentLanguage,‏ feedLabel ו-channel בלבד:

{
 "kind": "content#product",
 "id": "online:en:US:1111111111",
 "offerId": "1111111111",
 "contentLanguage": "en",
 "targetCountry": "US",
 "feedLabel": "US",
 "channel": "online"
}

products.get

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

משתמשים בכתובת ה-URL ובפרמטרים של בקשת ה-HTTP הבאה, במזהה הסוחר ובמזהה המוצר (בפורמט REST) של המוצר שרוצים לקבל:

GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}

קריאה מוצלחת מחזירה את הערך HTTP 200 ואת 'משאב המוצר' בגוף התגובה. זוהי דוגמה לנתוני מוצר שאוחזרו ממוצר עם המזהה online:en:US:1111111111:

{
 "kind": "content#product",
 "id": "online:en:US:1111111111",
 "offerId": "1111111111",
 "source": "api",
 "title": "Google Tee Black",
 "description": "The Black Google Tee is available in unisex sizing.",
 "link": "http://my.site.com/blacktee/",
 "imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
 "contentLanguage": "en",
 "targetCountry": "US",
 "feedLabel": "US",
 "channel": "online",
 "ageGroup": "adult",
 "availability": "in stock",
 "availabilityDate": "2019-01-25T13:00:00-08:00",
 "brand": "Google",
 "color": "black",
 "condition": "new",
 "gender": "male",
 "googleProductCategory": "1604",
 "gtin": "608802531656",
 "itemGroupId": "google_tee",
 "mpn": "608802531656",
 "price": {
  "value": "21.99",
  "currency": "USD"
 },
 "sizes": [
  "Large"
 ]
}

products.update

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

.

כדי להוסיף או לשנות מאפיין, מציינים את השדה עם הערך החדש בגוף ה-JSON. בדוגמה שמוצגת כאן, המערכת תעדכן את הערכים של title ושל description של המוצר הקיים Black Google Tee עם נתוני המוצר שסופקו בגוף הבקשה, ותשאיר את כל השדות האחרים ללא שינוי.

PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}

דוגמה לגוף בקשה לשיחה עבור products.update:

{
 "title": "Google Tee Black Limited Edition",
 "description": "The Limited Edition Tee is available in unisex sizing and features a retail fit."
}

אפשר לעדכן רק שדות ברמה העליונה באמצעות בקשת products.update. אם רוצים לעדכן שדות מוטמעים, צריך לספק את האובייקט כולו ברמה העליונה.

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

PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
{
 "salePrice": {
  "value": "17.99",
  "currency": "USD"
 }
}

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

בדוגמה שמוצגת כאן מתעדכנים רק הערכים של description ו-availability של מוצר קיים מסוג Black Google Tee עם נתוני המוצר המתאימים שסופקו בגוף הבקשה, וכל שאר השדות, כולל title, נשארים ללא שינוי.

PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}?updateMask=description,availability

דוגמה לגוף בקשה לשיחה עבור products.update:

{
 "title": "Google Tee Black",
 "description": "This Limited Edition is out of print.",
 "availability": "out of stock"
}

אם שדה מופיע ברשימה updateMask אבל לא בגוף הבקשה, השדה הזה יימחק מהמשאב Product, אם הוא קיים.

בדוגמה שמוצגת כאן נעשה שימוש ב-updateMask כדי להסיר את הערך של השדה salePrice.

PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}?updateMask=salePrice

גוף הבקשה לדוגמה לא צריך לכלול את השדה salePrice כדי למחוק אותו. אפשר גם לא לספק גוף או לספק גוף ריק. שדות אחרים לא ישתנו, בתנאי שהם לא מופיעים ב-updateMask.

כדי להשתמש ב-updateMask בבקשת products.custombatch, צריך לציין את updateMask בגוף הבקשה.

בדוגמה שמוצגת כאן, המערכת תעדכן את מאפייני price ו-availability של מוצר קיים מסוג Black Google Tee באמצעות products.custombatch עם נתוני המוצר שסופקו ברשומה של העדכון, ותשאיר את כל השדות האחרים ללא שינוי, כולל title ו-description.

POST https://shoppingcontent.googleapis.com/content/v2.1/products/batch
{
  "entries": [{
    "batchId": 1,
    "merchantId": "MERCHANT_ID",
    "productId": "online:en:US:1111111111",
    "method": "update",
    "product": {
      "title": "Google Tee Black",
      "description": "The Black Google Tee is available in unisex sizing.",
      "availability": "in stock",
      "price": {
        "value": "19.99",
        "currency": "USD"
      }
    },
    "updateMask": "availability,price"
  }]
}

products.delete

כדי למחוק מוצר יחיד, משתמשים בשיטה products.delete עם כתובת ה-URL של בקשת ה-HTTP לדוגמה, מזהה הסוחר ומזהה המוצר (בפורמט מזהה REST, כמו online:en:US:1111111111) של המוצר שרוצים למחוק:

DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}

תגובה מוצלחת מחזירה HTTP Status 204 ללא גוף תגובה.

products.list

products.list מציג את כל המוצרים שיש למוֹכר במסד הנתונים של Merchant Center. משתמשים בכתובת ה-URL הבאה של הבקשה:

GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products

קריאה מוצלחת מחזירה HTTP 200 ונתוני JSON של מוצרים במפתח resources.

מוחזרים שלושת המוצרים לדוגמה הבאים:

{
 "kind": "content#productsListResponse",
 "resources": [
  {
   "kind": "content#product",
   "id": "online:en:US:1111111111",
   "offerId": "1111111111",
   "source": "api",
   "title": "Google Tee Black",
   "description": "The Black Google Tee is available in unisex sizing.",
   "link": "http://my.site.com/blacktee/",
   "imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
   "contentLanguage": "en",
   "targetCountry": "US",
   "feedLabel": "US",
   "channel": "online",
   "ageGroup": "adult",
   "availability": "in stock",
   "availabilityDate": "2019-01-25T13:00:00-08:00",
   "brand": "Google",
   "color": "black",
   "condition": "new",
   "gender": "male",
   "googleProductCategory": "1604",
   "gtin": "608802531656",
   "itemGroupId": "google_tee",
   "mpn": "608802531656",
   "price": {
    "value": "21.99",
    "currency": "USD"
   },
   "sizes": [
    "Large"
   ]
  },
  {
   "kind": "content#product",
   "id": "online:en:US:2222222222",
   "offerId": "2222222222",
   "source": "api",
   "title": "Google Tee Green",
   "description": "100% cotton jersey fabric sets this Google t-shirt above the crowd.
    Features the google logo across the chest. Unisex sizing.",
   "link": "http://my.site.com/greentee/",
   "imageLink": "https://shop.example.com/.../images/GGOEGXXX0906.jpg",
   "contentLanguage": "en",
   "targetCountry": "US",
   "feedLabel": "US",
   "channel": "online",
   "ageGroup": "adult",
   "availability": "in stock",
   "availabilityDate": "2019-01-25T13:00:00-08:00",
   "brand": "Google",
   "color": "green",
   "condition": "new",
   "gender": "male",
   "googleProductCategory": "1604",
   "gtin": "608802531649",
   "itemGroupId": "google_tee",
   "mpn": "608802531649",
   "price": {
    "value": "21.99",
    "currency": "USD"
   },
   "sizes": [
    "Medium"
   ]
  },
  {
   "kind": "content#product",
   "id": "online:en:US:3333333333",
   "offerId": "3333333333",
   "source": "api",
   "title": "Google Twill Cap",
   "description": "Classic urban styling distinguishes this Google cap.
    Retains its shape, even when not being worn.",
   "link": "http://my.site.com/blackhat/",
   "imageLink": "https://shop.example.com/.../images/GGOEGHPB071610.jpg",
   "contentLanguage": "en",
   "targetCountry": "US",
   "feedLabel": "US",
   "channel": "online",
   "ageGroup": "adult",
   "availability": "in stock",
   "availabilityDate": "2019-01-07T13:00:00-08:00",
   "brand": "Google",
   "color": "black",
   "condition": "new",
   "gender": "male",
   "googleProductCategory": "173",
   "gtin": "689355417246",
   "mpn": "689355417246",
   "price": {
    "value": "10.99",
    "currency": "USD"
   },
   "sizes": [
    "Medium"
   ]
  }
 ]
}