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

يوضّح هذا الدليل كيفية نقل عملية التكامل من 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.

  • اختيار استراتيجية مصدر البيانات: تتوفّر لك ثلاثة خيارات لإدارة مصادر البيانات:

    1. الاحتفاظ بمصادر بيانات 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.

    2. إنشاء مصادر بيانات جديدة في Merchant API لكل تصنيف ولغة: استخدِم هذا الخيار إذا كنت بحاجة إلى إتاحة مجموعات جديدة من feedLabel وcontentLanguage (وتفضّل الفصل التام بينهما) أو إذا كنت تستخدم إعداد قواعد مصدر البيانات الذي يعتمد على feedLabel وcontentLanguage محدّدين. عليك إنشاء مصدر بيانات منفصل لكل زوج من feedLabel وcontentLanguage تستخدمه.

    3. إنشاء مصدر بيانات واحد في 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)، ما يوفّر إعدادًا أكثر وضوحًا.