एक साथ कई अनुरोध भेजना

बैच अनुरोधों का इस्तेमाल किया जा सकता है का इस्तेमाल करें, ताकि एक एपीआई कॉल में कई अनुरोध भेजे जा सकें.

बैच रिक्वेस्ट एक ऐसा स्टैंडर्ड एचटीटीपी अनुरोध है जिसमें कई एपीआई कॉल शामिल होते हैं. multipart/mixed कॉन्टेंट टाइप का इस्तेमाल करके. मुख्य एचटीटीपी अनुरोध में, हिस्से में नेस्ट किया हुआ एचटीटीपी अनुरोध मौजूद है.

एपीआई के लिए, बताए गए batchPath को बैच अनुरोध भेजा जा सकता है. कॉन्टेंट बनाने Merchant API के बीटा वर्शन के लिए batchPath, batch/{sub-api}/v1beta है . आप अन्य एपीआई के लिए batchPath की खोज दस्तावेज़.

यहां कुछ समय के उदाहरण दिए गए हैं, जब आपको अपने अनुरोधों को एक साथ बैच में भेजने की ज़रूरत पड़ सकती है:

  • आपने अभी-अभी एपीआई का इस्तेमाल करना शुरू किया है और आपके पास अपलोड करने के लिए बहुत सारा डेटा है.
  • जब आपका ऐप्लिकेशन ऑफ़लाइन था, तब किसी उपयोगकर्ता ने डेटा में बदलाव किए और आपके ऐप्लिकेशन को स्थानीय डेटा को सर्वर के साथ सिंक करने की ज़रूरत होती है.

अगर आपके पास एचटीटीपी बैचिंग के बारे में सवाल हैं या हमारे क्लाइंट को बैच में अनुरोध भेजने के लिए लाइब्रेरी, सबमिट करें सुझाव/राय दें या शिकायत करें.

एक साथ कई अनुरोधों का अनुरोध करने की सुविधा

यहां Merchant API के एक साथ किए जाने वाले अनुरोध का सैंपल दिया गया है. इस अनुरोध में पाने के अनुरोध को शामिल किया जाता है रीजनल इन्वेंट्री को फिर से हासिल करने के लिए, और उसी प्रॉडक्ट के लिए स्थानीय इन्वेंट्री को अपडेट करें.

आपको उदाहरण के तौर पर दिए गए फ़ॉर्मैट का पूरी तरह पालन करना चाहिए:

  1. https://merchantapi.googleapis.com/batch/{sub-api}/v1beta को बेस के तौर पर इस्तेमाल करें यूआरएल.
  2. नेस्ट किए गए हर अनुरोध को अलग करने के लिए कोई सीमा तय करें, उदाहरण के लिए:

    -H 'Content-Type: multipart/mixed,boundary=batch_inventory' \

  3. नेस्ट किए गए हर अनुरोध को सीमा से अलग करें, उदाहरण के लिए --batch_inventory.

  4. हर नेस्ट की शुरुआत में Content-Type: application/http शामिल करें अनुरोध.

  5. (ज़रूरी नहीं) नेस्ट किए गए हर अनुरोध को अपना आईडी से लेबल करने के लिए Content-ID का इस्तेमाल करें. उदाहरण के लिए:

    Content-ID: <get:online:en:US:123456>.

  6. हर नेस्ट किए गए हेडर, पाथ, और मुख्य भाग के बीच एक खाली लाइन शामिल करें अनुरोध. अगर नेस्ट किए गए अनुरोध में कोई मुख्य हिस्सा नहीं है, तो एक खाली लाइन छोड़ दें सीमा से पहले दिखाई देती है.

  7. नेस्ट किए गए हर अनुरोध में, बेस यूआरएल शामिल न करें.

  8. मुख्य अनुरोध को आखिरी सीमा के साथ खत्म करें. उदाहरण के लिए, --batch_inventory–.

curl https://merchantapi.googleapis.com/batch/inventories/v1beta \
-H 'Authorization: Bearer <TOKEN>' \
-H 'Content-Type: multipart/mixed,boundary=batch_inventory' \
--data '
--batch_inventory
Content-Type: application/http
Content-ID: <get:online:en:US:123456>

GET /inventories/v1beta/accounts/123/products/online:en:US:123456/regionalInventories

--batch_inventory
Content-Type: application/http
Content-ID: <post:online:en:US:123456>

POST /inventories/v1beta/accounts/123/products/online:en:US:123456/regionalInventories:insert

{
   "region: "123456",
    "price": {
        "amountMicros": "100000000",
        "currencyCode": "USD"
    }
}
--batch_inventory--
'

अगर आपको दिए गए क्रम में कॉल पूरे करने हैं, तो उन्हें अलग से भेजें और अगला अनुरोध भेजने से पहले, पहले अनुरोध के जवाब का इंतज़ार करें.

बैच में दिया गया जवाब पढ़ें

यहां एचटीटीपी बैच रिस्पॉन्स का एक उदाहरण दिया गया है. जवाबों का क्रम अनुरोधों के क्रम से मेल नहीं खाता. नेस्ट की गई सूची की पहचान करने के लिए Content-ID का इस्तेमाल करें हर नेस्ट किए गए जवाब के लिए अनुरोध करें. जवाबों में, हर Content-ID response- के साथ प्रीफ़िक्स लगा होना चाहिए.

--batch_YCE-jYH0pmDrBIHeHhltcpXIMpk0VTzQ
Content-Type: application/http
Content-ID: <response-get:online:en:US:123456>
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Vary: Origin
Vary: X-Origin
Vary: Referer
{}
--batch_YCE-jYH0pmDrBIHeHhltcpXIMpk0VTzQ
Content-Type: application/http
Content-ID: <response-post:online:en:US:123456>
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Vary: Origin
Vary: X-Origin
Vary: Referer
{
  "name": "accounts/123/products/online:en:US:123456/regionalInventories/123456",
  "region": "123456",
  "price": {
    "amountMicros": "100000000",
    "currencyCode": "USD"
  }
}
--batch_YCE-jYH0pmDrBIHeHhltcpXIMpk0VTzQ--
'