يشرح هذا الدليل كيفية نقل عملية الدمج من خدمتَي 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في واجهة برمجة التطبيقات الفرعية 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.
| وصف الطلب | واجهة برمجة تطبيقات المحتوى في 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}) |
الطُرق
يقارن هذا الجدول بين الطرق من خدمات 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.
| واجهة برمجة تطبيقات المحتوى في 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)، ما يوفّر إعدادات أكثر وضوحًا. |