- API
- نقاط النهاية
- /recipes/{recipeId}/sponsored-products/ingredients
Get ingredient sponsored products for a recipe
استرجع جميع المنتجات المدعومة المرتبطة صراحةً بمكونات وصفة محددة. من خلال استهداف وصفة واحدة، يمكنك تحديد وحدات SKU ذات العلامات التجارية التي ينبغي وضعها أصلياً فوراً عندما يشاهد المستخدم ذلك الطبق المحدد. الأداة المثالية لعمليات وضع الوسائط retail في التوقيت الدقيق. حالات الاستخدام: وضع المنتجات في سياقها • يشاهد المستخدم وصفة «تيراميسو كلاسيكي» ← يظهر «ماسكاربوني من العلامة التجارية Y» بجوار قائمة المكونات باعتباره اقتراحاً مدعوماً. معدل تحويل مرتفع عند بلوغ نية الشراء ذروتها. المطاعم — شراكات الموردين • يعرض المطعم منتجات المورد بجوار مكونات الوصفة في القائمة الرقمية. إيرادات إعلانية من الموردين. «شراء الوصفة» بنقرة واحدة • فعّل زر «إضافة الكل إلى السلة» باستخدام وحدات SKU المدعومة المهيأة في لوحة الإدارة. سلة مربحة متوافقة مع الوصفة.
الاستجابة
IngredientSponsoredProductArray
object[]
IngredientSponsoredProductArray
IngredientSponsoredProduct
مكوّن وصفة مرتبط بمنتج مدعوم
object
IngredientSponsoredProduct
مكوّن وصفة مرتبط بمنتج مدعوم
recipeIngredientId
المعرّف الفريد لإدخال هذا المكوّن
recipeId
معرّف الوصفة التي ينتمي إليها هذا المكوّن
name
اسم عرض المكوّن
quantity?
كمية المكوّن المستخدمة
measureUnitId?
معرّف وحدة قياس الكمية؛ يمكن حله عبر GET /definitions/measure-units
unitQuantity
كمية وحدة المنتج المدعوم
priority
ترتيب التوصية لهذا المنتج بالنسبة إلى المكوّن، حيث تمثل القيمة الأقل أفضل تطابق ويبدأ الترتيب من 1. يتبع الترتيب أولًا أولوية فئة المنتج للطعام المطابق؛ وداخل الفئة، تُرتّب المنتجات حسب المبلغ الذي تنفقه لتغطية الوصفة، أي عدد العبوات المطلوبة مضروبًا في السعر الكامل. يجمع هذا المبلغ كلا النتيجتين: formatScore مضروبًا في unitPriceScore ومقسومًا على 100، وهو أقل مبلغ ممكن كنسبة مئوية من المبلغ المنفق على هذا المنتج. لذلك لا تكون أي من النتيجتين متزايدة أو متناقصة بالضرورة على امتداد القائمة بمفردها. قد تتخطى الرتب بعض القيم، لأن المنتج الذي لا تتوفر له بيانات باللغة المطلوبة يُستبعد من الاستجابة.
formatScore?
درجة توافق التنسيق، من 0.01 إلى 100: نسبة ما تشتريه الذي تستخدمه الوصفة فعليًا. تعني 100 أن حجم العبوة يطابق الكمية المطلوبة تمامًا، بينما تعني 50 أنك تشتري ضعف ما تحتاج إليه. المنتجات ذات الدرجة نفسها متساوية في توافق التنسيق، لذا استخدم الأولوية للاختيار بينها — باستثناء 0.01، حيث يتشبع المقياس ولا يخبرك إلا بأن العبوة كبيرة جدًا. تكون القيمة Null عندما يتعذر تقييم التوافق: وزن المنتج غير معروف، أو كمية المكوّن لا تعادلها كمية بالجرام مثل الكمية حسب الرغبة، أو أن الارتباط أقدم من هذا الحقل ولم يُعد احتسابه بعد. تُعامل الأحجام على أساس أن 1 ml = 1 g.
unitPriceScore?
نتيجة السعر لكل كيلوغرام، من 0.01 إلى 100: أقل سعر لكل كيلوغرام بين المنتجات التي أُخذت في الاعتبار لهذا المكوّن، مقسومًا على السعر لكل كيلوغرام لهذا المنتج. تعني 100 أن هذا المنتج هو الأرخص لكل كيلوغرام، وتعني 50 أن تكلفته لكل كيلوغرام تعادل ضعف التكلفة. الأسعار كاملة قبل أي خصم، وتُعامل الأحجام على أساس أن 1 مل = 1 غ. يشارك كل منتج أُخذ في الاعتبار لهذا المكوّن في المقارنة، لذلك قد لا يكون المنتج الحاصل على نتيجة 100 من بين المنتجات المُعادة. تكون القيمة فارغة عندما تسبق العلاقة إضافة هذا الحقل ولم يُعاد احتسابها بعد.
productId
معرّف المنتج المدعوم
shopProductId?
المعرّف الخاص بالمتجر للمنتج
productName
اسم المنتج المدعوم
brand
علامة المنتج المدعوم
ean?
الرمز الشريطي EAN للمنتج
format?
صيغة تغليف المنتج
netQuantityGrams?
الكمية الصافية للمنتج بالجرام، تُقرأ فقط من تنسيق العبوة الذي يعلنه التاجر (تُعامل الأحجام على أساس 1 مل = 1 جم)؛ تكون null عندما لا يذكر التنسيق وزنًا أو حجمًا
weightGrams?
مهجور: استخدم netQuantityGrams، إذ يحتوي على القيمة نفسها
imageUrl?
عنوان URL لصورة المنتج
غير مصرّح به
ConnectProblemDetails
object
ConnectProblemDetails
type?
title?
status?
detail?
instance?
requestId?
traceId?
محظور
ConnectProblemDetails
object
ConnectProblemDetails
type?
title?
status?
detail?
instance?
requestId?
traceId?
غير مقبول
ConnectProblemDetails
object
ConnectProblemDetails
type?
title?
status?
detail?
instance?
requestId?
traceId?
كيان غير قابل للمعالجة
ConnectProblemDetails
object
ConnectProblemDetails
type?
title?
status?
detail?
instance?
requestId?
traceId?
عدد كبير جدًا من الطلبات
ConnectProblemDetails
object
ConnectProblemDetails
type?
title?
status?
detail?
instance?
requestId?
traceId?
خطأ داخلي في الخادم
ConnectProblemDetails
object
ConnectProblemDetails
type?
title?
status?
detail?
instance?
requestId?
traceId?