يشرح هذا الدليل كيفية نقل عملية الدمج من خدمتَي datafeeds و
datafeedstatuses في Content API for Shopping إلى واجهة برمجة التطبيقات الفرعية
Data Sources في Merchant API. توفّر واجهة برمجة التطبيقات الفرعية الجديدة Data Sources تحكّمًا أكثر مباشرةً في مسارات البيانات وتسهّل إدارة مصادر البيانات.
لمزيد من المعلومات عن الميزات الجديدة، يُرجى الاطّلاع على دليل إدارة مصادر البيانات.
الاختلافات الرئيسية
مقارنةً بـ Content API for Shopping، يقدّم Merchant API عدة مزايا:
إنشاء مصدر بيانات بشكل صريح: لم تعُد واجهة برمجة التطبيقات تنشئ تلقائيًا مصدر بيانات "Content API" عند إدراج أول منتج. في Merchant API، يمكنك إنشاء مصادر بيانات بشكل صريح قبل أن تتمكّن من تحميل المنتجات إليها. يمنحك ذلك تحكّمًا أكبر في تنظيم وإدارة مسارات بيانات منتجاتك منذ البداية.
إتاحة مصادر بيانات متعددة لواجهة برمجة التطبيقات: في Content API for Shopping، كان بإمكانك استخدام مصدر بيانات واحد فقط تم إنشاؤه تلقائيًا وهو "Content API". باستخدام Merchant API، يمكنك إنشاء وإدارة مصادر بيانات متعددة من نوع الإدخال
API.مصادر البيانات بدون تصنيف ولغة: تتيح لك Merchant API إنشاء مصدر بيانات أساسي بدون تحديد
feedLabelوcontentLanguage. يقبل هذا النوع من مصادر البيانات المنتجات بأي مجموعة منfeedLabelوcontentLanguage، ما يسهّل عمليات تحميل المنتجات لعمليات الدمج التي لا تتطلب مصادر بيانات منفصلة لمناطق مختلفة.أهداف بيانات مبسّطة: يتوافق كل مصدر بيانات الآن مع هدف واحد، يتم تحديده من خلال مجموعة فريدة من
feedLabelوcontentLanguage. تم إيقاف الخلاصات التي تستهدف بيانات متعددة في Merchant API.حالة مخصّصة لتحميل الملفات: تعرض Merchant API حالة مصادر البيانات المستندة إلى الملفات باستخدام مورد
fileUploadsمنفصل للقراءة فقط. لاسترداد حالة تحميل ملف، استخدِم طريقةfileUploads.getمع الاسم المستعارlatest.أنواع جديدة من مصادر البيانات: يتيح مورد
DataSourceاستخدام المزيد من القطاعات، بما في ذلك العروض الترويجية والمخزون المحلي والمخزون الإقليمي، ما يوفّر طريقة موحّدة لإدارة جميع مسارات البيانات.مصادر البيانات المُبرمَجة: باستخدام Merchant API، يمكنك الآن تفعيل ميزة مصادر البيانات المُبرمَجة أو إيقافها لحسابك باستخدام
autofeedSettings.updateAutofeedSettingsطريقة في واجهة برمجة التطبيقات الفرعية Accounts. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة إعدادات الخلاصة التلقائية.
اختيار استراتيجية مصدر البيانات
أمامك ثلاثة خيارات لإدارة مصادر البيانات:
إنشاء مصدر بيانات واحد في Merchant API لأي تصنيف خلاصة ولغة. استخدِم هذا الخيار لتسهيل الإدارة من خلال استخدام مصدر بيانات واحد يقبل المنتجات بأي أي
feedLabelوcontentLanguage. في إعداد Content API القديم، يمكنك تحديد قواعد لتصنيفات ولغات معيّنة من خلال مصادر بيانات منفصلة، وإدراج المنتجات في مصدر البيانات الذي يتضمّن القواعد المستهدَفة المقابلة. إذا اخترت هذا الخيار، ننصحك بنقل جميع منتجاتك إلى مصدر البيانات الجديد وإزالة مصادر بيانات Content API بعد نقل جميع منتجاتك.إنشاء مصادر بيانات جديدة في Merchant API لكل تصنيف ولغة: استخدِم هذا الخيار إذا كنت بحاجة إلى إتاحة مجموعات جديدة من
feedLabelوcontentLanguage(وتفضّل الفصل التام بينهما) أو إذا كنت تستخدم إعداد قواعد مصدر البيانات الذي يعتمد علىfeedLabelوcontentLanguageمعيّنتَين. عليك إنشاء مصدر بيانات منفصل لكل زوج منfeedLabelوcontentLanguageتستخدمه. يمكنك دمج مصادر بيانات Merchant API مع مصادر البيانات التي تم إنشاؤها باستخدام Content API for Shopping.
- الاحتفاظ بمصادر بيانات Content API الحالية: يمكنك الاستمرار في استخدام مصادر البيانات التي تم إنشاؤها باستخدام Content API for Shopping، لأنّها متوافقة مع Merchant API. يمكنك العثور على أسماء الموارد باستخدام
dataSources.listأو ضمن واجهة مستخدم Merchant Center. لا تتيح مصادر البيانات الأساسية في Content API سوىfeedLabelوcontentLanguageالمحدّدتَين اللتين تم إنشاؤها بهما. تظهر مصادر بيانات Content API في Merchant Center مع مصدر "Content API" حتى إذا تم إدراج المنتجات باستخدام Merchant API. يمكنك دمجها مع مصادر بيانات جديدة في Merchant API تستهدف أيضًا أزواجًا معيّنة منfeedLabelوcontentLanguage.
ننصحك بملء قاعدة بيانات منتجاتك المحلية، من خلال تخزين أسماء
جميع مصادر البيانات الأساسية مرة واحدة لكل منتج من منتجاتك لتجنُّب طلبات
dataSources.list
المتكررة.
الطلبات
يقارن الجدول التالي بين تنسيقات عناوين URL للطلبات بين Content API for Shopping وMerchant API.
| وصف الطلب | Content API for Shopping | Merchant API |
|---|---|---|
| إنشاء مصدر بيانات | 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 لكل مصدر بيانات مستند إلى ملف. |
المعرّفات
تستخدم Merchant API اسم مورد مستندًا إلى سلسلة كمعرّف.
| وصف المعرّف | Content API for Shopping | Merchant API |
|---|---|---|
| معرّف مصدر البيانات | datafeedId (رقمي) |
name (سلسلة، التنسيق: accounts/{account}/dataSources/{datasource}) |
الطُرق
يقارن هذا الجدول بين الطرق من خدمتَي datafeeds
و datafeedstatuses في Content API for Shopping والطرق المقابلة لها في Merchant API.
| طريقة Content API for Shopping | طريقة Merchant API | مدى التوفّر والملاحظات |
|---|---|---|
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 |
متوفرة. تستخدِم دلالات PATCH بدلاً من PUT. |
datafeedstatuses.custombatch |
غير متوفرة | استخدِم طلبات فردية لواجهة برمجة التطبيقات بدلاً من ذلك. لمزيد من التفاصيل، يُرجى الاطّلاع على مقالة إرسال طلبات متعددة في وقت واحد. |
datafeedstatuses.get |
fileUploads.get |
متوفرة لمصادر البيانات المستندة إلى ملفات. استخدِم الاسم المستعار latest للحصول على حالة آخر عملية تحميل. بالنسبة إلى أنواع مصادر البيانات الأخرى، تكون معلومات الحالة جزءًا من مورد DataSource. |
datafeedstatuses.list |
غير متوفرة | للحصول على حالة مصادر بيانات متعددة، ابدأ بعرض قائمة بجميع مصادر البيانات باستخدام dataSources.list. بعد ذلك، استخدِم fileUploads.get مع الاسم المستعار latest لكل مصدر بيانات مستند إلى ملف. |
التغييرات التفصيلية على مستوى الحقول
يعرض هذا الجدول التغييرات على مستوى الحقول بين مَوردَي Datafeed و
DatafeedStatus في Content API for Shopping ومَوردَي DataSource
و FileUpload في Merchant API.
| Content API for Shopping | Merchant API | الوصف |
|---|---|---|
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) بتعداد (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)، ما يوفّر إعدادًا أكثر وضوحًا. |