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

يوضّح هذا الدليل كيفية نقل عملية الربط من خدمتَي datafeeds وdatafeedstatuses في Content API for Shopping إلى واجهة Data Sources الفرعية في Merchant API. تتيح واجهة Data Sources الفرعية الجديدة تحكّمًا مباشرًا أكثر في قنوات نقل البيانات وتسهّل إدارة مصادر البيانات.

لمزيد من المعلومات حول الميزات الجديدة، اطّلِع على دليل إدارة مصادر البيانات.

الاختلافات الرئيسية

تقدّم Merchant API عدة مزايا مقارنةً بواجهة Content API for 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 في واجهة 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})

الطُرق

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