W Content API for Shopping prośba zbiorcza może zawierać wiele wpisów, a każdy z nich może być dowolną metodą (insert, update, delete lub custom) zdefiniowaną w zasobach.
Interfejs Merchant API nie oferuje metod przesyłania zbiorczego. Zamiast tego możesz zorganizować równoległe wykonywanie poszczególnych żądań.
Za pomocą biblioteki klienta
Jeśli używasz biblioteki klienta, użyj tego kodu interfejsu API Content for Shopping.
ProductsCustomBatchResponse batchResponse =
content.products().custombatch(batchRequest).execute();
Wpisz odpowiednik interfejsu Merchant API w ten sposób:
List<ApiFuture<ProductInput>> futures;
for (InsertProductInputRequest request : requests) {
futures.add(productInputsServiceClient.insertProductInputCallable().futureCall(request));
}
List<ProductInput> responses;
for (ApiFuture<ProductInput> future : futures) {
responses.add(future.get());
}
Bez biblioteki klienta
Jeśli nie używasz biblioteki klienta, wykonaj grupowanie zgodnie z instrukcjami podanymi w artykule Przesyłanie zbiorcze żądań.
Weźmy na przykład wpis w Content API dla Zakupów:
POST https://shoppingcontent.googleapis.com/content/v2.1/products/batch
{
"entries": [
{
"method": "insert",
"product": { … }
} … ]
}
W przypadku Merchant API wyglądałoby to mniej więcej tak:
POST https://merchantapi.googleapis.com/batch
Content-Length: content_length
content-type: multipart/mixed; boundary="================="
--=================
Content-Type: application/http
Content-Transfer-Encoding: binary
POST v1beta/accounts/123/productInputs:insert
Content-Type: application/json
accept: application/json
{...}
--=================
…