একবারে একাধিক অনুরোধ পাঠান

আপনি একটি একক API কলে একাধিক অনুরোধ পাঠাতে মার্চেন্ট API-এর সাথে ব্যাচ অনুরোধগুলি ব্যবহার করতে পারেন।

একটি ব্যাচ অনুরোধ হল একটি একক স্ট্যান্ডার্ড HTTP অনুরোধ যাতে একাধিক API কল থাকে, multipart/mixed সামগ্রীর ধরন ব্যবহার করে। প্রধান HTTP অনুরোধের মধ্যে, প্রতিটি অংশে একটি নেস্টেড HTTP অনুরোধ থাকে।

আপনি API-এর জন্য নির্দিষ্ট batchPath ব্যাচের অনুরোধ পাঠাতে পারেন। মার্চেন্ট এপিআই বিটার জন্য batchPath হল batch/{sub-api}/v1beta । আপনি তাদের আবিষ্কার নথিতে অন্যান্য API-এর জন্য batchPath খুঁজে পেতে পারেন।

আপনি আপনার অনুরোধগুলি ব্যাচ করতে চাইতে পারেন এমন কিছু উদাহরণ এখানে রয়েছে:

  • আপনি সবেমাত্র API ব্যবহার শুরু করেছেন এবং আপলোড করার জন্য প্রচুর ডেটা আছে৷
  • আপনার অ্যাপ্লিকেশন অফলাইনে থাকাকালীন একজন ব্যবহারকারী ডেটাতে পরিবর্তন করেছেন এবং আপনার অ্যাপ্লিকেশনটিকে সার্ভারের সাথে স্থানীয় ডেটা সিঙ্ক্রোনাইজ করতে হবে৷

আপনার যদি HTTP ব্যাচিং সম্পর্কে প্রশ্ন থাকে, বা আপনি যদি আমাদের ক্লায়েন্ট লাইব্রেরিগুলির সাথে ব্যাচের অনুরোধগুলি পাঠানোর ক্ষমতার জন্য অনুরোধ করতে চান তবে প্রতিক্রিয়া জমা দিন

একটি ব্যাচ অনুরোধ লিখুন

এখানে একটি নমুনা মার্চেন্ট 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. প্রতিটি পৃথক নেস্টেড অনুরোধে বেস URL অন্তর্ভুক্ত করবেন না।

  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--
'

আপনার যদি একটি প্রদত্ত ক্রমে আপনার কলগুলি চালানোর প্রয়োজন হয়, সেগুলিকে আলাদাভাবে পাঠান এবং পরবর্তীটি পাঠানোর আগে প্রথম অনুরোধের প্রতিক্রিয়ার জন্য অপেক্ষা করুন৷

একটি ব্যাচ প্রতিক্রিয়া পড়ুন

এখানে একটি HTTP ব্যাচ প্রতিক্রিয়া একটি উদাহরণ. প্রতিক্রিয়াগুলির ক্রম অনুরোধের ক্রমটির সাথে নাও মিলতে পারে৷ প্রতিটি নেস্টেড প্রতিক্রিয়ার অন্তর্গত নেস্টেড অনুরোধ সনাক্ত করতে 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--
'