نقل مصادر البيانات

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