كتالوج المنتجات

يستخدم ملحق فيسبوك للأعمال (FBE) الكتالوج لاستيعاب مخزون النشاط التجاري. ويتم استخدامه لتشغيل ميزات متنوعة، مثل الإعلانات الديناميكية والمتاجر على الصفحة وبطاقة الخدمات المميزة. يُعد هذا جزءًا اختياريًا من عملية الدمج، ولكنه مطلوب لتشغيل ميزات محددة.

يمتلك كتالوج فيسبوك مجموعته الخاصة من واجهات API، ولكن يتم دمج ملحق FBE مع بعض منها مباشرةً، بحيث يمكنك تحديث مخزون النشاط التجاري على منصتنا بسهولة (من دون الحاجة إلى تتبع معرفات كتالوج فيسبوك من جانبك).

للتأكد من ملء جميع الحقول المطلوبة بشكل صحيح في الكتالوج لديك فيما يتعلق بالإعلانات الديناميكية وحالات الاستخدام التجاري (المتجر على الصفحة والتسوق على Instagram وMarketplace)، راجع الحقول المدعومة.

تحديث المخزون

هناك أسلوبان لتحديث المخزون:

  • النشر: نشر الكتالوج على فيسبوك عبر API (موصى به)
  • السحب: أن يعمل فيسبوك بشكل دوري على سحب الكتالوج من منصتك (لا يُنصح به لأنه يؤدي إلى سحب مخزونات قديمة وتطبيق حمل غير ضروري على الخادم)

أساليب النشر

نوصي بشدة باستخدام أحد أساليب النشر (API التجميع أو API تحميل قائمة المنتجات لمرة واحدة) حيث إنها تمكّن من إجراء التحديثات الفورية للمخزون وتقلل من الحمل على الخادم في كلا الجانبين. access_token المستخدم هنا هو الرمز نفسه الذي يتم إرجاعه من تسجيل دخول النشاط التجاري وحدث Webhook.

يجب أن ترسل إلينا مخزونًا كاملاً للنشاط التجاري بمجرد تلقي حدث Webhook لعملية تثبيت جديدة. كما أنك تحتاج إلى إرسال تحديث في أي وقت يجري فيه النشاط التجاري تغييرًا على مخزونه في موقع الويب لديك.

API التجميع

يوصى بها لمعظم الأنشطة التجارية المختصة في التجارة الإلكترونية. تعتبر API التجميع API كتالوج فيسبوك قياسية؛ وهي مفيدة للأنشطة التجارية ذات المخزونات الكبيرة (أكثر من 100 عنصر) و/أو التي تحدِّث العناصر باستمرار.

API تحميل قائمة المنتجات لمرة واحدة

متوفرة للأنشطة التجارية التي تنشر المواعيد (الخدمات). تعتبر API تحميل قائمة المنتجات لمرة واحدة API كتالوج فيسبوك قياسية؛ وهي مفيدة للأنشطة التجارية ذات المخزونات البسيطة (تحتوي على 100 عنصر أو أقل).

باستخدام هذا الأسلوب، يمكنك إرسال مخزون كامل في أي وقت يتم فيه إجراء تحديث، الأمر الذي يعمل على استبدال المخزون في كتالوج فيسبوك بالكامل.

الخطوة الأولى: احصل على معرف قائمة البيانات الذي تم إنشاؤه أثناء تثبيت ملحق FBE عن طريق إرسال معرف الكتالوج المرتبط (من إشعارات Webhook أو من نقطة نهاية API تثبيت ملحق FBE):

curl -G \
-d "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<API_VERSION>/<CATALOG_ID>/product_feeds

تعرف على المزيد حول API قائمة المنتجات.

الخطوة الثانية: إجراء عمليات التحميل لمرة واحد في قائمة البيانات:

مثال — ملفات قائمة البيانات التي تتم استضافتها على موقع عام.

مستكشف Graph API
curl -X POST \
  -F 'url="http://www.example.com/sample_feed.xml"' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/{FEED_ID}/uploads
POST /{FEED_ID}/uploads HTTP/1.1
Host: graph.facebook.com

url=http%3A%2F%2Fwww.example.com%2Fsample_feed.xml
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{FEED_ID}/uploads',
    array (
      'url' => 'http://www.example.com/sample_feed.xml',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{FEED_ID}/uploads",
    "POST",
    {
        "url": "http:\/\/www.example.com\/sample_feed.xml"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);

مثال — تحميل ملفات قائمة البيانات مباشرةً من الجهاز المحلي. ويتعين تغيير مسار الملف وفقًا لحالة الاستخدام من جانبك.

مستكشف Graph API
curl -X POST \
  -F 'file=@catalog.csv;type=text/csv' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/{FEED_ID}/uploads
POST /{FEED_ID}/uploads HTTP/1.1
Host: graph.facebook.com

file=%40catalog.csv%3Btype%3Dtext%2Fcsv
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{FEED_ID}/uploads',
    array (
      'file' => '@catalog.csv;type=text/csv',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{FEED_ID}/uploads",
    "POST",
    {
        "file": "@catalog.csv;type=text\/csv"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);

التنسيقات المدعومة

تكون جميع تنسيقات الطلب والاستجابة هي نفسها على النحو الموضح بشأن نقطة النهاية الأصلية.

راجع الحقول المدعومة لكتالوج المواعيد (الخدمات).

أسلوب السحب

لا نوصي باستخدام هذا الأسلوب لأنه يؤدي إلى جلب مخزونات قديمة حتى موعد إجراء عمليات السحب اللاحقة، ولكنه يُعد مفيدًا للأنشطة التجارية الصغيرة ذاتية الاستضافة التي تمتلك ملف مخزون يمكن الوصول إليه بشكل عام. إذا اخترت استخدام هذا الأسلوب للنشاط التجاري، فستحتاج إلى تحديد ميزة catalog_feed_scheduled في تكوين النشاط التجاري، الذي تم إدخاله عبر تسجيل دخول النشاط التجاري. عندما يتم تحديد ذلك، يتم الحصول على مخزون النشاط التجاري من عنوان URL العام الذي تم تحديده على أساس منتظم، بغض النظر عن أي تحديثات.

تعرف على المزيد حول سحب قائمة البيانات المجدول.