অঞ্চল ব্যাচিং পরিচালনা করুন

একটি বণিক API অঞ্চল একটি ভৌগলিক অঞ্চলের প্রতিনিধিত্ব করে যা আপনি accounts.products.regionalInventories রিসোর্সের সাথে সম্পর্কিত একটি লক্ষ্য হিসাবে ব্যবহার করতে পারেন। আপনি অঞ্চলগুলিকে পোস্টাল কোডের সংগ্রহ হিসাবে বা, কিছু দেশে, পূর্বনির্ধারিত জিওটার্গেট ব্যবহার করে সংজ্ঞায়িত করতে পারেন। আরও তথ্যের জন্য, অঞ্চল সেট আপ দেখুন।

মার্চেন্ট এপিআই আপনার অঞ্চলগুলি পরিচালনা করার জন্য ব্যাচের শেষ পয়েন্ট প্রদান করে, যা আপনাকে একটি একক API কলে 100টি অঞ্চল পর্যন্ত তৈরি করতে, আপডেট করতে এবং মুছতে দেয়৷ এটি আঞ্চলিক প্রাপ্যতা এবং মূল্য (RAAP) স্কেল পরিচালনা করে, দক্ষতার উন্নতি এবং একীকরণকে সরলীকরণ করে এমন ব্যবসায়ীদের জন্য আদর্শ।

ওভারভিউ

ব্যাচ API আপনাকে সংশ্লিষ্ট পদ্ধতিগুলির সাথে নিম্নলিখিতগুলি সম্পাদন করতে দেয়:

  • একটি অনুরোধে একাধিক অঞ্চল তৈরি করুন : regions:batchCreate
  • একসাথে একাধিক অঞ্চল মুছুন : regions:batchDelete
  • একই সাথে একাধিক অঞ্চল আপডেট করুন : regions:batchUpdate

পূর্বশর্ত

সমস্ত ব্যাচের অনুরোধের প্রমাণীকরণের জন্য অ্যাডমিন ব্যবহারকারীর ভূমিকা প্রয়োজন।

একাধিক অঞ্চল তৈরি করুন

এই উদাহরণটি দেখায় কিভাবে দুটি নতুন অঞ্চল তৈরি করা যায় — একটি পোস্টাল কোড দ্বারা সংজ্ঞায়িত এবং অন্যটি জিও টার্গেটিং দ্বারা — BatchCreateRegions এর একক কলে৷

অনুরোধ

নিম্নরূপ অনুরোধ URL গঠন করুন:

POST
https://merchantapi.googleapis.com/v1beta/accounts/{ACCOUNT_ID}/regions:batchCreate

অনুরোধের অংশে requests একটি তালিকা রয়েছে, যেখানে প্রতিটি বস্তু একটি regionId এবং region ডেটা তৈরি করতে নির্দিষ্ট করে।

{
  "requests": [
    {
      "regionId": "seattle-area-98340",
      "region": {
        "displayName": "Seattle Region",
        "postalCodeArea": {
          "regionCode": "US",
          "postalCodes": [
            {
              "begin": "98340"
            }
          ]
        }
      }
    },
    {
      "regionId": "co-de-states",
      "region": {
        "displayName": "Colorado and Delaware",
        "geoTargetArea": {
          "geotargetCriteriaIds": [
            "21138",
            "21141"
          ]
        }
      }
    }
  ]
}

প্রতিক্রিয়া

একটি সফল অনুরোধ নতুন region বস্তুর একটি তালিকা প্রদান করে।

{
  "regions": [
    {
      "name": "accounts/{ACCOUNT_ID}/regions/seattle-area-98340",
      "displayName": "Seattle Region",
      "postalCodeArea": {
        "regionCode": "US",
        "postalCodes": [
          {
            "begin": "98340"
          }
        ]
      },
      "regionalInventoryEligible": true,
      "shippingEligible": true
    },
    {
      "name": "accounts/{ACCOUNT_ID}/regions/co-de-states",
      "displayName": "Colorado and Delaware",
      "geotargetArea": {
        "geotargetCriteriaIds": [
          "21138",
          "21141"
        ]
      },
      "regionalInventoryEligible": false,
      "shippingEligible": false
    }
  ]
}

একাধিক অঞ্চল আপডেট করুন

এই উদাহরণটি দেখায় যে দুটি বিদ্যমান অঞ্চলের জন্য displayName এবং postalCodeArea আপডেট করতে BatchUpdateRegions কিভাবে ব্যবহার করতে হয়। লক্ষ্যযুক্ত অঞ্চল আপডেট করার জন্য আপনাকে অবশ্যই একটি region.name সরবরাহ করতে হবে।

অনুরোধ

নিম্নরূপ অনুরোধ URL গঠন করুন:

POST https://merchantapi.googleapis.com/v1beta/accounts/{ACCOUNT_ID}/regions:batchUpdate

অনুরোধের অংশে requests একটি তালিকা রয়েছে। আপডেট করার জন্য প্রতিটি বস্তুকে অবশ্যই region ডেটা নির্দিষ্ট করতে হবে। region.name ফিল্ডে অবশ্যই সেই অঞ্চলের আইডি থাকতে হবে যাতে আপডেট করা যায়, উদাহরণস্বরূপ,"98005"। accounts/{ACCOUNT_ID}/regions/name না করে name হিসেবে সম্পদ উল্লেখ করুন। পরিবর্তন করার জন্য ক্ষেত্রগুলি নির্দেশ করতে updateMask সহ ঐচ্ছিক।

{
  "requests": [
    {
      "region": {
        "name": "98005",
        "displayName": "Seattle Updated Region",
        "postalCodeArea": {
          "regionCode": "US",
          "postalCodes": [
            {
              "begin": "98330"
            }
          ]
        }
      },
      "updateMask": "displayName,postalCodeArea"
    },
    {
      "region": {
        "name": "07086",
        "displayName": "NewYork Updated Region",
        "postalCodeArea": {
          "regionCode": "US",
          "postalCodes": [
            {
              "begin": "11*"
            }
          ]
        }
      },
      "updateMask": "displayName,postalCodeArea"
    }
  ]
}

প্রতিক্রিয়া

একটি সফল অনুরোধ আপডেট করা region বস্তুর একটি তালিকা প্রদান করে।

{
  "regions": [
    {
      "name": "accounts/{ACCOUNT_ID}/regions/98005",
      "displayName": "Seattle Updated Region",
      "postalCodeArea": {
        "regionCode": "US",
        "postalCodes": [
          {
            "begin": "98330"
          }
        ]
      },
      "regionalInventoryEligible": true,
      "shippingEligible": true
    },
    {
      "name": "accounts/{ACCOUNT_ID}/regions/07086",
      "displayName": "NewYork Updated Region",
      "postalCodeArea": {
        "regionCode": "US",
        "postalCodes": [
          {
            "begin": "11*"
          }
        ]
      },
      "regionalInventoryEligible": true,
      "shippingEligible": true
    }
  ]
}

একাধিক অঞ্চল মুছুন

আপনি একটি কলে একাধিক অঞ্চল মুছে ফেলতে পারেন।

অনুরোধ

এই উদাহরণটি দেখায় কিভাবে একটি কলে দুটি অঞ্চল মুছে ফেলার জন্য BatchDeleteRegions ব্যবহার করতে হয়।

POST
https://merchantapi.googleapis.com/v1beta/accounts/{ACCOUNT_ID}/regions:batchDelete

অনুরোধের অংশে requests একটি তালিকা রয়েছে, যেখানে প্রতিটি বস্তু মুছে ফেলার জন্য অঞ্চলের name ( "accounts/{ACCOUNT_ID}/regions/" ছাড়া) নির্দিষ্ট করে৷

{
  "requests":
   [
    {
      "name": "98005"
    },
    {
      "name": "07086"
    }
   ]
}

প্রতিক্রিয়া

একটি সফল অনুরোধ একটি খালি প্রতিক্রিয়া বডি ফেরত দেয়, যা নির্দেশ করে যে নির্দিষ্ট অঞ্চলগুলি মুছে ফেলা হয়েছে (বা বিদ্যমান ছিল না)৷

{}

সীমাবদ্ধতা

আপনি শুরু করার আগে, এই নিয়মগুলি মনে রাখবেন:

  • পারমাণবিক ক্রিয়াকলাপ : ব্যাচের অনুরোধগুলি পারমাণবিক। যদি ব্যাচের মধ্যে কোনো একক অপারেশন ব্যর্থ হয় (উদাহরণস্বরূপ, একটি অঞ্চল তৈরি হতে ব্যর্থ হয়), পুরো ব্যাচটি ব্যর্থ হবে এবং কোনো পরিবর্তন করা হবে না। API ব্যর্থতার কারণ বিস্তারিত একটি ত্রুটি ফেরত দেবে।
  • ব্যাচের সীমা : প্রতিটি ব্যাচের অনুরোধে সর্বাধিক 100টি অঞ্চল অপারেশন থাকতে পারে।
  • কোটা : এই শেষ পয়েন্টগুলি তাদের একক-অপারেশন কাউন্টারপার্টস হিসাবে একই কোটা গ্রুপ ব্যবহার করে ( regions.create , regions.delete , regions.update )।

সাধারণ ত্রুটি এবং সমস্যা

এখানে কয়েকটি সাধারণ ত্রুটি এবং তাদের সমাধান রয়েছে।

"একটি ব্যাচে অনুরোধের সংখ্যা খুব বেশি"

আপনার অনুরোধ অ্যারেতে অপারেশনের সংখ্যা 100 সীমা অতিক্রম করলে এই ত্রুটিটি ঘটে।

"error":
  {
    "code": 400,
    "message": "The number of requests in a batch is too large.",
    "status": "INVALID_ARGUMENT"
  }

এটি ঠিক করতে, আপনার ক্রিয়াকলাপগুলিকে 100 বা তার কম একাধিক ব্যাচের অনুরোধে বিভক্ত করুন৷

প্রয়োজনীয় ক্ষেত্র অনুপস্থিত

এই ত্রুটিটি ঘটে যখন একটি প্রয়োজনীয় ক্ষেত্র অনুপস্থিত থাকে। ত্রুটি বার্তাটি অনুপস্থিত পরামিতি নির্দিষ্ট করে।

ত্রুটি বার্তাগুলি নিম্নরূপ:

  • batchCreate এর জন্য: [regionId] Required parameter: regionId
  • batchUpdate জন্য: [region.name] Required field not provided.
  • batchDelete জন্য: [name] Required parameter: name

এটি ঠিক করতে, প্রতিটি অপারেশনে সমস্ত প্রয়োজনীয় ক্ষেত্র উপস্থিত রয়েছে তা যাচাই করুন। উদাহরণস্বরূপ, একটি batchUpdate অনুরোধের প্রতিটি এন্ট্রিতে region.name অন্তর্ভুক্ত করতে হবে। নিম্নলিখিত অনুরোধ পোস্ট করার ফলে একটি ত্রুটি দেখা দেয়:

{
  "requests":
  [
    {
      "region":
        {
          "displayName": "An update without a region name"
        },
        "updateMask": "displayName"
    }
  ]
}

"নির্দিষ্ট আইডি সহ অঞ্চল ইতিমধ্যেই বিদ্যমান"

আপনি যদি ইতিমধ্যে বিদ্যমান একটি regionId সহ একটি অঞ্চল তৈরি করার চেষ্টা করেন তবে একটি ত্রুটি ঘটে।

ত্রুটি বার্তাটি হল [regionId] Region with specified id already exists. .

এটি ঠিক করতে, যাচাই করুন যে সমস্ত regionId মান ব্যাচের মধ্যে অনন্য এবং বিদ্যমান অঞ্চলগুলির সাথে বিরোধপূর্ণ নয়৷

"ক্ষেত্র অঞ্চলের জন্য ডুপ্লিকেট মান পাওয়া গেছে. নাম বা অঞ্চলআইডি পাওয়া গেছে"

আপনি যদি একটি ব্যাচ অনুরোধের মধ্যে একই আইডি সহ একাধিক অঞ্চল তৈরি বা আপডেট করার চেষ্টা করেন তবে একটি ত্রুটি ঘটে।

ত্রুটি বার্তাটি হল Duplicate value found for field {fieldName} in this batch request with value {duplicated_value}. .

এটি ঠিক করতে, যাচাই করুন যে সমস্ত regionId ( batchCreate এর জন্য) বা region.name ( batchUpdate এর জন্য) মানগুলি একটি একক ব্যাচ অনুরোধের মধ্যে অনন্য।

"আইটেম পাওয়া যায়নি"

batchUpdate ব্যবহার করার সময়, অনুরোধে উল্লেখ করা কোনো অঞ্চল বিদ্যমান না থাকলে, পুরো ব্যাচটি 404 NOT_FOUND ত্রুটির সাথে ব্যর্থ হবে। এটি batchDelete থেকে ভিন্ন, যা অস্তিত্বহীন অঞ্চলের জন্য সফল হয়।

"error": {
    "code": 404,
    "message": "item not found",
    "status": "NOT_FOUND"
}

এটি ঠিক করতে, অনুরোধ পাঠানোর আগে যাচাই করুন যে সমস্ত অঞ্চল আপনি আপডেট করার চেষ্টা করছেন।