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.
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:
- Temel olarak
https://merchantapi.googleapis.com/batch/{sub-api}/v1beta
kullan URL'yi tıklayın. İç içe yerleştirilmiş istekleri ayırmak için bir sınır belirtin. Örneğin:
-H 'Content-Type: multipart/mixed,boundary=batch_inventory' \
İç içe yerleştirilmiş her isteği sınırla ayırın. Örneğin,
--batch_inventory
İç içe yerleştirilmiş her öğenin başına
Content-Type: application/http
ekleyin isteğinde bulunabilirsiniz.(İ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>
.İç 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.
İç içe yerleştirilmiş isteklerin her birine temel URL'yi eklemeyin.
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--
'