পণ্য স্থানান্তর

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

এই নির্দেশিকাটি আপনাকে শপিংয়ের জন্য কন্টেন্ট API থেকে আপনার ইন্টিগ্রেশন স্থানান্তর করতে সাহায্য করার জন্য মূল পার্থক্যগুলি ব্যাখ্যা করবে। নতুন বৈশিষ্ট্যগুলি ব্যবহারের বিস্তারিত নির্দেশিকা জানতে, আপনার পণ্যগুলি পরিচালনা করুন দেখুন।

মূল পার্থক্য

Content API for Shopping এর তুলনায় Merchant API তে পণ্য পরিচালনার ক্ষেত্রে সবচেয়ে উল্লেখযোগ্য পরিবর্তনগুলি এখানে দেওয়া হল:

  • ইনপুট এবং প্রক্রিয়াজাত ডেটার জন্য নিবেদিত সম্পদ : মার্চেন্ট API পণ্য ব্যবস্থাপনাকে দুটি সম্পদে বিভক্ত করে। আপনি আপনার পণ্যের ডেটা সন্নিবেশ, আপডেট এবং মুছে ফেলার জন্য ProductInput সম্পদ ব্যবহার করতে পারেন। Google আপনার ইনপুট প্রক্রিয়াকরণ, নিয়ম প্রয়োগ এবং সম্পূরক উৎস থেকে ডেটা একত্রিত করার পরে চূড়ান্ত পণ্যটি দেখতে আপনি শুধুমাত্র পঠনযোগ্য Product সম্পদ ব্যবহার করতে পারেন।

  • পণ্যের নামের জন্য এনকোডিং : আপনি ProductInput.name এবং Product.name উভয় ক্ষেত্রেই unpadded base64url (RFC 4648 Section 5) এনকোডিং ব্যবহার করতে পারেন। যদি পণ্যের নামগুলিতে Merchant API দ্বারা ব্যবহৃত অক্ষর বা URL-সংরক্ষিত অক্ষর থাকে, তাহলে এনকোডিং বাধ্যতামূলক । উদাহরণস্বরূপ, যদি পণ্যের নামগুলিতে নিম্নলিখিত অক্ষরগুলির মধ্যে কোনও একটি থাকে তবে আপনাকে অবশ্যই এনকোড করতে হবে:

    % . + / : ~ , ( * ! ) & ? = @ # $
    
  • ইন্টিগ্রেটেড প্রোডাক্ট স্ট্যাটাস : productstatuses পরিষেবাটি সরানো হয়েছে। প্রোডাক্ট ভ্যালিডেশন সমস্যা এবং গন্তব্য স্ট্যাটাসগুলি এখন productStatus ক্ষেত্রের মধ্যে Product রিসোর্সে সরাসরি অন্তর্ভুক্ত করা হয়েছে, যা ডেটা পুনরুদ্ধারকে সহজ করে তোলে।

  • পূর্বাভাসযোগ্য পণ্য আপডেট : নতুন productInputs.patch পদ্ধতিটি সরাসরি একটি নির্দিষ্ট পণ্য ইনপুট পরিবর্তন করে। এটি শপিংয়ের জন্য কন্টেন্ট API-এর তুলনায় একটি উল্লেখযোগ্য উন্নতি, যেখানে আপডেটগুলি অপ্রত্যাশিতভাবে অন্যান্য ফিড আপলোড দ্বারা ওভাররাইট করা যেতে পারে। Merchant API-তে, একটি আপডেট ততক্ষণ পর্যন্ত থাকে যতক্ষণ না সেই নির্দিষ্ট পণ্য ইনপুটটি আবার আপডেট করা হয় বা মুছে ফেলা হয়। পণ্য আপডেটগুলি প্রক্রিয়াজাত Product রিসোর্সের পরিবর্তে ProductInput রিসোর্সে প্রয়োগ করা হয়।

  • পরিষ্কার ডেটা ব্যবস্থাপনার জন্য আপনার ডেটা সোর্স নির্বাচন করুন : সমস্ত productInputs লেখার ক্রিয়াকলাপের জন্য এখন একটি dataSource কোয়েরি প্যারামিটার প্রয়োজন, যা স্পষ্ট করে দেয় যে আপনি কোন ডেটা সোর্সটি পরিবর্তন করছেন। এটি বিশেষভাবে কার্যকর যদি আপনার একাধিক ডেটা সোর্স ডেটা প্রদান করে।

  • নতুন রিসোর্স শনাক্তকারী : পণ্যগুলি এখন id ক্ষেত্রের পরিবর্তে একটি RESTful রিসোর্স name দ্বারা চিহ্নিত করা হয়। ফর্ম্যাটটি হল accounts/{account}/products/{product}

  • কোনও কাস্টম ব্যাচ নেই : custombatch পদ্ধতি আর উপলব্ধ নেই। আপনি একটি HTTP কলে একাধিক অনুরোধ পাঠাতে অ্যাসিঙ্ক্রোনাস অনুরোধ বা HTTP ব্যাচিং ব্যবহার করতে পারেন।

  • যেকোনো ফিড লেবেল এবং ভাষার জন্য ডেটা সোর্স : মার্চেন্ট এপিআই ফিড লেবেল এবং ভাষা নির্দিষ্ট না করেই ডেটা সোর্স তৈরি করা সম্ভব করে এবং তাই যেকোনো ফিড লেবেল এবং ভাষার সাথে পণ্য সন্নিবেশ করার অনুমতি দেয়।

অনুরোধ

এই বিভাগটি শপিংয়ের জন্য কন্টেন্ট API এবং মার্চেন্ট API-এর অনুরোধ ফর্ম্যাটগুলির তুলনা করে।

অনুরোধের বিবরণ কেনাকাটার জন্য কন্টেন্ট API মার্চেন্ট এপিআই
একটি পণ্য পান GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product}
পণ্য তালিকাভুক্ত করুন GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products
একটি পণ্য ঢোকান POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products POST https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs:insert
একটি পণ্য আপডেট করুন PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} PATCH https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput}
একটি পণ্য মুছুন DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} DELETE https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput}
পণ্যের অবস্থা জানুন GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses/{productId} GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product}
পণ্যের স্ট্যাটাস তালিকাভুক্ত করুন GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products
একাধিক অনুরোধ ব্যাচ করুন POST https://shoppingcontent.googleapis.com/content/v2.1/products/custombatch অ্যাসিঙ্ক্রোনাস অনুরোধ বা HTTP ব্যাচিং ব্যবহার করুন

শনাক্তকারী

মার্চেন্ট API-তে পণ্য শনাক্তকারীর ফর্ম্যাটটি একটি স্ট্যান্ডার্ড REST রিসোর্স নামে পরিবর্তিত হয়েছে।

শনাক্তকারীর বর্ণনা কেনাকাটার জন্য কন্টেন্ট API মার্চেন্ট এপিআই
পণ্য আইডি একটি কোলন ( : ) দ্বারা পৃথক করা অংশগুলির সমন্বয়ে গঠিত একটি স্ট্রিং।
ফর্ম্যাট: channel:contentLanguage:targetCountry:offerId অথবা channel:contentLanguage:feedLabel:offerId
উদাহরণ: online:en:US:sku123
একটি REST রিসোর্স name স্ট্রিং।
ফর্ম্যাট: accounts/{account}/products/{product} যেখানে {product} হল contentLanguage~feedLabel~offerId
উদাহরণ: accounts/12345/products/en~US~sku123
এনকোডিং: আনপ্যাডেড base64url এনকোডিং সুপারিশকৃত এবং বাধ্যতামূলক , যদি পণ্য আইডিতে মার্চেন্ট API বা URL-সংরক্ষিত অক্ষর ব্যবহৃত হয়।

পদ্ধতি

এই টেবিলটি Merchant API-তে শপিং পদ্ধতির জন্য Content API এবং তাদের সমতুল্যগুলি দেখায়।

কেনাকাটা পদ্ধতির জন্য কন্টেন্ট API মার্চেন্ট এপিআই পদ্ধতি প্রাপ্যতা এবং নোট
products.get products.get চূড়ান্ত, প্রক্রিয়াজাত পণ্য উদ্ধার করে।
products.list products.list চূড়ান্ত, প্রক্রিয়াজাত পণ্যের তালিকা।
products.insert productInputs.insert একটি পণ্য ইনপুট সন্নিবেশ করায়। একটি dataSource প্রয়োজন।
products.update productInputs.update আচরণটি উল্লেখযোগ্যভাবে ভিন্ন। এটি একটি নির্দিষ্ট পণ্যের ইনপুট আপডেট করে এবং স্থায়ী হয়।
products.delete productInputs.delete একটি নির্দিষ্ট পণ্য ইনপুট মুছে ফেলে। একটি dataSource প্রয়োজন।
products.custombatch পাওয়া যায় না অ্যাসিঙ্ক্রোনাস রিকোয়েস্ট বা HTTP ব্যাচিং ব্যবহার করুন।
productstatuses.get products.get productstatuses পরিষেবাটি সরানো হয়েছে। স্থিতির তথ্য এখন Product সম্পদের অংশ।
productstatuses.list products.list productstatuses পরিষেবাটি সরানো হয়েছে। স্থিতির তথ্য এখন Product সম্পদের অংশ।
productstatuses.custombatch পাওয়া যায় না অ্যাসিঙ্ক্রোনাস রিকোয়েস্ট অথবা HTTP ব্যাচিং ব্যবহার করুন।

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

এই টেবিলটি Merchant API-তে পরিবর্তন, যোগ বা সরানো গুরুত্বপূর্ণ ক্ষেত্রগুলিকে হাইলাইট করে।

কেনাকাটার জন্য কন্টেন্ট API মার্চেন্ট এপিআই বিবরণ
id name কোনও পণ্যের প্রাথমিক শনাক্তকারী এখন REST রিসোর্স name । Merchant API বা URL-সংরক্ষিত অক্ষর দ্বারা ব্যবহৃত অক্ষর ধারণকারী পণ্যের নামের ক্ষেত্রে আনপ্যাডেড base64url এনকোডিং সুপারিশকৃত এবং বাধ্যতামূলক
শীর্ষ-স্তরের পণ্য ডেটা স্পেসিফিকেশন বৈশিষ্ট্য (যেমন, title , price , link ) productAttributes অবজেক্ট title , price এবং link মতো পণ্যের বৈশিষ্ট্যগুলি আর শীর্ষ-স্তরের ক্ষেত্র নয়। এখন এগুলি Product এবং ProductInput উভয় রিসোর্সে productAttributes অবজেক্টের মধ্যে গোষ্ঠীভুক্ত করা হয়েছে। এটি একটি পরিষ্কার এবং আরও সুসংগঠিত রিসোর্স কাঠামো প্রদান করে।
targetCountry feedLabel Merchant Center কার্যকারিতার সাথে সামঞ্জস্যপূর্ণ করার জন্য রিসোর্সের নাম এখন targetCountry এর পরিবর্তে feedLabel ব্যবহার করে।
feedId dataSource (কোয়েরি প্যারামিটার) একটি dataSource নাম এখন সমস্ত productInputs লেখার পদ্ধতির ( insert , update , delete ) জন্য একটি প্রয়োজনীয় কোয়েরি প্যারামিটার।
channel উপলব্ধ নেই। শুধুমাত্র স্থানীয় পণ্যের জন্য legacy_local ব্যবহার করুন। Merchant API-তে channel ফিল্ডটি আর নেই। Content API for Shopping-এ LOCAL চ্যানেল আছে এমন পণ্যের পরিবর্তে legacy_local ফিল্ডটিকে true-তে সেট করা উচিত।
পাওয়া যায় না versionNumber ProductInput এ একটি নতুন ঐচ্ছিক ক্ষেত্র যা প্রাথমিক ডেটা উৎসগুলিতে অপ্রয়োজনীয় সন্নিবেশ রোধ করতে ব্যবহার করা যেতে পারে।
নির্ধারিত মানের সেট সহ string টাইপ ক্ষেত্র নির্ধারিত মান সেট সহ enum টাইপ ক্ষেত্র পণ্য বৈশিষ্ট্যের মধ্যে যেসব ক্ষেত্রগুলিতে মানগুলির একটি নির্দিষ্ট সেট থাকে (উদাহরণস্বরূপ, excluded_destinations , availability ) এখন enum ধরণের।