Content API ile ek feed'ler kullanma

products.insert, products.delete, products.custombatch.insert ve products.custombatch.delete yöntemlerine çağrı yaparken feedId'yi sorgu parametresi olarak ekleyerek ürün verilerinde kısmi güncellemeler yapmak üzere ek feed'leri kullanabilirsiniz.

Örneğin, aşağıdaki URL'ye bir products.insert ek feed yöntemi çağrısı yapabilirsiniz:

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

products.insert

Ek feed products.insert yöntemi, istek gövdesine gönderdiğiniz ürün alanlarını ekler ve varsa bu alanların üzerine yazar. Ek feed kullanılırken bu yöntem, aynı feed için daha önce gönderilen bir isteğe dahil edilmiş olmayan diğer tüm ürün alanlarını değiştirmez. Diğer feed'ler aracılığıyla eklenen veriler etkilenmese de her istek, aynı feed için önceki isteklerin üzerine yazılır. Yani ek feed isteği aracılığıyla bir alan ekler veya mevcut bir alanı güncellerseniz ve daha sonra bu alanı sonraki bir isteğe dahil etmezseniz çıkarılan alana ait veriler feed'den kaldırılır. Bu davranış, mevcut tüm ürün verilerini silip istek gövdesinde gönderdiğiniz alanlarla değiştiren ek feed olmadan products.insert çağrısından farklıdır.

Ek feed Product.insert hizmetine istek göndermek için aşağıdaki URL'yi kullanın:

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

offerId, feedLabel, channel ve contentLanguage alanlarını istek gövdesine eklemeniz gerekir. Diğer tüm alanlar isteğe bağlıdır.

Örnek

Bir ürünün "stokta" olan stok durumunu "stokta yok" olarak değiştirmek amacıyla ek feed'ler Product.insert yöntem çağrısı oluşturmak için aşağıdaki istek gövdesini kullanabilirsiniz:

{
 "offerId": "1111111111",
 "contentLanguage": "en",
 "feedLabel": "US",
 "channel": "online",
 "availability": "out of stock",
}

products.delete

products.delete yöntemi, belirtilen ek feed kullanılarak daha önce products.insert çağrıları tarafından eklenen tüm ek verileri kaldırır. Bu yöntemin ek feed için çağrılması, ek feed Product.insert çağrısı yapılmadan önce eklenen orijinal ürün verilerini etkilemez. Bunu, belirli bir feed'e ait bir veri katmanını kaldırmak gibi düşünebilirsiniz. Diğer feed'ler aracılığıyla eklenen veriler etkilenmez ve ürün, ek feed katmanı eklenmeden önceki durumuna etkili bir şekilde döner. Bu durum, products.delete ürününün ek feed olmadan çağrılmasından farklıdır. Bu durumda ek feed, ürünün tamamını ve tüm verilerini siler.

Ek feed products.delete hizmetinden istekte bulunmak için aşağıdaki URL'yi kullanın. Burada productId, ürünün channel:contentLanguage:feedLabel:offerId şeklinde gösterilen REST kimliğidir:

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

products.delete yöntemi ek feed'leri için istek gövdesi gerekmez.

products.custombatch

custombatch yöntemleri, yapılan API çağrılarının sayısını en aza indirmek amacıyla tek bir API çağrısı kullanarak birden fazla ürün için insert veya delete ek feed verileri oluşturmanıza olanak tanır.

Bir custombatch çağrısı yapmak için aşağıdaki istek URL'sini kullanın:

https://shoppingcontent.googleapis.com/content/v2.1/products/batch

Tüm ek feed custombatch çağrıları için istek gövdesine batchId, merchantID, method ve feedId parametrelerini eklemeniz gerekir.

products.custombatch:insert

products.custombatch:insert yöntemine ek feed çağrıları yaparken gerekli batchId, merchantID ve method parametrelerine ek olarak offerId, feedLabel, channel ve contentLanguage öğelerini istek gövdesine eklemeniz gerekir. Diğer tüm ürün alanları isteğe bağlıdır.

Örnek

Mevcut iki ürünün price değerini güncellemek için aşağıdaki isteği kullanarak bir products.custombatch:insert yöntem çağrısı yapabilirsiniz:

{
  "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

Belirtilen ek feed aracılığıyla iki üründe yapılan tüm güncellemeleri kaldırmak için aşağıdaki isteği kullanarak products.custombatch:delete yöntemi çağrısı yapabilirsiniz:

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