Переоценка товара
История изменения цен продажи по товарам: новая цена, наценка, минимальная цена и прежние значения. Каждая запись меняет цену товара в компании.
| Метод | Адрес | Назначение |
|---|---|---|
| GET | /company/trade/recalculation-product | История переоценок товаров |
| GET | /company/trade/recalculation-product/{model} | Запись переоценки |
| POST | /company/trade/recalculation-product | Изменить цену товара |
История переоценок товаров
/company/trade/recalculation-productЗаписи переоценки по товарам с прежней и новой ценой и наценкой, с пагинацией и фильтрами; с format=excel — выгрузка в Excel.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
format | string | Нет | Формат ответа: excel — скачать список файлом Excel вместо JSON (учитывает те же фильтры) |
filter[id] | — | Нет | ID — точное значение |
filter[company_id] | — | Нет | Компания — одно значение или список filter[company_id][] |
filter[creator_id] | — | Нет | Создатель — точное значение |
filter[product_id] | — | Нет | Продукт — точное значение |
filter[batch_id] | — | Нет | точное значение |
filter[created_at] | — | Нет | Создано — период: [0] — с, [1] — по (Y-m-d) |
sort[] | — | Нет | Сортировка, - — по убыванию: id, -id |
with[] | — | Нет | Подгрузить связи: product, creator.profile |
page | — | Нет | Номер страницы, с 1 |
page-size | — | Нет | Записей на странице, не больше 20 |
Ответ · 200
Постраничный ответ: записи в data[], пагинация в links и meta.
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
data | object[] | Данные |
data[].id | integer | ID |
data[].company_id | integer | Компания |
data[].creator_id | integer | Создатель |
data[].product_id | integer | Продукт |
data[].batch_id | null | |
data[].previous_price | null | Предыдущая цена |
data[].sale_price | integer | Цена при продаже |
data[].sale_currency | string | Валюта при продаже |
data[].markup_percent | null | Наценка % |
data[].previous_markup_percent | null | |
data[].price_without_rounding | null | |
data[].min_price | null | |
data[].min_price_percent | null | |
data[].created_at | string | Создано |
{
"data": [
{
"id": 1,
"company_id": 1,
"creator_id": 2,
"product_id": 1,
"batch_id": null,
"previous_price": null,
"sale_price": 1100,
"sale_currency": "uzs",
"markup_percent": null,
"previous_markup_percent": null,
"price_without_rounding": null,
"min_price": null,
"min_price_percent": null,
"created_at": "2026-09-30 12:47:59"
},
{
"id": 2,
"company_id": 1,
"creator_id": 2,
"product_id": 2,
"batch_id": null,
"previous_price": null,
"sale_price": 2400,
"sale_currency": "uzs",
"markup_percent": null,
"previous_markup_percent": null,
"price_without_rounding": null,
"min_price": null,
"min_price_percent": null,
"created_at": "2026-09-30 12:47:59"
}
],
"links": {
"first": "https://api.wasyt.uz/company/trade/recalculation-product?page=1",
"last": "https://api.wasyt.uz/company/trade/recalculation-product?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [],
"path": "https://api.wasyt.uz/company/trade/recalculation-product",
"per_page": 20,
"to": 2,
"total": 2
}
}Запись переоценки
/company/trade/recalculation-product/{model}Одна переоценка товара: новая цена и валюта, наценка, минимальная цена и значения до изменения.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Параметры пути
| Параметр | Описание |
|---|---|
model | ID записи |
Ответ · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID |
company_id | integer | Компания |
creator_id | integer | Создатель |
product_id | integer | Продукт |
batch_id | null | |
previous_price | null | Предыдущая цена |
sale_price | integer | Цена при продаже |
sale_currency | string | Валюта при продаже |
markup_percent | null | Наценка % |
previous_markup_percent | null | |
price_without_rounding | null | |
min_price | null | |
min_price_percent | null | |
created_at | string | Создано |
{
"id": 1,
"company_id": 1,
"creator_id": 2,
"product_id": 1,
"batch_id": null,
"previous_price": null,
"sale_price": 1100,
"sale_currency": "uzs",
"markup_percent": null,
"previous_markup_percent": null,
"price_without_rounding": null,
"min_price": null,
"min_price_percent": null,
"created_at": "2026-09-30 12:47:59"
}Изменить цену товара
/company/trade/recalculation-productУстанавливает новую цену продажи товара; запись оборачивается в собственную переоценку и попадает в историю. Прежние цена и наценка сохраняются автоматически. Отклоняется, если товар участвует в активной продаже или минимальная цена ниже себестоимости; передавать min_price/min_price_percent может только роль с правом на минимальную цену.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
company_id | integer | Да | Компания. ID существующей записи, доступной пользователю |
product_id | integer | Да | Продукт. ID существующей записи, доступной пользователю |
sale_price | number | Да | Цена при продаже. До 2 знаков после запятой. Не меньше 0.01. Не больше 999999999999.99 |
sale_currency | string | Да | Валюта при продаже. Допустимые значения: uzs, usd, eur, rub |
markup_percent | number | Нет | Наценка %. До 2 знаков после запятой. Не меньше 0.01. Не больше 999999999999.99 |
price_without_rounding | number | Нет | До 2 знаков после запятой. Не меньше 0.01. Не больше 999999999999.99 |
min_price | number | Нет | До 2 знаков после запятой. Не меньше 0. Не больше 999999999999.99 |
min_price_percent | number | Нет | Не меньше 0. Не больше 10000 |
rounding_type | string | Нет | Допустимые значения: none, smart, 1000 |
{
"company_id": 1,
"product_id": 1,
"sale_price": 3900,
"sale_currency": "uzs"
}curl -X POST "https://api.wasyt.uz/company/trade/recalculation-product" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"company_id":1,"product_id":1,"sale_price":3900,"sale_currency":"uzs"}'Ответ · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
product_id | integer | Продукт |
sale_price | integer | Цена при продаже |
sale_currency | string | Валюта при продаже |
company_id | integer | Компания |
batch_id | integer | |
created_at | string | Создано |
creator_id | integer | Создатель |
previous_price | integer | Предыдущая цена |
previous_markup_percent | null | |
id | integer | ID |
markup_percent | null | Наценка % |
price_without_rounding | null | |
min_price | null | |
min_price_percent | null |
{
"product_id": 1,
"sale_price": 3900,
"sale_currency": "uzs",
"company_id": 1,
"batch_id": 9,
"created_at": "2026-09-30 12:54:43",
"creator_id": 2,
"previous_price": 1100,
"previous_markup_percent": null,
"id": 12,
"markup_percent": null,
"price_without_rounding": null,
"min_price": null,
"min_price_percent": null
}Пример ошибки · 422
{
"message": "Нельзя изменить цену товара, который участвует в активной продаже",
"errors": {
"product_id": [
"Нельзя изменить цену товара, который участвует в активной продаже"
]
}
}
