Hostme | Модификаторы и налоги

Модификаторы и налоги

Обновлено: 2026-06-24 17:30 MSK

Эта страница покрывает две группы эндпоинтов:

  • Модификаторы продуктов (ProductModifiers) — опции и добавки к блюдам (например, степень прожарки, размер порции, дополнительные ингредиенты).
  • Налоги продуктов (ProductTaxes) — справочник налоговых ставок, которые привязываются к продуктам.

Все запросы — под Bearer-токеном (см. Аутентификация). restaurantId — числовой path-параметр. Общие соглашения и ошибки — в разделах Соглашения и Ошибки. Каталог продуктов и групп описан в Меню: Каталог.

Базовый путь: /api/core/admin/restaurants/{restaurantId}.


Модификаторы продуктов

Модификатор (VendorProductModifier) — группа вариантов выбора для блюда. Каждый вариант (VendorAdditionValue) может нести собственную цену и налог. Модификатор задаёт правила выбора (одиночный/множественный, минимум/максимум) и может быть привязан к конкретным продуктам или целым группам продуктов.

МетодПутьНазначение
GET/modifiersСписок модификаторов
POST/modifiersСоздать модификатор
PUT/modifiers/{modifierId}Изменить модификатор
DELETE/modifiers/{modifierId}Удалить модификатор

Поля VendorProductModifier

ПолеТипОписание
idstring?Идентификатор модификатора
namestring?Внутреннее название
displayNamestring?Отображаемое название для гостя
valuesarray<VendorAdditionValue>Варианты выбора (см. ниже)
multiselectbooleanРазрешён множественный выбор
minSelectedAmountintegerМинимальное число выбранных вариантов
maxSelectedAmountinteger?Максимальное число выбранных вариантов
productGroupIdsarray<string>Привязка к группам продуктов
productIdsarray<string>Привязка к конкретным продуктам
visibleboolean?Видимость модификатора

Поля VendorAdditionValue (вариант выбора)

ПолеТипОписание
idstring?Идентификатор варианта
namestring?Название варианта
pricenumber?Доплата за вариант
taxesnumber?Налог на вариант
descriptionstring?Описание
plustring?Артикул (PLU) варианта
defaultboolean?Выбран по умолчанию

GET /modifiers — список

Возвращает массив VendorProductModifier.

curl -G https://api.hostmeapp.com/api/core/admin/restaurants/123/modifiers \
  -H "Authorization: Bearer $TOKEN"

POST /modifiers — создать модификатор

Тело — VendorProductModifier. Ответ — созданный модификатор.

curl -X POST https://api.hostmeapp.com/api/core/admin/restaurants/123/modifiers \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "doneness",
    "displayName": "Степень прожарки",
    "multiselect": false,
    "minSelectedAmount": 1,
    "maxSelectedAmount": 1,
    "values": [
      { "name": "Medium", "price": 0, "default": true },
      { "name": "Well done", "price": 0 }
    ],
    "productIds": ["PRODUCT_ID"],
    "visible": true
  }'

PUT /modifiers/{modifierId} — изменить модификатор

ПараметрГдеТип
restaurantId *pathinteger
modifierId *pathstring

Тело — VendorProductModifier. Ответ — обновлённый модификатор.

DELETE /modifiers/{modifierId} — удалить модификатор

ПараметрГдеТип
restaurantId *pathinteger
modifierId *pathstring
curl -X DELETE https://api.hostmeapp.com/api/core/admin/restaurants/123/modifiers/MODIFIER_ID \
  -H "Authorization: Bearer $TOKEN"

Модификаторы конкретного меню. Помимо глобального справочника модификаторов есть эндпоинты для модификаторов в рамках одного меню: GET и PUT /menu/{menuId}/modifiers (объект VendorMenuModifier — те же поля, что у VendorProductModifier, но без productGroupIds/productIds). См. Меню: Каталог.


Налоги продуктов

Налог (VendorTax) — это ставка, которую можно применить к продуктам. Налог может быть включён в цену (vatInclusive) или начисляться сверху, может быть глобально включён/выключен и привязан к набору продуктов.

МетодПутьНазначение
GET/taxesСписок налогов
POST/taxesСоздать налог
PUT/taxes/{taxId}Изменить налог
DELETE/taxes/{taxId}Удалить налог

Поля VendorTax

ПолеТипОписание
idstring?Идентификатор налога
namestring?Название налога
vatInclusivebooleanНалог включён в цену (true) или начисляется сверху (false)
percentagenumber?Ставка налога, проценты
enabledboolean?Налог активен
productIdsarray<string>Продукты, к которым применяется налог

GET /taxes — список

Возвращает массив VendorTax.

curl -G https://api.hostmeapp.com/api/core/admin/restaurants/123/taxes \
  -H "Authorization: Bearer $TOKEN"

POST /taxes — создать налог

Тело — VendorTax. Ответ — созданный налог.

curl -X POST https://api.hostmeapp.com/api/core/admin/restaurants/123/taxes \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "НДС 20%",
    "vatInclusive": true,
    "percentage": 20,
    "enabled": true,
    "productIds": ["PRODUCT_ID"]
  }'

PUT /taxes/{taxId} — изменить налог

ПараметрГдеТип
restaurantId *pathinteger
taxId *pathstring

Тело — VendorTax. Ответ — обновлённый налог.

DELETE /taxes/{taxId} — удалить налог

ПараметрГдеТип
restaurantId *pathinteger
taxId *pathstring
curl -X DELETE https://api.hostmeapp.com/api/core/admin/restaurants/123/taxes/TAX_ID \
  -H "Authorization: Bearer $TOKEN"

Связь с продуктом. У продукта есть массив taxIds (см. Меню: Каталог) — в нём перечислены ID применённых к нему налогов. Привязку можно задавать с обеих сторон: через productIds у налога и через taxIds у продукта.