Na API Content for Shopping, uma solicitação em lote pode ter várias entradas, e cada entrada pode ser qualquer método (inserir, atualizar, excluir ou personalizado) definido no recurso.
A API Merchant não oferece métodos de lote personalizados. Em vez disso, você pode organizar a execução paralela de solicitações individuais.
Com a biblioteca de cliente
Se você estiver usando a biblioteca de cliente, considere usar este código da API Shopping Content.
ProductsCustomBatchResponse batchResponse =
content.products().custombatch(batchRequest).execute();
Escreva o equivalente da API Merchant da seguinte maneira.
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());
}
Sem a biblioteca de cliente
Se você não estiver usando a biblioteca de cliente, realize o agrupamento conforme explicado em Solicitações de agrupamento.
Por exemplo, considere uma postagem da API Shopping Content como esta.
POST https://shoppingcontent.googleapis.com/content/v2.1/products/batch
{
"entries": [
{
"method": "insert",
"product": { … }
} … ]
}
Com a API Merchant, ele seria escrito mais ou menos assim:
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
{...}
--=================
…