يوضّح هذا الدليل كيفية نقل عملية التكامل من 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.اختيار استراتيجية مصدر البيانات: تتوفّر لك ثلاثة خيارات لإدارة مصادر البيانات:
الاحتفاظ بمصادر بيانات 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.إنشاء مصادر بيانات جديدة في Merchant API لكل تصنيف ولغة: استخدِم هذا الخيار إذا كنت بحاجة إلى إتاحة مجموعات جديدة من
feedLabelوcontentLanguage(وتفضّل الفصل التام بينهما) أو إذا كنت تستخدم إعداد قواعد مصدر البيانات الذي يعتمد علىfeedLabelوcontentLanguageمحدّدين. عليك إنشاء مصدر بيانات منفصل لكل زوج منfeedLabelوcontentLanguageتستخدمه.إنشاء مصدر بيانات واحد في Merchant API لأي تصنيف ولغة: استخدِم هذا الخيار لتسهيل الإدارة من خلال استخدام مصدر بيانات واحد يقبل المنتجات التي تتضمّن أيّ
feedLabelوcontentLanguage. إذا اخترت هذا الخيار، ننصحك بنقل جميع منتجاتك إلى مصدر البيانات الجديد هذا وإزالة مصادر بيانات Content API القديمة بعد نقل المنتجات.
حالة تحميل ملف مخصّصة: تعرض Merchant API حالة مصادر البيانات المستندة إلى الملفات باستخدام مورد
fileUploadsمنفصل للقراءة فقط. لاسترداد حالة تحميل ملف، استخدِم طريقةfileUploads.getمع الاسم المستعارlatest.أنواع جديدة من مصادر البيانات: يتيح مورد
DataSourceاستخدام المزيد من القطاعات، بما في ذلك العروض الترويجية والمخزون المتوفر داخل المتجر والمخزون الإقليمي، ما يوفّر طريقة موحّدة لإدارة جميع مسارات البيانات.مصادر البيانات المُبرمَجة: باستخدام Merchant API، يمكنك الآن تفعيل ميزة مصادر البيانات المُبرمَجة أو إيقافها لحسابك باستخدام طريقة
autofeedSettings.updateAutofeedSettingsفي واجهة برمجة التطبيقات الفرعية Accounts. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة إعدادات الخلاصة التلقائية settings.
الطلبات
يقارن الجدول التالي بين تنسيقات عناوين 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)، ما يوفّر إعدادًا أكثر وضوحًا. |