استخدام الخلاصات التكميلية مع Content API

يمكنك استخدام الخلاصات التكميلية لإجراء تعديلات جزئية على بيانات المنتجات عن طريق إضافة feedId كمَعلمة طلب بحث عند إجراء استدعاءات للطرق products.insert وproducts.delete وproducts.custombatch.insert وproducts.custombatch.delete.

على سبيل المثال، يمكنك طلب عنوان URL التالي باستخدام طريقة الخلاصة التكميلية products.insert:

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