استخدام الخلاصات التكميلية مع 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 بدون خلاصة تكميلية، ما يؤدي إلى حذف جميع بيانات المنتج الحالية واستبدالها بالحقول التي ترسلها في نص الطلب.

استخدِم عنوان URL التالي لتقديم طلب إلى خدمة 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.delete جميع البيانات التكميلية التي تمت إضافتها في السابق من خلال طلبات products.insert باستخدام الخلاصة التكميلية المحدّدة. إنّ طلب هذه الطريقة للحصول على خلاصة تكميليّة لا يؤثّر في بيانات المنتج الأصلية التي تمّت إضافتها قبل إجراء Product.insert مكالمات للخلاصة التكميلية. يمكنك تجربة هذا الإجراء مثل إزالة طبقة من البيانات لخلاصة معيّنة، إذ إنّ البيانات التي تتمّ إضافتها من خلال خلاصات أخرى لا تتأثر، وفي المقابل يعود المنتج إلى حالته السابقة قبل إضافة طبقة الخلاصة التكميلية. ويختلف هذا الإجراء عن طلب products.delete بدون خلاصة تكميلية، ما يؤدي إلى حذف المنتج بالكامل وجميع بياناته.

استخدِم عنوان URL التالي لتقديم طلب بخدمة products.delete للخلاصة التكميلية، حيث يشير productId إلى معرّف RST للمنتج، ويظهر على النحو التالي: channel:contentLanguage:feedLabel:offerId:

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

لا حاجة إلى نص الطلب للخلاصات التكميلية التي يستدعيها products.delete.

products.custombatch

تتيح لك طرق custombatch insert أو delete بيانات الخلاصة التكميلية لمنتجات متعدّدة باستخدام طلب بيانات واحد من واجهة برمجة التطبيقات لتقليل عدد طلبات البيانات من واجهة برمجة التطبيقات.

استخدم عنوان URL التالي للطلب لإجراء اتصال custombatch:

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"
    }
  ]
}