v1beta থেকে v1-এ স্থানান্তর করুন

এই নির্দেশিকাটি আপনাকে মার্চেন্ট এপিআই v1beta থেকে v1 এ স্থানান্তরিত হতে সাহায্য করবে, যা সাধারণ ব্যবহারের জন্য প্রথম সংস্করণ। v1 সংস্করণে বেশ কিছু আপডেট এবং কয়েকটি পরিবর্তন আনা হয়েছে, যার জন্য কোড আপডেটের প্রয়োজন হতে পারে। এই পরিবর্তনগুলো এপিআই-কে সরল করতে এবং আপনার মার্চেন্ট সেন্টার অ্যাকাউন্টের ব্যবস্থাপনা উন্নত করার জন্য ডিজাইন করা হয়েছে।

মূল পার্থক্য

v1beta থেকে v1 এ স্থানান্তরের সময় যে সবচেয়ে গুরুত্বপূর্ণ পরিবর্তনগুলো সম্পর্কে সচেতন থাকতে হবে, সেগুলো নিচে দেওয়া হলো:

  • মার্চেন্ট এপিআই ব্যবহার করার জন্য কমপক্ষে একজন এপিআই ডেভেলপারের এককালীন নিবন্ধন: আপনার যোগাযোগের বিবরণ প্রদান করার জন্য আপনাকে registerGcp মেথডটি কল করতে হবে (প্রমাণীকরণের জন্য ব্যবহৃত প্রতিটি গুগল ক্লাউড প্রজেক্টের জন্য শুধুমাত্র একবার)। এর মাধ্যমে আপনি এপিআই ব্যবহার করতে এবং মার্চেন্ট এপিআই সম্পর্কিত আপডেট ও ঘোষণা পেতে পারবেন। এই ধাপটি সম্পন্ন না হওয়া পর্যন্ত আপনি কোনো v1 বা v1alpha এপিআই ব্যবহার করতে পারবেন না। নিবন্ধন প্রক্রিয়া সম্পর্কে আরও তথ্যের জন্য, নিবন্ধন (Registration) দেখুন।
  • পণ্যের নামের এনকোডিং : ProductInput.name এবং Product.name ফিল্ডগুলো আনপ্যাডেড base64url (RFC 4648 সেকশন 5) এনকোডিং সমর্থন করে। এই নির্দেশিকাগুলো অনুসরণ করুন:

    • এনকোড করার আগে, স্ট্রিংটিকে অবশ্যই contentLanguage~feedLabel~offerId ফরম্যাটটি মেনে চলতে হবে।
    • আপনার পণ্যের নামে মার্চেন্ট এপিআই (Merchant API) দ্বারা ব্যবহৃত অক্ষর অথবা ইউআরএল-সংরক্ষিত অক্ষর, যেমন— নিম্নলিখিত অক্ষরগুলো থাকলে এনকোডিং করা বাধ্যতামূলক :

      % . + / : ~ , ( * ! ) & ? = @ # $
      
    • যদি আপনার পণ্যের নামটি contentLanguage~feedLabel~offerId ফরম্যাট মেনে চলে এবং এতে মার্চেন্ট এপিআই (Merchant API) দ্বারা ব্যবহৃত কোনো অক্ষর বা ইউআরএল-সংরক্ষিত (URL-reserved) অক্ষর না থাকে, তাহলে আপনি এনকোডিং ছাড়াই সাধারণ ফরম্যাটটি ব্যবহার করতে পারেন।

    • সামঞ্জস্যপূর্ণ ও সঠিক পার্সিং নিশ্চিত করতে, আমরা সকল পণ্যের নামের জন্য আনপ্যাডেড বেস৬৪ইউআরএল এনকোডিং ব্যবহার করার পরামর্শ দিই।

  • পণ্য-স্তরের কর তথ্য অপসারণ: taxes এবং taxCategory

  • Product.attributes নাম পরিবর্তন করা হয়েছে : Product.attributes ফিল্ডটির নাম পরিবর্তন করে Product.productAttributes রাখা হয়েছে।

  • পণ্য-স্তরের কর তথ্য অপসারণ: Product.productAttributes অবজেক্ট থেকে taxes এবং taxCategory ফিল্ডগুলো সরিয়ে ফেলা হয়েছে। আরও তথ্যের জন্য কর সংক্রান্ত Google Merchant Center-এর হেল্প আর্টিকেলটি দেখুন।

  • GTIN ফিল্ডে পরিবর্তন: Product.productAttributes অবজেক্টের gtin ফিল্ডটির নাম পরিবর্তন করে gtins রাখা হয়েছে, যা এটি একাধিক মান ধারণ করতে পারে—এই বিষয়টি আরও ভালোভাবে প্রতিফলিত করে। OrderTrackingSignals.lineItemDetails অবজেক্টের gtin ফিল্ডটি এখন একটি array এবং এর নামও পরিবর্তন করে gtins রাখা হয়েছে।

  • চ্যানেল ফিল্ড অপসারণ: প্রোডাক্ট, প্রোডাক্ট ইনপুট এবং ডেটা সোর্স থেকে channel ফিল্ডটি সরিয়ে ফেলা হয়েছে। শুধুমাত্র ফিজিক্যাল স্টোরে বিক্রি হওয়া প্রোডাক্টগুলোকে স্পষ্টভাবে চিহ্নিত করার জন্য legacyLocal একটি নতুন বুলিয়ান ফিল্ড চালু করা হয়েছে। দ্রষ্টব্য: legacyLocal ফিল্ডটি মাইগ্রেশনে সাহায্য করার জন্য একটি সহায়ক ফিল্ড এবং অনলাইন ও লোকাল মার্কেটিং পদ্ধতিগুলো একটিমাত্র প্রোডাক্ট সোর্স দিয়ে সম্পূর্ণরূপে টার্গেট করা গেলে এটি পর্যায়ক্রমে বাতিল করা হবে। আরও তথ্যের জন্য পরবর্তী সেকশনের টেবিলটি দেখুন।

  • আঞ্চলিক ও স্থানীয় ইনভেন্টরি বৈশিষ্ট্যগুলির জন্য নতুন ক্ষেত্র :

    • name , account এবং region ছাড়া RegionalInventory বাকি সব ফিল্ড এখন regionalInventoryAttributes নামক একটি নতুন অবজেক্টের অধীনে আনা হয়েছে। উদাহরণস্বরূপ, RegionalInventory.price অ্যাট্রিবিউটটি এখন RegionalInventory.regionalInventoryAttributes.price এর অধীনে রয়েছে।
    • name , account এবং storeCode ছাড়া LocalInventory বাকি সব ফিল্ড এখন localInventoryAttributes নামক একটি নতুন অবজেক্টের অধীনে আনা হয়েছে। উদাহরণস্বরূপ, LocalInventory.price অ্যাট্রিবিউটটি এখন LocalInventory.localInventoryAttributes.price এর অধীনে রয়েছে।
  • আঞ্চলিক এবং স্থানীয় ইনভেন্টরি থেকে customAttributes অপসারণ: customAttributes ফিল্ডটি RegionalInventory এবং LocalInventory উভয় রিসোর্স থেকে অপসারণ করা হয়েছে।

  • অ্যাকাউন্ট তৈরির পরিমার্জিত পদ্ধতি: CreateAndConfigureAccountRequest থেকে অপ্রয়োজনীয় users ফিল্ডটি সরিয়ে দেওয়া হয়েছে। একজন প্রাথমিক ব্যবহারকারীকে একটি নতুন অ্যাকাউন্টের সাথে যুক্ত করতে ' user ফিল্ডটি ব্যবহার করুন।

  • কিছু অ্যাট্রিবিউট টাইপ স্ট্রিং থেকে এনামে পরিবর্তন করা হয়েছে: উন্নত ডেটা ভ্যালিডেশনের জন্য Product এবং Inventory রিসোর্সের মধ্যে থাকা কিছু ফিল্ড, যেগুলোর ভ্যালুর একটি সংক্ষিপ্ত তালিকা নির্দিষ্ট ছিল, সেগুলোকে string টাইপ থেকে enum টাইপে পরিবর্তন করা হয়েছে (উদাহরণস্বরূপ, Product.ProductAttributes.condition ফিল্ডটি এখন একটি enum )।

  • অনলাইন রিটার্ন পলিসি আপডেট করার পদ্ধতি অপসারণ: v1 থেকে onlineReturnPolicy.update পদ্ধতিটি সরিয়ে ফেলা হয়েছে। এর পরিবর্তে onlineReturnPolicy.create পদ্ধতি ব্যবহার করে একটি অনলাইন রিটার্ন পলিসি তৈরি করুন।

কীভাবে স্থানান্তর করবেন

মার্চেন্ট এপিআই-এর v1beta সংস্করণটি ২৮শে ফেব্রুয়ারি, ২০২৬ তারিখে বন্ধ করে দেওয়া হবে। এই বাতিলকরণ সময়সূচী সম্পর্কে আরও তথ্যের জন্য, মার্চেন্ট এপিআই ভার্সনিং গাইড দেখুন।

  • মাইগ্রেট করার জন্য আপনার প্রথম ধাপ হলো এককালীন ডেভেলপার রেজিস্ট্রেশন করা (দেখুন 'ডেভেলপার হিসেবে নিবন্ধন করুন ')। যেকোনো v1 পদ্ধতি কাজ করার আগে, প্রমাণীকরণের জন্য ব্যবহৃত আপনার প্রতিটি গুগল ক্লাউড প্রজেক্টের জন্য অবশ্যই registerGcp মেথডটি কল করতে হবে।

  • আপনি এপিআইগুলো যেভাবে কল করুন না কেন (REST, gRPC বা ক্লায়েন্ট লাইব্রেরি ব্যবহার করে), আপনি পর্যায়ক্রমে মাইগ্রেট করতে পারেন। এর মানে হলো, আপনাকে পুরো ইন্টিগ্রেশনটি একবারে আপডেট না করেই, আপনি একটি একটি করে এপিআই আপডেট ও মাইগ্রেট করতে পারবেন (উদাহরণস্বরূপ, Accounts API-কে v1beta তে রেখে Products API-কে v1 এ নিয়ে যাওয়া)।

বিস্তারিত ক্ষেত্রের পরিবর্তন

এই সারণিতে v1beta এবং v1 সংস্করণের মধ্যে পরিবর্তিত ক্ষেত্রগুলির একটি বিশদ তুলনা প্রদান করা হয়েছে।

v1beta v1 বর্ণনা
ProductInput.name ProductInput.name মার্চেন্ট এপিআই দ্বারা ব্যবহৃত অক্ষর বা ইউআরএল-সংরক্ষিত অক্ষরযুক্ত পণ্যের নামের জন্য Unpadded base64url encoding সমর্থিত এবং বাধ্যতামূলক।
Product.name Product.name মার্চেন্ট এপিআই দ্বারা ব্যবহৃত অক্ষর বা ইউআরএল-সংরক্ষিত অক্ষরযুক্ত পণ্যের নামের জন্য Unpadded base64url encoding সমর্থিত এবং বাধ্যতামূলক।
Product.gtin Product.gtins GTIN-এর ফিল্ডটির নাম পরিবর্তন করা হয়েছে।
Product.taxes অপসারণ করা হয়েছে taxes ক্ষেত্রটি সরানো হয়েছে
Product.taxCategory অপসারণ করা হয়েছে taxCategory ফিল্ডটি সরিয়ে ফেলা হয়েছে
Product.channel অপসারণ করা হয়েছে channel ফিল্ডটি সরিয়ে দেওয়া হয়েছে। স্থানীয় ব্যবহারের জন্য legacyLocal ফিল্ডটি ব্যবহার করুন।
Product.attributes Product.productAttributes attributes ফিল্ডটির নাম পরিবর্তন করে productAttributes রাখা হয়েছে।
Product ফিল্ডের availability , condition , gender , includedDestinations এবং excludedDestinations strings (বা strings -এর array ) হিসেবে উপস্থাপিত হয়। এই ফিল্ডগুলো এখন enums (বা enums array ) যেসব ফিল্ডের মানের একটি সংক্ষিপ্ত তালিকা নির্দিষ্ট ছিল, সেগুলোকে string টাইপ থেকে enum টাইপে পরিবর্তন করা হয়েছে।
price , salePrice , salePriceEffectiveDate এবং RegionalInventory availability RegionalInventory.regionalInventoryAttributes এ স্থানান্তরিত হয়েছে এই ফিল্ডগুলো regionalInventoryAttributes অধীনে স্থানান্তর করা হয়েছে।
RegionalInventory.availability ফিল্ডটি একটি string RegionalInventory.regionalInventoryAttributes.availability এখন একটি enums প্রাপ্যতার ধরণ string থেকে enum পরিবর্তিত হয়েছে।
LocalInventory price , salePrice , salePriceEffectiveDate , availability , quantity , pickupMethod , pickupSla এবং instoreProductLocation LocalInventory.localInventoryAttributes এ স্থানান্তরিত হয়েছে এই ফিল্ডগুলো localInventoryAttributes অধীনে স্থানান্তর করা হয়েছে।
LocalInventory.availability ফিল্ডটি একটি string LocalInventory.localInventoryAttributes.availability এখন একটি enums প্রাপ্যতার ধরণ string থেকে enum পরিবর্তিত হয়েছে।
LocalInventory.customAttributes অপসারণ করা হয়েছে স্থানীয় ইনভেন্টরির জন্য কাস্টম অ্যাট্রিবিউট আর সমর্থিত নয়।
RegionalInventory.customAttributes অপসারণ করা হয়েছে আঞ্চলিক ইনভেন্টরির জন্য কাস্টম অ্যাট্রিবিউট আর সমর্থিত নয়।
ProductInput.channel অপসারণ করা হয়েছে channel ফিল্ডটি সরিয়ে দেওয়া হয়েছে। স্থানীয় ব্যবহারের জন্য legacyLocal ফিল্ডটি ব্যবহার করুন।
DataSource.channel অপসারণ করা হয়েছে channel ফিল্ডটি সরিয়ে দেওয়া হয়েছে। স্থানীয় ব্যবহারের জন্য legacyLocal ফিল্ডটি ব্যবহার করুন।
উপলব্ধ নয় ProductInput.legacyLocal একটি নতুন বুলিয়ান ফিল্ড যা নির্দেশ করবে যে একটি পণ্য শুধুমাত্র স্থানীয় বিপণন পদ্ধতিকে লক্ষ্য করতে পারবে। পণ্য রিসোর্স আইডির শুরুতে "local~" উপসর্গ থাকবে।
উপলব্ধ নয় Product.legacyLocal একটি নতুন বুলিয়ান ফিল্ড, যা নির্দেশ করবে যে কোনো পণ্য শুধুমাত্র স্থানীয় দোকানে বিক্রি হয় এবং অনলাইনে কেনার জন্য উপলব্ধ নয়।
উপলব্ধ নয় DataSource.legacyLocal একটি নতুন বুলিয়ান ফিল্ড, যা নির্দেশ করে যে কোনো ডেটা সোর্সে শুধুমাত্র স্থানীয় দোকানে বিক্রি হওয়া পণ্য রয়েছে।
OrderTrackingSignals.LineItemDetails.gtin OrderTrackingSignals.LineItemDetails.gtins gtin ফিল্ডটির নাম পরিবর্তন করে gtins রাখা হয়েছে এবং এটি এখন একটি স্ট্রিং-এর অ্যারে।
CreateAndConfigureAccountRequest.users অপসারণ করা হয়েছে users ক্ষেত্রটি সরিয়ে দেওয়া হয়েছে। অ্যাকাউন্টে প্রাথমিক প্রশাসক যোগ করতে user ক্ষেত্রটি ব্যবহার করুন।