Skip to content

Переоценка товара ​

История изменения цен продажи по товарам: новая цена, наценка, минимальная цена и прежние значения. Каждая запись меняет цену товара в компании.

МетодАдресНазначение
GET/company/trade/recalculation-productИстория переоценок товаров
GET/company/trade/recalculation-product/{model}Запись переоценки
POST/company/trade/recalculation-productИзменить цену товара

История переоценок товаров ​

GET/company/trade/recalculation-product

Записи переоценки по товарам с прежней и новой ценой и наценкой, с пагинацией и фильтрами; с format=excel — выгрузка в Excel.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Параметры запроса ​

ПолеТипОбязательноОписание
formatstringНетФормат ответа: 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.

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].idintegerID
data[].company_idintegerКомпания
data[].creator_idintegerСоздатель
data[].product_idintegerПродукт
data[].batch_idnull
data[].previous_pricenullПредыдущая цена
data[].sale_priceintegerЦена при продаже
data[].sale_currencystringВалюта при продаже
data[].markup_percentnullНаценка %
data[].previous_markup_percentnull
data[].price_without_roundingnull
data[].min_pricenull
data[].min_price_percentnull
data[].created_atstringСоздано
json
{
    "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
    }
}

Запись переоценки ​

GET/company/trade/recalculation-product/{model}

Одна переоценка товара: новая цена и валюта, наценка, минимальная цена и значения до изменения.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Параметры пути ​

ПараметрОписание
modelID записи

Ответ · 200 ​

Поля ответа
ПолеТипОписание
idintegerID
company_idintegerКомпания
creator_idintegerСоздатель
product_idintegerПродукт
batch_idnull
previous_pricenullПредыдущая цена
sale_priceintegerЦена при продаже
sale_currencystringВалюта при продаже
markup_percentnullНаценка %
previous_markup_percentnull
price_without_roundingnull
min_pricenull
min_price_percentnull
created_atstringСоздано
json
{
    "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"
}

Изменить цену товара ​

POST/company/trade/recalculation-product

Устанавливает новую цену продажи товара; запись оборачивается в собственную переоценку и попадает в историю. Прежние цена и наценка сохраняются автоматически. Отклоняется, если товар участвует в активной продаже или минимальная цена ниже себестоимости; передавать min_price/min_price_percent может только роль с правом на минимальную цену.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Тело запроса ​

ПолеТипОбязательноОписание
company_idintegerДаКомпания. ID существующей записи, доступной пользователю
product_idintegerДаПродукт. ID существующей записи, доступной пользователю
sale_pricenumberДаЦена при продаже. До 2 знаков после запятой. Не меньше 0.01. Не больше 999999999999.99
sale_currencystringДаВалюта при продаже. Допустимые значения: uzs, usd, eur, rub
markup_percentnumberНетНаценка %. До 2 знаков после запятой. Не меньше 0.01. Не больше 999999999999.99
price_without_roundingnumberНетДо 2 знаков после запятой. Не меньше 0.01. Не больше 999999999999.99
min_pricenumberНетДо 2 знаков после запятой. Не меньше 0. Не больше 999999999999.99
min_price_percentnumberНетНе меньше 0. Не больше 10000
rounding_typestringНетДопустимые значения: none, smart, 1000
json
{
    "company_id": 1,
    "product_id": 1,
    "sale_price": 3900,
    "sale_currency": "uzs"
}
bash
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_idintegerПродукт
sale_priceintegerЦена при продаже
sale_currencystringВалюта при продаже
company_idintegerКомпания
batch_idinteger
created_atstringСоздано
creator_idintegerСоздатель
previous_priceintegerПредыдущая цена
previous_markup_percentnull
idintegerID
markup_percentnullНаценка %
price_without_roundingnull
min_pricenull
min_price_percentnull
json
{
    "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 ​

json
{
    "message": "Нельзя изменить цену товара, который участвует в активной продаже",
    "errors": {
        "product_id": [
            "Нельзя изменить цену товара, который участвует в активной продаже"
        ]
    }
}