Модификаторы и налоги
Обновлено: 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
| Поле | Тип | Описание |
|---|---|---|
id | string? | Идентификатор модификатора |
name | string? | Внутреннее название |
displayName | string? | Отображаемое название для гостя |
values | array<VendorAdditionValue> | Варианты выбора (см. ниже) |
multiselect | boolean | Разрешён множественный выбор |
minSelectedAmount | integer | Минимальное число выбранных вариантов |
maxSelectedAmount | integer? | Максимальное число выбранных вариантов |
productGroupIds | array<string> | Привязка к группам продуктов |
productIds | array<string> | Привязка к конкретным продуктам |
visible | boolean? | Видимость модификатора |
Поля VendorAdditionValue (вариант выбора)
| Поле | Тип | Описание |
|---|---|---|
id | string? | Идентификатор варианта |
name | string? | Название варианта |
price | number? | Доплата за вариант |
taxes | number? | Налог на вариант |
description | string? | Описание |
plu | string? | Артикул (PLU) варианта |
default | boolean? | Выбран по умолчанию |
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 * | path | integer |
modifierId * | path | string |
Тело — VendorProductModifier. Ответ — обновлённый модификатор.
DELETE /modifiers/{modifierId} — удалить модификатор
| Параметр | Где | Тип |
|---|---|---|
restaurantId * | path | integer |
modifierId * | path | string |
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
| Поле | Тип | Описание |
|---|---|---|
id | string? | Идентификатор налога |
name | string? | Название налога |
vatInclusive | boolean | Налог включён в цену (true) или начисляется сверху (false) |
percentage | number? | Ставка налога, проценты |
enabled | boolean? | Налог активен |
productIds | array<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 * | path | integer |
taxId * | path | string |
Тело — VendorTax. Ответ — обновлённый налог.
DELETE /taxes/{taxId} — удалить налог
| Параметр | Где | Тип |
|---|---|---|
restaurantId * | path | integer |
taxId * | path | string |
curl -X DELETE https://api.hostmeapp.com/api/core/admin/restaurants/123/taxes/TAX_ID \ -H "Authorization: Bearer $TOKEN"
Связь с продуктом. У продукта есть массив
taxIds(см. Меню: Каталог) — в нём перечислены ID применённых к нему налогов. Привязку можно задавать с обеих сторон: черезproductIdsу налога и черезtaxIdsу продукта.