Tek seferde birden fazla istek gönderme

Toplu istekleri kullanabilirsiniz kullanarak tek bir API çağrısında birden fazla istek gönderebilir.

Toplu istek, birden fazla API çağrısı içeren tek bir standart HTTP isteğidir. multipart/mixed içerik türü kullanılıyor. Ana HTTP isteğinde her bölümü, iç içe yerleştirilmiş bir HTTP isteği içerir.

Toplu isteği, API için belirtilen batchPath öğesine gönderebilirsiniz. İlgili içeriği oluşturmak için kullanılan Satıcı API'si beta sürümü için batchPath, batch/{sub-api}/v1beta Daha fazla keşiflerindeki diğer API'ler için batchPath doküman ekleyin.

Aşağıda, isteklerinizi toplu olarak göndermek isteyebileceğiniz durumlara ilişkin bazı örnekler verilmiştir:

  • API'yi kullanmaya başladınız ve yüklemeniz gereken çok fazla veri var.
  • Bir kullanıcı, uygulamanız çevrimdışıyken verilerde değişiklik yaptıysa ve uygulamasının yerel verileri sunucuyla senkronize etmesi gerekir.
ziyaret edin.

HTTP toplu işleme hakkında sorularınız varsa veya istemcimizle toplu istek kitaplıklar, gönder geri bildirim.

Toplu istek yazma

Aşağıda örnek bir Merchant API toplu isteği verilmiştir. Bu istek, bir alma isteğini birleştiriyor bir ürünün bölgesel envanterini alabilir ve Aynı ürünün yerel envanterini güncellemek.

Örneğin biçimini tam olarak izlemelisiniz:

  1. Temel olarak https://merchantapi.googleapis.com/batch/{sub-api}/v1beta kullan URL'yi tıklayın.
  2. İç içe yerleştirilmiş istekleri ayırmak için bir sınır belirtin. Örneğin:

    -H 'Content-Type: multipart/mixed,boundary=batch_inventory' \

  3. İç içe yerleştirilmiş her isteği sınırla ayırın. Örneğin, --batch_inventory

  4. İç içe yerleştirilmiş her öğenin başına Content-Type: application/http ekleyin isteğinde bulunabilirsiniz.

  5. (İsteğe bağlı) İç içe yerleştirilmiş her isteği kendi kimliğinizle etiketlemek için Content-ID kullanın. Örneğin:

    Content-ID: <get:online:en:US:123456>.

  6. İç içe yerleştirilmiş her bir öğenin başlığı, yolu ve gövdesi arasına boş bir satır ekleyin isteğinde bulunabilirsiniz. İç içe yerleştirilmiş isteğin gövdesi yoksa boş bir satır bırakın bir sonraki sınıra denk geliyor.

  7. İç içe yerleştirilmiş isteklerin her birine temel URL'yi eklemeyin.

  8. Ana isteği nihai bir sınırla sonlandırın. --batch_inventory–

curl https://merchantapi.googleapis.com/batch/inventories/v1beta \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: multipart/mixed,boundary=batch_inventory' \
--data '
--batch_inventory
Content-Type: application/http
Content-ID: <get:online:en:US:123456>

GET /inventories/v1beta/accounts/123/products/online:en:US:123456/regionalInventories

--batch_inventory
Content-Type: application/http
Content-ID: <post:online:en:US:123456>

POST /inventories/v1beta/accounts/123/products/online:en:US:123456/regionalInventories:insert

{
   "region: "123456",
    "price": {
        "amountMicros": "100000000",
        "currencyCode": "USD"
    }
}
--batch_inventory--
'

Aramalarınızı belirli bir sırayla yürütmeniz gerekiyorsa bunları ayrı ayrı gönderin ve ilk isteğin yanıtını bekledikten sonra

Toplu yanıtı okuma

Bir HTTP toplu yanıtı örneğini burada bulabilirsiniz. Yanıtların sırası taleplerin sırası ile eşleşmemelidir. İç içe yerleştirilmiş öğeleri tanımlamak için Content-ID kullanın iç içe yerleştirilmiş her yanıtın ait olduğu istek. Yanıtlarda her Content-ID öneki response- olur.

--batch_YCE-jYH0pmDrBIHeHhltcpXIMpk0VTzQ
Content-Type: application/http
Content-ID: <response-get:online:en:US:123456>
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Vary: Origin
Vary: X-Origin
Vary: Referer
{}
--batch_YCE-jYH0pmDrBIHeHhltcpXIMpk0VTzQ
Content-Type: application/http
Content-ID: <response-post:online:en:US:123456>
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Vary: Origin
Vary: X-Origin
Vary: Referer
{
  "name": "accounts/123/products/online:en:US:123456/regionalInventories/123456",
  "region": "123456",
  "price": {
    "amountMicros": "100000000",
    "currencyCode": "USD"
  }
}
--batch_YCE-jYH0pmDrBIHeHhltcpXIMpk0VTzQ--
'