هنگام برقراری تماس با روشهای products.insert ، products.delete ، products.custombatch.insert ، و products.custombatch.delete ، میتوانید از فیدهای تکمیلی برای بهروزرسانی جزئی دادههای محصول با افزودن feedId به عنوان پارامتر جستجو استفاده کنید.
برای مثال، میتوانید یک فراخوانی با روش فید تکمیلی products.insert به URL زیر برقرار کنید:
POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId
محصولات.درج
روش افزودنی feed products.insert فیلدهای محصولی را که ارسال میکنید در متن درخواست اضافه میکند و در صورت وجود، آن فیلدها را بازنویسی میکند. هنگام استفاده از خوراک تکمیلی، این روش همه فیلدهای محصول دیگر را بدون تغییر می گذارد، مگر اینکه فیلدها در درخواست قبلی برای همان خوراک گنجانده شده باشند. در حالی که داده های اضافه شده از طریق سایر فیدها تحت تأثیر قرار نمی گیرند، هر درخواست درخواست های قبلی را برای همان فید بازنویسی می کند. این بدان معنی است که اگر یک فیلد را از طریق یک درخواست فید تکمیلی اضافه یا به روز کنید، و سپس آن فیلد را در درخواست بعدی وارد نکنید، داده های فیلد حذف شده از فید حذف می شود. این رفتار با فراخوانی products.insert بدون فید مکمل متفاوت است، که تمام دادههای محصول موجود را حذف میکند و آن را با فیلدهایی که در متن درخواست ارسال میکنید جایگزین میکند.
از نشانی اینترنتی زیر برای ارسال درخواست به سرویس خوراک تکمیلی 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.insert اضافه شده بود حذف میکند. تماسها را با استفاده از فید تکمیلی مشخص شده درج کنید. فراخوانی این روش برای خوراک تکمیلی بر دادههای محصول اصلی اضافهشده قبل از برقراری تماس(های) Product.insert فید مکمل تأثیری نمیگذارد. شما می توانید به این فکر کنید مانند حذف یک لایه داده برای یک فید خاص. دادههای اضافهشده از طریق سایر خوراکها بیتأثیر است و محصول بهطور مؤثری به حالت قبلی خود قبل از اضافه شدن لایه خوراک مکمل باز میگردد. این با فراخوانی products.delete بدون فید تکمیلی، که کل محصول و همه دادههای آن را حذف میکند، متفاوت است.
از نشانی اینترنتی زیر برای درخواست خدمات feed مکمل products.delete استفاده کنید، که در آن productId شناسه REST محصول است که به صورت: channel:contentLanguage:feedLabel:offerId نشان داده شده است:
DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId?feedId=feedId
هیچ درخواستی برای products.delete فیدهای تکمیلی لازم نیست. فراخوانی روش حذف.
محصولات.دستگاه سفارشی
روشهای custombatch به شما این امکان را میدهند که با استفاده از یک تماس API، دادههای فید تکمیلی را برای چندین محصول insert یا delete تا تعداد تماسهای API را به حداقل برسانید.
از URL درخواست زیر برای برقراری تماس دستهای custombatch استفاده کنید:
https://shoppingcontent.googleapis.com/content/v2.1/products/batch
برای همه فراخوانهای custombatch فید تکمیلی، باید پارامترهای batchId ، merchantID ، method و feedId را در بدنه درخواست قرار دهید.
products.custombatch:درج
هنگام برقراری تماس فید تکمیلی با products.custombatch:insert ، باید علاوه بر پارامترهای batchId ، merchantID و method مورد نیاز، offerId ، feedLabel ، channel ، و contentLanguage در بدنه درخواست اضافه کنید. تمام فیلدهای محصول دیگر اختیاری هستند.
مثال
برای بهروزرسانی ارزش 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:حذف
برای حذف همه بهروزرسانیهای انجامشده برای دو محصول از طریق یک فید مکمل مشخص، میتوانید از درخواست زیر برای برقراری فراخوانی روش 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"
}
]
}