المخزون (راجع الكمية المطلوب بيعها)

يمثل الحقل inventory في كتالوج المنتجات لديك مستوى المخزون لكل منتج متوفر للبيع في متجر فيسبوك أو حساب التسوق على Instagram. ويتم عرض هذه القيمة في صفحة تفاصيل المنتج (PDP) وتساعد المشترين في معرفة كمية العناصر المتوفرة. كما يُعد إبقائها دقيقة ومحدثة أمرًا أساسيًا للتجربة، حيث إنها تحدد عندما تكون منتجاتك غير متوفرة في المخزون أو يمكن أن تؤدي إلى زيادة البيع إذا كانت غير صحيحة.

ملاحظة: سيتم إيقاف استخدام الحقل inventory واستبداله بحقل quantity_to_sell_on_facebook جديد. ورغم أنه سيتم دعم اسم الحقل القديم لفترة قصيرة، فإننا نوصي باستخدام الاسم الجديد. راجع الحقول المدعومة للمنتجات - إعلانات كتالوج Advantage+ والمعاملات التجارية لمزيد من المعلومات حول هذا التحديث.

ملاحظة: لا يمكن شراء العنصر الذي لم يتم إعداد المخزون فيه، أو الإشارة إليه. ومع ذلك، لا يزال بإمكانك استخدامه لإعلانات كتالوج Advantage+ بدون إتمام الشراء.

تغير المخزون

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

تعمل منصة المعاملات التجارية تلقائيًا على زيادة هذه القيمة أو إعادة المنتج إلى المخزون في حالات الإلغاء التي من جانب المستخدم. في حالات الإلغاء من جانب المستخدم، يمكنك إعادة توفير المنتج في المخزون في وقت الإلغاء وزيادة مستوى المخزون المقابل للمنتج، عن طريق إعداد الحقل restock_itemsلدى نقطة نهاية API حالات الإلغاء.

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

نحتفظ بالأنواع التالية من أعداد المخزون من جانبنا:

  • المخزون المقدم هو القيمة التي توفرها عبر تحميلات كتالوج المنتجات أو الأساليب الأخرى (راجع إستراتيجيات تحديث المخزون لمزيد من المعلومات).
  • المخزون المتوفر هو القيمة التي يمكن للعملاء شراؤها وتتضمن الطلبات التي لم تتم معالجتها.

تعرف على المزيد حول أنواع المخزون هذه، راجع دورة المنتج.

المنتجات غير المتوفرة في المخزون

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

إذا وجد المشتري منتجًا "غير متوفر في المخزون"، فإننا نبذل ما بوسعنا لتبديل صفحة "تفاصيل المنتج" بمتغير يحتوي على وحدات "متوفرة في المخزون" استنادًا إلى قيمة inventory لمتغير المنتج في كتالوج المنتجات لديك.

المنتجات التي تم إيقاف إنتاجها

عندما يتم إيقاف منتج ما، يمكنك حذفه ببساطة من كتالوج المنتجات لديك. لا نوصي بذلك.

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

وبدلاً من حذف المنتجات، يجب تعيين الحقل visibility للمنتج المتوقف إنتاجه على staging. وهذا يضمن أن منصة المعاملات التجارية يمكنها إعادة ربط منتجك بكيان معروف وإدارة المواقف المختلفة بأمان.

دورة المنتج

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

المخزون المتوفر = المخزون المقدم - الطلبات غير المؤكدة.

بعد تأكيد الطلبات، توجد فترة تخزين مؤقت مدتها 30 دقيقة تتيح لك معالجة الطلبات وتحديث أرقام المخزون (من خلال الكتالوج) قبل إزالة تلك الطلبات التي تم تأكيدها من العداد.

البيع الزائد

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

عندما يتعذر عليك معالجة الطلبات بسبب حالات البيع الزائد، يجب بدء عملية إلغاء وتعيين reason_code على OUT_OF_STOCK.

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

إستراتيجية دمج المخزون

يمكنك تحديث المخزون بطريقة مختلفة حسب نوع الدمج الذي تقوم به:

  • عن طريق استخدام واجهة مستخدم مدير المعاملات التجارية (مجموعة المنتجات الصغيرة، والاختبار، وغير ذلك)
  • قائمة منتجات تتضمن عملية تحميل مجدولة أو يدوية
  • استخدام API قائمة المنتجات
  • استخدام API التجميع

إستراتيجيات تحديث المخزون

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

المخزون المخصص مسبقًا

تتمثل أكثر الطرق فعالية لتجنب البيع الزائد في تخصيص المخزون مسبقًا في قنوات التسوق على Instagram أو متجر فيسبوك. ويضمن تخصيص المخزون لكل قناة من قنوات المبيعات لديك ألا تتعارض المبيعات التي تحدث على أي قناة فردية مع بعضها البعض. يمكن تطبيق هذه الإستراتيجية على كتالوج المنتجات بالكامل أو جزء منه.

المنتجات بطيئة البيع

بالنسبة للمنتجات التي تبيع بوتيرة عادية، أو تلك التي لديها مخزون كبير، يكون خطر البيع الزائد منخفض نسبيًا. وفي هذه الحالة، يمكنك استخدام إستراتيجية بسيطة لتحديث كتالوج المنتجات:

  • يمكنك تكوين قائمة منتجات مجدولة للتحديثات اليومية/كل ساعة. ويجب أن تحتوي قائمة المنتجات هذه على كل الحقول، بما في ذلك أحدث قيمة للحقل inventory.

المنتجات سريعة البيع

بالنسبة إلى المنتجات سريعة البيع، ذات المخزون القليل أو سريع التغير، يمكنك تحديث الحقول المتغيرة مثل inventory في الوقت المناسب. يمكنك استخدام API التجميع الفوري لهذا الغرض. فيما يلي إستراتيجية عامة يمكنك اتباعها:

  • يمكنك تكوين قائمة منتجات مجدولة للتحديثات اليومية/كل ساعة. ويجب أن تحتوي قائمة المنتجات هذه على كل الحقول الإلزامية في كتالوج المنتجات، مع حذف الحقول المتغيرة مثل inventory. يتمثل الغرض من قائمة المنتجات هذه في تحديث الحقول الأكثر ثباتًا بطبيعتها، وتأجيل تحديثات الحقول المتغيرة باستخدام API التجميع الفوري.
  • استخدم API التجميع الفوري لتحديث الحقول المتغيرة مثل inventory عندما تتغير القيمة في الواجهة الخلفية أو بمعدل ثابت. ومن المهم ألا يتم تضمين الحقول المحدثة باستخدام هذا الأسلوب في قائمة المنتجات لأسباب تتعلق بالاتساق.

فيما يلي مثال على التحديثات باستخدام API التجميع الفوري:

curl \
  -d @body.json \
  -H "Content-Type: application/json"
  {
    "access_token": "<ACCESS_TOKEN>",
    "item_type": "PRODUCT_ITEM",
    "requests": [      
      {
        "method": "UPDATE",
        "retailer_id": "SKU1234567",
        "data": {
          "inventory": "1337",
        }
      }
    ]
  } https://graph.facebook.com/<CATALOG_ID/batch

تكون طلبات API التجميع غير متزامنة. ويجب التحقق من حالة الطلب ونتيجته للتأكد من نجاح جميع التحديثات. راجع وثائق API التجميع لمزيد من المعلومات.

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

لتحديث حقول محددة داخل منتج ما، يمكنك إجراء استدعاء API التالي:

curl -d "inventory=1337" -X POST 
https://graph.facebook.com/<FACEBOOK_PRODUCT_ID>
access_token: PAGE_ACCESS_TOKEN

إذا كنت تستخدم واجهة Graph API، فاستخدم معرف منتج فيسبوك. إذا كنت تستخدم API التجميع، فاستخدم معرفك الخاص، والمعروف أيضًا باسم retailer_id.

حدود المخزون

يوجد أسلوب شائع آخر للتخفيف من البيع الزائد وهو اتباع نهج حذر لتخصيص المخزون. على سبيل المثال، عندما يوشك عنصر ما على النفاد من المخزون، وفقًا لما هو محدد في المستودع، يمكنك تعيين مستوى المخزون في كتالوج المنتجات لديك إلى الصفر. يعد هذا تحسينًا فعالاً للبيع المنخفض، ولكن يمكن أن يساعد إذا كان البيع الزائد يمثل مصدرًا للقلق.

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