এই নির্দেশিকাটি ব্যাখ্যা করে কিভাবে আপনার ইন্টিগ্রেশনকে Content API for Shopping-এর datafeeds এবং datafeedstatuses সার্ভিসগুলো থেকে Merchant API-এর Data sources সাব-API-তে মাইগ্রেট করবেন। নতুন Data sources সাব-API আপনার ডেটা পাইপলাইনগুলোর উপর আরও সরাসরি নিয়ন্ত্রণ প্রদান করে এবং ডেটা সোর্স ব্যবস্থাপনা সহজ করে তোলে।
নতুন বৈশিষ্ট্যগুলো সম্পর্কে আরও তথ্যের জন্য, আপনার ডেটা উৎস পরিচালনা নির্দেশিকাটি দেখুন।
মূল পার্থক্য
শপিং-এর জন্য কন্টেন্ট এপিআই-এর তুলনায় মার্চেন্ট এপিআই বেশ কিছু সুবিধা প্রদান করে।
সুস্পষ্ট ডেটা সোর্স তৈরি। আপনার প্রথমবার পণ্য যোগ করার সময় এপিআই আর স্বয়ংক্রিয়ভাবে কোনো 'কন্টেন্ট এপিআই' ডেটা সোর্স তৈরি করে না। মার্চেন্ট এপিআই-তে, আপনি পণ্য আপলোড করার আগে ডেটা সোর্সগুলো সুস্পষ্টভাবে তৈরি করেন। এটি আপনাকে শুরু থেকেই আপনার প্রোডাক্ট ডেটা পাইপলাইনের সংগঠন এবং ব্যবস্থাপনার উপর আরও বেশি নিয়ন্ত্রণ দেয়।
একাধিক এপিআই ডেটা সোর্সের জন্য সমর্থন। শপিং-এর কন্টেন্ট এপিআই-তে, আপনি একটিমাত্র, স্বয়ংক্রিয়ভাবে তৈরি "কন্টেন্ট এপিআই" ডেটা সোর্সের মধ্যে সীমাবদ্ধ ছিলেন। মার্চেন্ট এপিআই-এর মাধ্যমে আপনি
APIইনপুট টাইপের একাধিক ডেটা সোর্স তৈরি এবং পরিচালনা করতে পারেন।লেবেল এবং ভাষা ছাড়া ডেটা সোর্স। মার্চেন্ট এপিআই আপনাকে
feedLabelএবংcontentLanguageনির্দিষ্ট না করেই একটি প্রাইমারি ডেটা সোর্স তৈরি করার সুযোগ দেয়। এই ধরনের ডেটা সোর্সfeedLabelএবংcontentLanguageযেকোনো সমন্বয়ে প্রোডাক্ট গ্রহণ করে, যা এমন ইন্টিগ্রেশনগুলোর জন্য প্রোডাক্ট আপলোডকে সহজ করে তোলে, যেগুলোর বিভিন্ন অঞ্চলের জন্য আলাদা ডেটা সোর্সের প্রয়োজন হয় না।ডেটা টার্গেট সরলীকৃত করা হয়েছে। এখন প্রতিটি ডেটা সোর্স একটিমাত্র টার্গেটের সাথে সম্পর্কিত, যা
feedLabelএবংcontentLanguageএর একটি অনন্য সমন্বয় দ্বারা সংজ্ঞায়িত। মার্চেন্ট এপিআই-তে একাধিক ডেটা টার্গেটযুক্ত ফিড এখন আর ব্যবহার করা হয় না।আপনার ডেটা সোর্স কৌশল বেছে নিন। আপনার ডেটা সোর্সগুলো পরিচালনা করার জন্য তিনটি বিকল্প রয়েছে:
বিদ্যমান কন্টেন্ট এপিআই ডেটা সোর্সগুলো রাখুন। আপনি শপিং-এর জন্য কন্টেন্ট এপিআই দিয়ে তৈরি করা ডেটা সোর্সগুলো ব্যবহার করা চালিয়ে যেতে পারেন, কারণ সেগুলো মার্চেন্ট এপিআই-এর সাথে সামঞ্জস্যপূর্ণ। আপনি
dataSources.listব্যবহার করে অথবা মার্চেন্ট সেন্টার UI-এর মধ্যে তাদের রিসোর্স নামগুলো খুঁজে পেতে পারেন। কন্টেন্ট এপিআই প্রাইমারি ডেটা সোর্সগুলো শুধুমাত্র সেই নির্দিষ্টfeedLabelএবংcontentLanguageসমর্থন করে, যা দিয়ে সেগুলো তৈরি করা হয়েছিল। মার্চেন্ট এপিআই ব্যবহার করে পণ্য যোগ করা হলেও, কন্টেন্ট এপিআই ডেটা সোর্সগুলো মার্চেন্ট সেন্টারে "Content API" সোর্স হিসেবে দেখানো হয়। আপনি এগুলোকে নতুন মার্চেন্ট এপিআই ডেটা সোর্সের সাথে একত্রিত করতে পারেন, যেগুলোও নির্দিষ্টfeedLabelএবংcontentLanguageজোড়াকে লক্ষ্য করে তৈরি।প্রতিটি লেবেল এবং ভাষার জন্য নতুন মার্চেন্ট এপিআই ডেটা সোর্স তৈরি করুন। এই অপশনটি ব্যবহার করুন যদি আপনাকে নতুন
feedLabelএবংcontentLanguageকম্বিনেশন সাপোর্ট করতে হয় (এবং তাদের মধ্যে কঠোর পৃথকীকরণ বজায় রাখতে চান) অথবা যদি আপনি এমন ডেটা সোর্স রুলস সেটআপ ব্যবহার করেন যা নির্দিষ্টfeedLabelএবংcontentLanguageউপর নির্ভর করে। আপনার ব্যবহৃত প্রতিটিfeedLabelএবংcontentLanguageজোড়ার জন্য একটি পৃথক ডেটা সোর্স তৈরি করতে হবে।যেকোনো লেবেল এবং ভাষার জন্য একটি একক মার্চেন্ট এপিআই ডেটা সোর্স তৈরি করুন। যেকোনো
feedLabelএবংcontentLanguageসহ পণ্য গ্রহণকারী একটি একক ডেটা সোর্স ব্যবহার করে আপনার ব্যবস্থাপনা সহজ করতে এই বিকল্পটি ব্যবহার করুন। আপনি যদি এই বিকল্পটি বেছে নেন, তাহলে আমরা সুপারিশ করি যে আপনার সমস্ত পণ্য এই নতুন ডেটা সোর্সে স্থানান্তর করুন এবং পণ্যগুলি স্থানান্তরিত হয়ে গেলে আপনার পুরানো কন্টেন্ট এপিআই ডেটা সোর্সগুলি মুছে ফেলুন।
ফাইল আপলোডের জন্য নির্দিষ্ট স্ট্যাটাস। মার্চেন্ট এপিআই একটি পৃথক, রিড-অনলি
fileUploadsরিসোর্স ব্যবহার করে ফাইল-ভিত্তিক ডেটা সোর্সগুলোর স্ট্যাটাস উপস্থাপন করে। কোনো ফাইল আপলোডের স্ট্যাটাস জানতে,latestঅ্যালিয়াসসহ `fileUploads.getমেথডটি ব্যবহার করুন।নতুন ডেটা সোর্স টাইপ।
DataSourceরিসোর্সটি প্রোমোশন, লোকাল ইনভেন্টরি এবং রিজিওনাল ইনভেন্টরি সহ আরও বেশি ভার্টিক্যাল সমর্থন করে, যা আপনার সমস্ত ডেটা পাইপলাইন পরিচালনা করার জন্য একটি সমন্বিত উপায় প্রদান করে।স্বয়ংক্রিয় ডেটা উৎস। মার্চেন্ট এপিআই-এর মাধ্যমে, আপনি এখন অ্যাকাউন্টস সাব-এপিআই-তে থাকা
autofeedSettings.updateAutofeedSettingsমেথডটি ব্যবহার করে আপনার অ্যাকাউন্টের জন্য স্বয়ংক্রিয় ডেটা উৎস ফিচারটি চালু বা বন্ধ করতে পারেন। আরও তথ্যের জন্য, অটোফিড সেটিংস কনফিগার করুন দেখুন।
অনুরোধ
নিম্নলিখিত সারণিতে শপিং-এর জন্য কন্টেন্ট এপিআই এবং মার্চেন্ট এপিআই-এর মধ্যে অনুরোধ ইউআরএল ফরম্যাটগুলির তুলনা করা হয়েছে।
| অনুরোধের বিবরণ | কেনাকাটার জন্য কন্টেন্ট এপিআই | মার্চেন্ট এপিআই |
|---|---|---|
| একটি ডেটা উৎস তৈরি করুন | POST https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds | POST https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources |
| একটি ডেটা উৎস পান | GET https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds/ {DATAFEED_ID} | GET https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} |
| ডেটা উৎসের তালিকা | GET https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds | GET https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources |
| একটি ডেটা উৎস আপডেট করুন | PUT https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds/ {DATAFEED_ID} | PATCH https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} |
| একটি ডেটা উৎস মুছে ফেলুন | DELETE https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds/ {DATAFEED_ID} | DELETE https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} |
| একটি ডেটা উৎস আনুন | POST https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds/ {DATAFEED_ID} /fetchNow | POST https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} :fetch |
| ডেটা উৎসের অবস্থা জানুন | GET https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeedstatuses/ {DATAFEED_ID} | GET https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} /fileUploads/latest |
| ডেটা উৎসের স্থিতি তালিকাভুক্ত করুন | GET https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeedstatuses | উপলব্ধ নয়। প্রতিটি ফাইল-ভিত্তিক ডেটা সোর্সের জন্য dataSources.list এবং fileUploads.get ব্যবহার করুন। |
শনাক্তকারী
মার্চেন্ট এপিআই শনাক্তকারী হিসেবে একটি স্ট্রিং-ভিত্তিক রিসোর্স নাম ব্যবহার করে।
| শনাক্তকারী বিবরণ | কেনাকাটার জন্য কন্টেন্ট এপিআই | মার্চেন্ট এপিআই |
|---|---|---|
| ডেটা উৎস শনাক্তকারী | datafeedId (সংখ্যাসূচক) | name (স্ট্রিং, ফরম্যাট: accounts/{account}/dataSources/{datasource} ) |
পদ্ধতি
এই সারণিতে শপিং datafeeds এবং datafeedstatuses পরিষেবাগুলোর জন্য কন্টেন্ট এপিআই-এর পদ্ধতিগুলোকে মার্চেন্ট এপিআই-এর সমতুল্য পদ্ধতিগুলোর সাথে তুলনা করা হয়েছে।
| শপিং পদ্ধতির জন্য কন্টেন্ট এপিআই | মার্চেন্ট এপিআই পদ্ধতি | প্রাপ্যতা এবং নোট |
|---|---|---|
datafeeds.custombatch | উপলব্ধ নয় | এর পরিবর্তে স্বতন্ত্র এপিআই কল ব্যবহার করুন। |
datafeeds.delete | dataSources.delete | উপলব্ধ। |
datafeeds.fetchnow | dataSources.fetch | উপলব্ধ। এই পদ্ধতিটি এখন শুধুমাত্র ফাইল ইনপুটযুক্ত ডেটা সোর্সের জন্য কাজ করে। |
datafeeds.get | dataSources.get | উপলব্ধ। |
datafeeds.insert | dataSources.create | উপলব্ধ। |
datafeeds.list | dataSources.list | উপলব্ধ। |
datafeeds.update | dataSources.update | উপলব্ধ। PUT এর পরিবর্তে PATCH সেম্যান্টিকস ব্যবহার করে। |
datafeedstatuses.custombatch | উপলব্ধ নয় | এর পরিবর্তে স্বতন্ত্র এপিআই কল ব্যবহার করুন। আরও বিস্তারিত জানতে ‘একসাথে একাধিক অনুরোধ পাঠান’ দেখুন। |
datafeedstatuses.get | fileUploads.get | ফাইল-ভিত্তিক ডেটা সোর্সের জন্য উপলব্ধ। সর্বশেষ আপলোডের স্ট্যাটাস জানতে latest অ্যালিয়াসটি ব্যবহার করুন। অন্যান্য ডেটা সোর্স টাইপের জন্য, স্ট্যাটাস সংক্রান্ত তথ্য DataSource রিসোর্সের অংশ হিসেবে থাকে। |
datafeedstatuses.list | উপলব্ধ নয় | একাধিক ডেটা সোর্সের স্ট্যাটাস জানতে, প্রথমে dataSources.list ব্যবহার করে সমস্ত ডেটা সোর্সের তালিকা তৈরি করুন। তারপর প্রতিটি ফাইল-ভিত্তিক ডেটা সোর্সের জন্য latest অ্যালিয়াস ব্যবহার করে fileUploads.get কল করুন। |
বিস্তারিত ক্ষেত্রের পরিবর্তন
এই সারণিটি শপিং-এর কন্টেন্ট এপিআই-এর Datafeed ও DatafeedStatus রিসোর্স এবং মার্চেন্ট এপিআই-এর DataSource ও FileUpload রিসোর্সগুলোর মধ্যেকার ফিল্ড-স্তরের পরিবর্তনগুলো দেখায়।
| কেনাকাটার জন্য কন্টেন্ট এপিআই | মার্চেন্ট এপিআই | বর্ণনা |
|---|---|---|
Datafeed | DataSource | ডেটা উৎস কনফিগারেশনের প্রধান রিসোর্স। |
id | name | রিসোর্স আইডেন্টিফায়ার। সংখ্যাসূচক আইডি থেকে স্ট্রিং রিসোর্স নামে পরিবর্তন করা হয়েছে। |
name | displayName | ডেটা উৎসের ব্যবহারকারী-মুখী নাম। |
attributeLanguage | primaryProductDataSource.contentLanguage | ডেটা সোর্সের আইটেমগুলোর দুই-অক্ষরের ISO 639-1 ভাষা কোড। |
fileName | fileInput.fileName | আপলোড করা ফাইলের নাম। এই ফিল্ডটি এখন fileInput অধীনে রয়েছে। |
fetchSchedule | fileInput.fetchSettings | ফাইল-ভিত্তিক ডেটা উৎস থেকে ডেটা আনার সময়সূচী। এটি এখন fileInput অধীনে রয়েছে। |
fetchSchedule.paused | fileInput.fetchSettings.enabled | যুক্তিটি উল্টো। paused: true enabled: false এর সমতুল্য। |
format | উপলব্ধ নয় | fileEncoding , columnDelimiter , এবং quotingMode ফিল্ডগুলো সরিয়ে ফেলা হয়েছে। এগুলো এখন স্বয়ংক্রিয়ভাবে শনাক্ত করা হয়। |
targets | primaryProductDataSource.feedLabel , primaryProductDataSource.contentLanguage , primaryProductDataSource.countries | পুনরাবৃত্ত targets ফিল্ডটি সরিয়ে ফেলা হয়েছে। এখন প্রতিটি ডেটা সোর্সের জন্য এই ফিল্ডগুলো দ্বারা সংজ্ঞায়িত একটিমাত্র টার্গেট থাকবে, যা মাল্টি-ডেটা-টার্গেট ফিডের বিলুপ্তি প্রতিফলিত করে। |
DatafeedStatus | FileUpload | ফাইল আপলোডের স্ট্যাটাস এখন একটি পৃথক, শুধুমাত্র পঠনযোগ্য রিসোর্স। |
datafeedId | name | ফাইল আপলোডের শনাক্তকারী, যা এর মূল ডেটা উৎসকে নির্দেশ করে। |
processingStatus | processingState | আপলোডের প্রক্রিয়াকরণের অবস্থা। স্ট্রিং মানগুলি ( success , failure , in progress ) একটি enum ( SUCCEEDED , FAILED , IN_PROGRESS ) দ্বারা প্রতিস্থাপিত হয়। |
errors , warnings | issues | ত্রুটি এবং সতর্কীকরণ বার্তাগুলোকে একটি একক issues তালিকায় একত্রিত করা হয়েছে। প্রতিটি ইস্যুর একটি severity ক্ষেত্র ( ERROR বা WARNING ) রয়েছে। |
lastUploadDate | uploadTime | সর্বশেষ আপলোডের টাইমস্ট্যাম্প। ফরম্যাটটি স্ট্রিং থেকে Timestamp অবজেক্টে পরিবর্তিত হয়েছে। |
country , language , feedLabel | প্রযোজ্য নয় | এই ফিল্ডগুলো এখন আর স্ট্যাটাস রিসোর্সের অন্তর্ভুক্ত নয়। এগুলো এখন DataSource রিসোর্সের অংশ। |
targets[].included_destinations , targets[].excluded_destinations | primaryProductDataSource.destinations | অন্তর্ভুক্ত এবং বর্জিত গন্তব্যস্থলের জন্য থাকা দুটি পৃথক তালিকার পরিবর্তে একটি একক destinations তালিকা ব্যবহার করা হয়েছে। নতুন তালিকার প্রতিটি আইটেম একটি অবজেক্ট, যা গন্তব্যস্থল এবং তার অবস্থা ( ENABLED বা DISABLED ) নির্দিষ্ট করে, ফলে আরও সুস্পষ্ট কনফিগারেশনের সুযোগ পাওয়া যায়। |