Refatorar o código para solicitações simultâneas

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 Content for Shopping.

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 Enviar várias solicitações de uma só vez.

Por exemplo, substitua uma solicitação da API Content for Shopping como esta:

POST https://shoppingcontent.googleapis.com/content/v2.1/products/batch

{
  "entries": [
    {
      "method": "insert",
      "product": {  }
    }  ]
}

com este exemplo de Como gravar uma solicitação em lote.