Модификаторы и налоги
Модификаторы блюд (опции, добавки) и налоговые ставки — как они привязаны к продуктам и отражаются в заказах.
Эта страница покрывает две группы эндпоинтов:
- Модификаторы продуктов (
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у продукта.