يشرح هذا الدليل كيفية نقل عملية الدمج من خدمتَي datafeeds و
datafeedstatuses في Content API for Shopping إلى واجهة برمجة التطبيقات الفرعية
"مصادر البيانات" في Merchant API. توفّر واجهة برمجة التطبيقات الفرعية الجديدة "مصادر البيانات" تحكّمًا أكثر مباشرةً في قنوات نقل البيانات وتسهّل إدارة مصادر البيانات.
لمزيد من المعلومات حول الميزات الجديدة، يُرجى الاطّلاع على دليل إدارة مصادر البيانات.
الاختلافات الرئيسية
مقارنةً بـ 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طريقة في واجهة برمجة التطبيقات الفرعية "الحسابات". لمزيد من المعلومات، يُرجى الاطّلاع على مقالة ضبط إعدادات الخلاصة التلقائية.
اختيار استراتيجية مصدر البيانات
أمامك ثلاثة خيارات لإدارة مصادر البيانات:
إنشاء مصدر بيانات واحد في Merchant API لأي تصنيف خلاصة ولغة: استخدِم هذا الخيار لتبسيط الإدارة من خلال استخدام مصدر بيانات واحد يقبل المنتجات بأي any
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)، ما يوفّر إعدادًا أكثر وضوحًا. |