ใน Shopping Content API คำขอแบบเป็นกลุ่มอาจมีรายการหลายรายการ และแต่ละรายการอาจเป็นเมธอดใดก็ได้ (แทรก อัปเดต ลบ หรือกำหนดเอง) ที่กําหนดไว้ในแหล่งข้อมูล
Merchant API ไม่มีเมธอดแบบกลุ่มที่กำหนดเอง แต่คุณสามารถจัดเรียงการดำเนินการแบบขนานของคำขอแต่ละรายการแทนได้
ด้วยไลบรารีของไคลเอ็นต์
หากใช้ไลบรารีของไคลเอ็นต์ ให้พิจารณาใช้โค้ด Shopping Content API นี้
ProductsCustomBatchResponse batchResponse =
content.products().custombatch(batchRequest).execute();
เขียน Merchant API ที่เทียบเท่าดังนี้
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());
}
ไม่มีไลบรารีของไคลเอ็นต์
หากไม่ได้ใช้ไลบรารีไคลเอ็นต์ ให้จัดกลุ่มคำขอตามที่อธิบายไว้ในการจัดกลุ่มคำขอ
ตัวอย่างเช่น ลองพิจารณาโพสต์ Shopping Content API ดังต่อไปนี้
POST https://shoppingcontent.googleapis.com/content/v2.1/products/batch
{
"entries": [
{
"method": "insert",
"product": { … }
} … ]
}
เมื่อใช้ Merchant API ข้อความจะเขียนประมาณดังนี้
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
{...}
--=================
…