Envoyer plusieurs demandes à la fois

Dans l'API Content Shopping, une requête par lot peut comporter plusieurs entrées, et chaque entrée peut être une méthode (insertion, mise à jour, suppression ou personnalisée) définie sur la ressource.

L'API Merchant n'offre pas de méthodes de traitement par lot personnalisées. À la place, vous pouvez organiser l'exécution parallèle de requêtes individuelles.

Avec la bibliothèque cliente

Si vous utilisez la bibliothèque cliente, utilisez ce code Content API for Shopping.

ProductsCustomBatchResponse batchResponse =
        content.products().custombatch(batchRequest).execute();

Écrivez l'équivalent de l'API Merchant comme suit.

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());
}

Sans la bibliothèque cliente

Si vous n'utilisez pas la bibliothèque cliente, effectuez le traitement par lot comme expliqué dans la section Traitement par lot des requêtes.

Prenons l'exemple d'un post de l'API Shopping Content comme suit :

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

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

Avec l'API Merchant, vous devez écrire quelque chose comme ceci :

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

{...}
--=================
…