Get ingredient sponsored products for a recipe

استرجع جميع المنتجات المدعومة المرتبطة صراحةً بمكونات وصفة محددة. من خلال استهداف وصفة واحدة، يمكنك تحديد وحدات SKU ذات العلامات التجارية التي ينبغي وضعها أصلياً فوراً عندما يشاهد المستخدم ذلك الطبق المحدد. الأداة المثالية لعمليات وضع الوسائط retail في التوقيت الدقيق. حالات الاستخدام: وضع المنتجات في سياقها • يشاهد المستخدم وصفة «تيراميسو كلاسيكي» ← يظهر «ماسكاربوني من العلامة التجارية Y» بجوار قائمة المكونات باعتباره اقتراحاً مدعوماً. معدل تحويل مرتفع عند بلوغ نية الشراء ذروتها. المطاعم — شراكات الموردين • يعرض المطعم منتجات المورد بجوار مكونات الوصفة في القائمة الرقمية. إيرادات إعلانية من الموردين. «شراء الوصفة» بنقرة واحدة • فعّل زر «إضافة الكل إلى السلة» باستخدام وحدات SKU المدعومة المهيأة في لوحة الإدارة. سلة مربحة متوافقة مع الوصفة.

GET
/recipes/{recipeId}/sponsored-products/ingredients
Recipes
التكلفة: 10 رصيد لكل وصفة

الاستجابة

200
application/json
object[]

IngredientSponsoredProductArray

object[]

IngredientSponsoredProduct

مكوّن وصفة مرتبط بمنتج مدعوم

object

recipeIngredientId

المعرّف الفريد لإدخال هذا المكوّن

integer<int32>

recipeId

معرّف الوصفة التي ينتمي إليها هذا المكوّن

integer<int32>

name

اسم عرض المكوّن

string

quantity?

كمية المكوّن المستخدمة

number<double> | null

measureUnitId?

معرّف وحدة قياس الكمية؛ يمكن حله عبر GET /definitions/measure-units

integer<int32> | null

unitQuantity

كمية وحدة المنتج المدعوم

integer<int32>

priority

ترتيب التوصية لهذا المنتج بالنسبة إلى المكوّن، حيث تمثل القيمة الأقل أفضل تطابق ويبدأ الترتيب من 1. يتبع الترتيب أولًا أولوية فئة المنتج للطعام المطابق؛ وداخل الفئة، تُرتّب المنتجات حسب المبلغ الذي تنفقه لتغطية الوصفة، أي عدد العبوات المطلوبة مضروبًا في السعر الكامل. يجمع هذا المبلغ كلا النتيجتين: formatScore مضروبًا في unitPriceScore ومقسومًا على 100، وهو أقل مبلغ ممكن كنسبة مئوية من المبلغ المنفق على هذا المنتج. لذلك لا تكون أي من النتيجتين متزايدة أو متناقصة بالضرورة على امتداد القائمة بمفردها. قد تتخطى الرتب بعض القيم، لأن المنتج الذي لا تتوفر له بيانات باللغة المطلوبة يُستبعد من الاستجابة.

integer<int16>

formatScore?

درجة توافق التنسيق، من 0.01 إلى 100: نسبة ما تشتريه الذي تستخدمه الوصفة فعليًا. تعني 100 أن حجم العبوة يطابق الكمية المطلوبة تمامًا، بينما تعني 50 أنك تشتري ضعف ما تحتاج إليه. المنتجات ذات الدرجة نفسها متساوية في توافق التنسيق، لذا استخدم الأولوية للاختيار بينها — باستثناء 0.01، حيث يتشبع المقياس ولا يخبرك إلا بأن العبوة كبيرة جدًا. تكون القيمة Null عندما يتعذر تقييم التوافق: وزن المنتج غير معروف، أو كمية المكوّن لا تعادلها كمية بالجرام مثل الكمية حسب الرغبة، أو أن الارتباط أقدم من هذا الحقل ولم يُعد احتسابه بعد. تُعامل الأحجام على أساس أن 1 ml = 1 g.

number<double> | null

unitPriceScore?

نتيجة السعر لكل كيلوغرام، من 0.01 إلى 100: أقل سعر لكل كيلوغرام بين المنتجات التي أُخذت في الاعتبار لهذا المكوّن، مقسومًا على السعر لكل كيلوغرام لهذا المنتج. تعني 100 أن هذا المنتج هو الأرخص لكل كيلوغرام، وتعني 50 أن تكلفته لكل كيلوغرام تعادل ضعف التكلفة. الأسعار كاملة قبل أي خصم، وتُعامل الأحجام على أساس أن 1 مل = 1 غ. يشارك كل منتج أُخذ في الاعتبار لهذا المكوّن في المقارنة، لذلك قد لا يكون المنتج الحاصل على نتيجة 100 من بين المنتجات المُعادة. تكون القيمة فارغة عندما تسبق العلاقة إضافة هذا الحقل ولم يُعاد احتسابها بعد.

number<double> | null

productId

معرّف المنتج المدعوم

integer<int32>

shopProductId?

المعرّف الخاص بالمتجر للمنتج

string | null

productName

اسم المنتج المدعوم

string

brand

علامة المنتج المدعوم

string

ean?

الرمز الشريطي EAN للمنتج

string | null

format?

صيغة تغليف المنتج

string | null

netQuantityGrams?

الكمية الصافية للمنتج بالجرام، تُقرأ فقط من تنسيق العبوة الذي يعلنه التاجر (تُعامل الأحجام على أساس 1 مل = 1 جم)؛ تكون null عندما لا يذكر التنسيق وزنًا أو حجمًا

number<double> | null

weightGrams?

مهجور: استخدم netQuantityGrams، إذ يحتوي على القيمة نفسها

number<double> | null

imageUrl?

عنوان URL لصورة المنتج

string | null
401
application/json
object

غير مصرّح به

ConnectProblemDetails

object

type?

string

title?

string

status?

integer<int32>

detail?

string

instance?

string

requestId?

string

traceId?

string
403
application/json
object

محظور

ConnectProblemDetails

object

type?

string

title?

string

status?

integer<int32>

detail?

string

instance?

string

requestId?

string

traceId?

string
406
application/json
object

غير مقبول

ConnectProblemDetails

object

type?

string

title?

string

status?

integer<int32>

detail?

string

instance?

string

requestId?

string

traceId?

string
422
application/json
object

كيان غير قابل للمعالجة

ConnectProblemDetails

object

type?

string

title?

string

status?

integer<int32>

detail?

string

instance?

string

requestId?

string

traceId?

string
429
application/json
object

عدد كبير جدًا من الطلبات

ConnectProblemDetails

object

type?

string

title?

string

status?

integer<int32>

detail?

string

instance?

string

requestId?

string

traceId?

string
500
application/json
object

خطأ داخلي في الخادم

ConnectProblemDetails

object

type?

string

title?

string

status?

integer<int32>

detail?

string

instance?

string

requestId?

string

traceId?

string