Get ingredient sponsored products for a recipe

Получите все спонсируемые товары, явно связанные с ингредиентами конкретного рецепта. Выбрав один рецепт, вы можете мгновенно определить, какие брендированные SKU следует нативно разместить, когда пользователь просматривает это конкретное блюдо. Идеальный инструмент для размещения рекламных материалов в розничных медиа в нужный момент. Варианты использования: КОНТЕКСТНОЕ РАЗМЕЩЕНИЕ ТОВАРОВ • Пользователь просматривает рецепт «Классический тирамису» → рядом со списком ингредиентов появляется «Маскарпоне бренда Y» в качестве спонсируемой рекомендации. Высокая конверсия в момент максимальной готовности к покупке. РЕСТОРАНЫ — ПАРТНЁРСТВО С ПОСТАВЩИКАМИ • Ресторан показывает товары поставщиков рядом с ингредиентами рецепта в цифровом меню. Доход от рекламы поставщиков. «КУПИТЬ РЕЦЕПТ» В ОДИН КЛИК • Реализуйте кнопку «Добавить всё в корзину» со спонсируемыми SKU, настроенными в backoffice. Прибыльная корзина, соответствующая рецепту.

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 мл = 1 г.

number<double> | null

unitPriceScore?

Оценка цены за килограмм, от 0,01 до 100: самая низкая цена за килограмм среди продуктов, рассматриваемых для этого ингредиента, делённая на цену за килограмм этого продукта. Значение 100 означает, что этот продукт имеет самую низкую цену за килограмм, а 50 — что его цена за килограмм вдвое выше. Указываются полные цены до применения скидок, а объёмы считаются по правилу 1 мл = 1 г. Каждый продукт, рассматриваемый для ингредиента, участвует в сравнении, поэтому продукт с оценкой 100 может отсутствовать среди возвращённых. Значение null, если связь создана до появления этого поля и ещё не была пересчитана.

number<double> | null

productId

Идентификатор спонсируемого продукта

integer<int32>

shopProductId?

Идентификатор товара, используемый конкретным магазином

string | null

productName

Название спонсируемого продукта

string

brand

Бренд спонсируемого продукта

string

ean?

Штрихкод EAN продукта

string | null

format?

Формат упаковки продукта

string | null

netQuantityGrams?

Чистое количество продукта в граммах, указанное только в формате упаковки, заявленном продавцом (объемы считаются как 1 ml = 1 g); 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