המשאב products
מאפשר גמישות רבה ושליטה ביותר מ-60 מאפייני מוצרים.יש כמה שדות חובה שצריך לכלול כדי לקבל אישור להצגה ב-Google שופינג.
אפשר למלא כמה שדות אופציונליים בהתאם לתנאים שונים, כמו מיקום, סוג המוצר, וריאציות של המוצר וחבילות מוצרים. פרטים נוספים על יותר מ-60 פרמטרים אופציונליים שאפשר להגדיר למוצרים זמינים במפרט נתוני המוצרים.
המשאב products
מאפשר 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 | חולצת Google השחורה | ירוק טי של Google | Google Caps Cap |
תיאור | חולצת Google השחורה | טישרט של Google מ-100% כותנה | כובע קלאסי של Google |
מזהה קבוצת פריטים | google_tee | google_tee | |
קישור | http://my.site.com/blacktee | http://my.site.com/greentee | http://my.site.com/blackhat |
מצב | חדש | חדש | חדש |
price | 99.90 ILS | 99.90 ILS | 49.90 ILS |
זמינות | במלאי | במלאי | במלאי |
imageLink | https://shop.example.com/ |
https://shop.example.com/ |
https://shop.example.com/ |
gtin [מספר_פריט_מסחרי_גלובלי] | 9504000059422 | 9504000059446 | 9504000059452 |
mpn [קוד_MPN] | 00638NIC | 00638ANG | 00638ABC |
brand | |||
קטגוריית מוצרים ב-Google | לבוש ואביזרים > ביגוד | לבוש ואביזרים > ביגוד | לבוש ואביזרים > אביזרי הלבשה > כובעים |
color [צבע] | שחור | green | שחור |
size | L | M | M |
age_group | למבוגרים | למבוגרים | למבוגרים |
gender | זכר | זכר | יוניסקס |
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
ואת 'product resource' בגוף התשובה. לפניכם דוגמה לנתוני מוצרים שאוחזרו ממוצר עם המזהה 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
של 'חולצת Google שחורה' הקיימים יתעדכנו בנתוני המוצר שצוינו בגוף הבקשה, כך שכל שאר השדות ללא שינוי.
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
של 'חולצת Google שחורה' קיימת, בהתאם לנתוני המוצר המתאימים שמופיעים בגוף הבקשה, כך שכל שאר השדות, כולל 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
של 'חולצת Google שחורה' קיימת באמצעות 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 למוצרים שבמפתח 'משאבים'.
מוחזרים שלושת המוצרים הבאים:
{
"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"
]
}
]
}