استخدام الخلاصات التكميلية مع 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 معرّف REST للمنتج، ويتم تمثيله على النحو التالي: 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"
    }
  ]
}