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