Nell'API Content for Shopping, una richiesta collettiva può avere più voci e ogni voce può essere un metodo (insert, update, delete o personalizzato) definito nella risorsa.
L'API Merchant non offre metodi batch personalizzati. In alternativa, puoi organizzare l'esecuzione parallela delle singole richieste.
Con la libreria client
Se utilizzi la libreria client, considera questo codice dell'API Shopping Content.
ProductsCustomBatchResponse batchResponse =
content.products().custombatch(batchRequest).execute();
Scrivi l'equivalente dell'API Merchant come segue.
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());
}
Senza la libreria client
Se non utilizzi la libreria client, esegui il raggruppamento come spiegato in Eseguire il raggruppamento delle richieste.
Ad esempio, considera un post dell'API Content for Shopping come il seguente.
POST https://shoppingcontent.googleapis.com/content/v2.1/products/batch
{
"entries": [
{
"method": "insert",
"product": { … }
} … ]
}
Con l'API Merchant, la scrittura sarà simile alla seguente.
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
{...}
--=================
…