Content API ile ek feed'ler kullanma

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

Örneğin, aşağıdaki URL'ye 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ı ekleyerek bu alanların (varsa) üzerine yazılır. Ek feed kullanılırken bu yöntem, aynı feed'e yönelik önceki bir isteğe dahil edilmemiş alanlar olmadığı sürece diğer tüm ürün alanlarını değiştirmeden bırakır. Diğer feed'ler aracılığıyla eklenen veriler etkilenmez ancak her istek, aynı feed için önceki isteklerin üzerine yazar. Yani ek feed isteği aracılığıyla bir alan ekler veya 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ış, ek feed olmadan products.insert çağrılmasından farklıdır. Ek feed olmadan, mevcut tüm ürün verileri silinir ve istek gövdesinde gönderdiğiniz alanlarla değiştirilir.

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

İstek gövdesine offerId, feedLabel, channel ve contentLanguage alanlarını 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 için aşağıdaki istek gövdesini kullanarak ek feed Product.insert yöntem çağrısı yapabilirsiniz:

{
 "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öntemi ek feed için çağırmak, ek feed Product.insert çağrısı yapılmadan önce eklenen orijinal ürün verilerini etkilemez. Bu işlemi, belirli bir feed'in veri katmanını kaldırmak gibi düşünebilirsiniz. Diğer feed'ler aracılığıyla eklenen veriler bundan etkilenmez ve ürün, ek feed katmanı eklenmeden önceki durumuna etkili şekilde geri döner. Bu, ek feed olmadan products.delete işlevinin çağrılmasından farklıdır. Ek feed, ürünün tamamını ve tüm verilerini siler.

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

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

Ek feed'lerin products.delete yöntem çağrıları için istek gövdesine gerek yoktur.

products.custombatch

custombatch yöntemleriyle, tek bir API çağrısı kullanarak birden fazla ürün için insert veya delete ek feed verileri oluşturarak yapılan API çağrısı sayısını en aza indirebilirsiniz.

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 dahil etmeniz gerekir.

products.custombatch:insert

products.custombatch:insert yöntemine ek feed çağrıları yaparken, gerekli batchId, merchantID ve method parametrelerine ek olarak istek gövdesine offerId, feedLabel, channel ve contentLanguage parametrelerini 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 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

Belirli bir ek feed aracılığıyla iki üründe yapılan tüm güncellemeleri kaldırmak isterseniz aşağıdaki isteği kullanarak products.custombatch:delete yöntem ç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"
    }
  ]
}