সর্বোত্তম অনুশীলন

এই নথিটি সর্বোত্তম অনুশীলনের জন্য নির্দেশিকা প্রদান করে। আরও তথ্যের জন্য পারফরম্যান্স টিপস দেখুন।

কখন এপিআই ব্যবহার করতে হবে

প্রোগ্রাম্যাটিকভাবে অনুরোধ পাঠাতে

আপনি আপনার কর্মপ্রবাহের প্রতিটি অংশ স্বয়ংক্রিয় করতে চান, অথবা আপনার ERP (এন্টারপ্রাইজ রিসোর্স প্ল্যানিং) সিস্টেমে একটি সংযোগ তৈরি করতে চান, কন্টেন্ট এপিআই আপনাকে আপনার ইনভেন্টরি পরিবর্তিত হওয়ার সাথে সাথেই আপডেট পাঠাতে সাহায্য করে।

তাৎক্ষণিক প্রতিক্রিয়া পেতে

কন্টেন্ট এপিআই-তে, ডেটা ফিডগুলো প্রসেস হওয়ার পর ইমেল সারাংশের মাধ্যমে পাওয়ার পরিবর্তে, আপনি প্রতিটি অনুরোধের প্রতিক্রিয়া তাৎক্ষণিকভাবে পেয়ে যান। বড় আকারের ব্যাচ অনুরোধের ক্ষেত্রে পাঁচ থেকে দশ সেকেন্ডের লেটেন্সি প্রত্যাশিত।

আপনার পণ্যের ডেটা ঘন ঘন পরিবর্তন করতে

কন্টেন্ট এপিআই (Content API) ব্যবহার করে আপনি দিনে অনেকবার আপনার দ্রুত পরিবর্তনশীল পণ্যের ইনভেন্টরিতে পর্যায়ক্রমিক আপডেট করতে পারেন, যেখানে প্রতিবার আপনার সম্পূর্ণ ডেটা ফিড পাঠানো সম্ভব নয়। যদি আপডেটগুলো আলাদাভাবে উপলব্ধ হয়, তবে সেগুলো আলাদাভাবেই পাঠান; একসাথে অনেকগুলো আপডেট জমা হওয়া পর্যন্ত অপেক্ষা করবেন না। একইভাবে, যদি আপডেটগুলো ব্যাচ আকারে উপলব্ধ হয়, তবে সেগুলো ব্যাচ আকারেই পাঠান; সেগুলোকে আলাদা আলাদা অনুরোধে ভাগ করবেন না।

একাধিক সাব-অ্যাকাউন্ট পরিচালনা করতে

নতুন তৈরি করা মার্চেন্ট সেন্টার অ্যাকাউন্টগুলো একক অ্যাকাউন্ট, যেগুলোতে নিজস্ব পণ্যের ডেটা থাকে। বেশিরভাগ ক্ষেত্রে এটি ভালোভাবে কাজ করে, কিন্তু আপনার অ্যাকাউন্ট বড় হওয়ার সাথে সাথে, আপনি হয়তো দেখবেন যে আপনার পণ্যগুলোর জন্য আরও জটিল একটি ম্যানেজমেন্ট সিস্টেমের প্রয়োজন। যদি আপনার ক্ষেত্রে এমনটা হয়, তবে একটি মাল্টি-ক্লায়েন্ট অ্যাকাউন্ট বা এমসিএ (MCA) ব্যবহার করার কথা বিবেচনা করতে পারেন। একটি এমসিএ অ্যাকাউন্টের এপিআই-লেভেল ম্যানেজমেন্ট ‘অ্যাকাউন্টস’ সার্ভিসের মাধ্যমে করা যায় এবং এটি প্রোগ্রাম্যাটিকভাবে সাব-অ্যাকাউন্ট যোগ ও পরিচালনা করার সুযোগ দেয়। কীভাবে একটি এমসিএ অ্যাকাউন্ট পাওয়া যাবে সে সম্পর্কে আরও তথ্য এখানে পাওয়া যাবে।

এপিআই কীভাবে ব্যবহার করবেন

ডেটা ফিড যেভাবে ব্যবহার করেন, সেভাবে এপিআই ব্যবহার করবেন না।

products রিসোর্স ব্যবহার করার সময় আপনার সম্পূর্ণ প্রোডাক্ট ফিড প্রতিদিন আপডেট করা থেকে বিরত থাকুন। এর পরিবর্তে, শুধুমাত্র সেই প্রোডাক্টগুলো নির্দিষ্টভাবে আপডেট করুন, যেগুলোর ডেটা প্রকৃতপক্ষে পরিবর্তিত হয়েছে। products রিসোর্সের মাধ্যমে আপনার সম্পূর্ণ ডেটা ফিড পাঠানো গুগল এবং আপনার উভয়ের জন্যই বেশি সময় ও রিসোর্স ব্যয় করে।

আপনার আপলোড করা পণ্যের তথ্য নিয়মিতভাবে পুনরুদ্ধার করতে এপিআই ব্যবহার করবেন না।

আপনি যদি কোনো নির্দিষ্ট মার্চেন্ট সেন্টার অ্যাকাউন্টের পণ্যের তথ্য রক্ষণাবেক্ষণের দায়িত্বে থাকেন, তবে নিয়মিতভাবে products.get বা products.list মেথডের মাধ্যমে কন্টেন্ট এপিআই থেকে পণ্যের তথ্য অনুরোধ করা থেকে বিরত থাকুন। যেসব ক্লায়েন্ট তথ্য আপলোড করে, কন্টেন্ট এপিআই ব্যবহার করে এমন সলিউশন ডিজাইন করার সময় এই মেথডগুলো আপনাকে সমস্যা ডিবাগ করতে সাহায্য করতে পারে। তবে, এই ধরনের ক্লায়েন্টদের দ্বারা নিয়মিত পণ্যের তথ্য সংগ্রহের জন্য এগুলো তৈরি করা হয়নি। আপনার পণ্যের তথ্যের জন্য অন্য কোনো উৎস থাকা উচিত, যেমন একটি স্থানীয় প্রোডাক্ট ডেটাবেস, এবং মার্চেন্ট সেন্টারের পণ্যগুলো সেই উৎসের তথ্যই প্রতিফলিত করবে।

প্রোডাক্ট আইটেম জমা দেওয়ার জন্য ডেটা ফিড এবং কন্টেন্ট এপিআই উভয়ই ব্যবহার করবেন না।

আপনি যদি আইটেম জমা দেওয়ার জন্য এপিআই (API) ব্যবহারের কথা ভেবে থাকেন, তবে নিশ্চিত করুন যে আপনি পণ্য আইটেম জমা দেওয়ার জন্য আর ডেটা ফিড ব্যবহার করছেন না। যদি আপনি উভয় মাধ্যমেই আইটেম জমা দিতে থাকেন, তবে অপ্রত্যাশিত ফলাফল দেখা দিতে পারে।

এমন কোনো উপায় আছে কি যার মাধ্যমে আমি নিরাপদে এপিআই এবং ডেটা ফিড একসাথে ব্যবহার করতে পারি?

আপনি এপিআই-এর ডেটাফিড সার্ভিস ব্যবহার করে আপনার ডেটা ফিডগুলো পরিচালনা করতে পারেন। যদিও এটি বৃহৎ পরিসরে ডেটা ফিড ব্যবস্থাপনা অনেক সহজ করে তুলবে, মনে রাখবেন যে ফিডের সাথে একই সময়ে এপিআই ব্যবহার করে পণ্য যোগ বা আপডেট করা উচিত নয়, কারণ এতে অপ্রত্যাশিত ফলাফল ঘটতে পারে।

ফিড এবং এপিআই একসাথে ব্যবহার করার গ্রহণযোগ্য উপায়গুলোর আরও কিছু উদাহরণ হলো:

  • এপিআই থেকে শুধুমাত্র পঠনযোগ্য অনুরোধ (গেট বা লিস্ট) কার্যকর করা: কিছু ব্যবসায়ী তাদের পণ্যের তথ্য এবং স্ট্যাটাস আপডেট পেতে এপিআই ব্যবহার করতে চান। এটি গ্রহণযোগ্য, কারণ পণ্যের তথ্য কেবল ফিডের মাধ্যমেই আপডেট হয়।

  • আপনার সাব-অ্যাকাউন্ট ( অ্যাকাউন্টস সার্ভিস ) এবং/অথবা অ্যাকাউন্ট-স্তরের ট্যাক্স ও শিপিং সেটিংস ( অ্যাকাউন্টট্যাক্স সার্ভিস এবং শিপিংসেটিংস সার্ভিস ) পরিচালনা করতে এপিআই ব্যবহার করুন। এই ফাংশনগুলো ডেটাফিডস প্রদান করতে পারে না, তাই এই ফাংশনগুলো পরিচালনা করার জন্য এপিআই ব্যবহারে কোনো বিরোধ নেই।

আমি কীভাবে ডেটা ফিড ব্যবহার করা থেকে শুধু এপিআই ব্যবহারে অথবা এর বিপরীত দিকে যেতে পারি?

আপনি যদি বর্তমানে ডেটা ফিড ব্যবহার করেন এবং পণ্য আপডেট করার জন্য শুধুমাত্র এপিআই (API) ব্যবহার করতে চান, তাহলে আপনাকে এপিআই-এর মাধ্যমে আপনার পণ্যের ডেটা পুনরায় আপলোড করতে হবে। যখন আপনি কোনো নির্দিষ্ট পণ্য আপডেট করার জন্য প্রোডাক্টস সার্ভিস ব্যবহার করেন, তখন এপিআই পণ্যের তথ্যের নিয়ন্ত্রণ নিয়ে নেয়, এবং ডেটা ফিড থেকে পণ্যটি মুছে ফেললে বা ডেটা ফিডটি নিজেই মুছে ফেললেও আপনার মার্চেন্ট সেন্টার অ্যাকাউন্ট থেকে পণ্যের তথ্য আর মুছে যাবে না। আপনি যদি ডেটা ফিড থেকে পণ্যটি বা ডেটা ফিডটি সরাতে চান, তাহলে নিশ্চিত করুন যে কোনো ডেটা ফিড আপডেট নেই, অন্যথায় ডেটা ফিডটি আবার মালিকানা নিয়ে নেবে এবং ডেটা ফিড থেকে পণ্যটি সরালে পণ্যটি মুছে যাবে।

আপনি যদি বর্তমানে পণ্যের তথ্যের জন্য শুধুমাত্র এপিআই (API) ব্যবহার করেন এবং ডেটা ফিডকে আপনার তথ্যের প্রধান উৎস হিসেবে ব্যবহার করতে চান, তাহলে আপনি সহজেই আপনার মার্চেন্ট সেন্টার অ্যাকাউন্টে নতুন ডেটা ফিডটি যোগ করতে পারেন এবং তারা তাদের তালিকাভুক্ত পণ্যগুলোর মালিকানা গ্রহণ করবে। যদি এমন কোনো পণ্য থাকে যা আপনি মেয়াদ শেষ হওয়ার আগে সরাতে চান এবং যা শুধুমাত্র এপিআই (API) থেকে আপলোড করা হয়েছিল, তাহলে আপনাকে অবশ্যই সেগুলো মার্চেন্ট সেন্টার অথবা এপিআই (API)-এর মাধ্যমে ডিলিট করতে হবে।

শপিং-এর জন্য কন্টেন্ট এপিআই ব্যবহার করে আমি কীভাবে একাধিক দেশে পণ্য টার্গেট করতে পারি?

কন্টেন্ট এপিআই (Content API)-এর মাধ্যমে জমা দেওয়া পণ্যগুলির জন্য বিজ্ঞাপন এবং বিনামূল্যে তালিকা একাধিক দেশে পৌঁছে দিতে, মার্চেন্ট সেন্টারে (Merchant Center) কন্টেন্ট এপিআই প্রাইমারি ফিডে (Content API primary feed) অতিরিক্ত দেশগুলি কনফিগার করুন অথবা products resource) শিপিং ফিল্ডের shipping field) মাধ্যমে সেই অতিরিক্ত দেশগুলি যোগ করুন।

কন্টেন্ট এপিআই প্রাইমারি ফিড সেটিংস কীভাবে পরিবর্তন করতে হয় তার একটি উদাহরণ নিচে দেওয়া হলো।

আরও তথ্যের জন্য দেখুন: একাধিক দেশে শপিং বিজ্ঞাপন এবং বিনামূল্যের তালিকা টার্গেট করা

আপনার ক্লায়েন্ট লাইব্রেরিগুলো হালনাগাদ আছে কিনা তা নিশ্চিত করুন।

আপনি যদি কন্টেন্ট এপিআই (Content API)-এর সাথে ইন্টারঅ্যাক্ট করার জন্য কোনো গুগল ক্লায়েন্ট লাইব্রেরি ব্যবহার করেন, তাহলে আপনার নির্বাচিত প্রোগ্রামিং ভাষার জন্য প্যাকেজ ম্যানেজার ব্যবহার করুন এবং নিশ্চিত করুন যে লাইব্রেরির সংস্করণটি হালনাগাদ আছে। আরও তথ্যের জন্য, স্যাম্পলস অ্যান্ড লাইব্রেরিস (Samples and Libraries)- এ আপনার নির্বাচিত ভাষার ডেভেলপারস গাইড দেখুন।

বিভিন্ন শপিং প্রোগ্রামে কোন পণ্যগুলো প্রদর্শিত হবে তা নিয়ন্ত্রণ করতে ডেস্টিনেশন অ্যাট্রিবিউটগুলো ব্যবহার করতে ভুলবেন না।

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

যদি আপনার API ফিড কোনো প্রোগ্রামে, যেমন 'বাই অন গুগল' (পূর্বে 'শপিং অ্যাকশনস' নামে পরিচিত), অন্তর্ভুক্ত করা থাকে, কিন্তু আপনি নির্দিষ্ট কিছু পণ্য বাদ দিতে চান, তাহলে excludedDestinations ' অ্যাট্রিবিউটটি ব্যবহার করুন এবং ভ্যালু হিসেবে Shopping Actions ' উল্লেখ করুন। কোনো ত্রুটি না থাকলে, এটি মার্চেন্ট সেন্টারের ডিফল্ট ফিড সেটিংস ওভাররাইট করে দেবে এবং সেই নির্দিষ্ট আইটেমটি 'বাই অন গুগল' (পূর্বে 'শপিং অ্যাকশনস' নামে পরিচিত)-এ প্রদর্শিত হবে না। অন্যদিকে, যদি আপনার ফিড কোনো প্রোগ্রামে, যেমন 'শপিং'-এ, অন্তর্ভুক্ত না থাকে, তাহলে আপনি includedDestinations অ্যাট্রিবিউটটি ব্যবহার করে এবং ভ্যালু হিসেবে Shopping_ads উল্লেখ করে আলাদা আলাদা আইটেম অন্তর্ভুক্ত করতে পারেন এবং আইটেমটি 'শপিং অ্যাডস'-এ প্রদর্শিত হবে।

includedDestinations এবং excludedDestinations প্রোডাক্ট অ্যাট্রিবিউটগুলো সম্পর্কে আরও তথ্যের জন্য, হেল্প সেন্টার দেখুন।

মেয়াদ শেষ হওয়ার আগেই আইটেমগুলো আপডেট করে নিন।

যদি কোনো আইটেম তার মেয়াদ শেষ হওয়ার আগে, শেষ আপডেটের ৩০ দিন পর অথবা তার আগে নির্দিষ্ট মেয়াদ শেষ হওয়ার তারিখে পরিবর্তিত না হয়, তবে আইটেমটি নিষ্ক্রিয় হওয়া এড়াতে আপডেট করুন। যদি আপনাকে অনেকগুলো আইটেম আপডেট করতে হয়, কারণ সেগুলোর কোনোটিই পরিবর্তিত হয়নি অথবা আপনি ট্র্যাক করতে পারছেন না যে সেগুলো শেষ কবে আপডেট করা হয়েছিল, তবে সবগুলো আইটেম একসাথে আপডেট না করে, একাধিক দিন ধরে সমানভাবে কাজটি ভাগ করে দিন।

কন্টেন্ট এপিআই ফিডটি ডিলিট করবেন না, নইলে আপনার প্রোডাক্টগুলো অদৃশ্য হয়ে যেতে পারে।

আপনি যখন প্রথমবার কন্টেন্ট এপিআই (Content API) ব্যবহার করে channel:online সহ কোনো প্রোডাক্ট আপলোড করবেন, তখন মার্চেন্ট সেন্টারে 'Content API' শিরোনামে একটি নতুন ফিড দেখা যাবে। আপনি যখন প্রথমবার কন্টেন্ট এপিআই (Content API) ব্যবহার করে channel:local সহ কোনো প্রোডাক্ট আপলোড করবেন, তখন মার্চেন্ট সেন্টারে 'Content API' শিরোনামে একটি নতুন ফিড দেখা যাবে, যার উপশিরোনাম হবে ' Local Products' । খেয়াল রাখবেন যেন আপনি ভুলবশত অনলাইন বা লোকাল কন্টেন্ট এপিআই (Content API) ফিডটি ডিলিট না করে ফেলেন। আপনি কোন ফিডটি ডিলিট করছেন তার উপর নির্ভর করে, কন্টেন্ট এপিআই (Content API) ব্যবহার করে মার্চেন্ট সেন্টারে যোগ করা আপনার অনলাইন বা লোকাল প্রোডাক্টগুলো মুছে যাবে।

কাস্টমব্যাচ পদ্ধতি ব্যবহার করে একই সার্ভিসে একাধিক অনুরোধ ব্যাচ করুন।

একই সার্ভিসে একাধিক ধারাবাহিক বা সমান্তরাল অনুরোধ পাঠানোর পরিবর্তে, একটিমাত্র কাস্টমব্যাচ অনুরোধ পাঠান যাতে আপনার প্রয়োজনীয় সমস্ত অনুরোধ অন্তর্ভুক্ত থাকে। এইভাবে, এপিআই এন্ডপয়েন্টে অনুরোধ পাঠানোর ল্যাটেন্সি প্রতিটি স্বতন্ত্র অনুরোধের পরিবর্তে শুধুমাত্র কাস্টমব্যাচ কলের জন্য একবারই ঘটে, যা ধারাবাহিক অনুরোধ পাঠানোর ক্ষেত্রে বিশেষভাবে গুরুত্বপূর্ণ।

একই ব্যাচে একটি আইটেমে একাধিক আপডেট পাঠাবেন না।

আপডেটগুলির ক্রম সম্পর্কে অনিশ্চয়তার কারণে এটি অপ্রত্যাশিত ফলাফল দেবে এবং একটি দ্বন্দ্ব ত্রুটি ঘটাতে পারে।

অপরিবর্তিত আইটেমগুলির জন্য আপডেট পাঠাবেন না।

নিশ্চিত করুন যে আপনি শুধুমাত্র নতুন, পরিবর্তিত বা মুছে ফেলা পণ্যের জন্যই অনুরোধ পাঠাচ্ছেন, যদি না অন্যথায় পণ্যগুলোর মেয়াদ শেষ হয়ে যায়।

দাম এবং/অথবা প্রাপ্যতা দ্রুত পরিবর্তিত হলে সম্পূরক খাদ্য ব্যবহার করুন।

যদি কোনো পণ্যের মূল্য, প্রাপ্যতা বা বিক্রয়ের তথ্য হালনাগাদ রাখতে আপনার সমস্যা হয়, তবে শুধুমাত্র সেই বৈশিষ্ট্যগুলোর আপডেট পাঠানোর জন্য products রিসোর্সের সাপ্লিমেন্টাল ফিড ব্যবহার করার কথা বিবেচনা করতে পারেন। যেহেতু সাপ্লিমেন্টাল ফিডের আপডেটগুলো ছোট হয়, তাই আপনি একটি নির্দিষ্ট সময়ে সম্পূর্ণ প্রোডাক্ট আপডেটের চেয়ে অনেক বেশি সাপ্লিমেন্টাল ফিড আপডেট করতে পারবেন, যা আপনার পণ্যের মূল্য এবং প্রাপ্যতাকে আপনার ল্যান্ডিং পেজগুলোর সাথে সামঞ্জস্যপূর্ণ রাখতে সাহায্য করবে।

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

কখন রিফ্রেশ টোকেন ব্যবহার করবেন

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