Tovar narxlari
Kompaniya tovarlarining belgilangan sotuv narxlari — «Tovarlarni qayta baholash» bo‘limi: narxlar ro‘yxati, xulosa va minimal sotuv narxi.
| Metod | Manzil | Vazifasi |
|---|---|---|
| GET | /company/product/price/stats | Qayta baholash xulosasi |
| PATCH | /company/product/price/min-price-percent | Minimal narx foizini belgilash |
| PATCH | /company/product/price/{model}/min-price | Tovarning minimal narxini belgilash |
| GET | /company/product/price | Narxlar ro‘yxati |
| GET | /company/product/price/{model} | Narxni ko‘rish |
Qayta baholash xulosasi
/company/product/price/stats«Tovarlarni qayta baholash» bo‘limi sarlavhasi: avg_markup_percent — har bir tovarning oxirgi qayta baholashi bo‘yicha o‘rtacha ustama, potential_profit_uzs — narxi bor barcha tovarlar bo‘yicha (sotuv narxi − oxirgi kirim tannarxi) yig‘indisi, kompaniya kurslari bo‘yicha UZS da, price_tag — chop etish uchun kompaniyaning birinchi narx yorlig‘i.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
avg_markup_percent | null | |
potential_profit_uzs | integer | |
price_tag | object | |
price_tag.id | integer | ID |
price_tag.creator_id | integer | Yaratuvchi |
price_tag.company_id | integer | Kompaniya |
price_tag.name | string | Nomlanish |
price_tag.width | integer | Kenglik |
price_tag.height | integer | Balandlik |
price_tag.elements | object[] | Elementlar |
price_tag.elements[].x | integer | |
price_tag.elements[].y | integer | |
price_tag.elements[].text | string | Matn |
price_tag.elements[].type | string | Turi |
price_tag.elements[].color | string | Rang |
price_tag.elements[].fontSize | integer | |
price_tag.is_default | boolean | |
price_tag.created_at | string | Yaratilgan |
price_tag.updated_at | string | Yangilangan |
price_tag.is_deleted | boolean |
{
"avg_markup_percent": null,
"potential_profit_uzs": 2398100,
"price_tag": {
"id": 1,
"creator_id": 2,
"company_id": 1,
"name": "Price tag 1",
"width": 512,
"height": 512,
"elements": [
{
"x": 20,
"y": 20,
"text": "АКЦИЯ",
"type": "text",
"color": "#e11d48",
"fontSize": 28
},
{
"x": 380,
"y": 20,
"src": "https://api-minio.icangroup.uz/wasyt/uploads/logo.png",
"type": "image",
"width": 110,
"height": 60
}
],
"is_default": false,
"created_at": "2026-09-30 12:47:59",
"updated_at": "2026-09-30 12:47:59",
"is_deleted": false
}
}Minimal narx foizini belgilash
/company/product/price/min-price-percentproduct_ids dagi tovarlarga, ular berilmasa — kompaniyaning barcha narxlariga min_price_percent ni o‘rnatadi (minimal narx = tannarx + foiz); aniq min_price summalari tozalanadi, 0 foiz minimumni olib tashlaydi. «Minimal sotuv narxi» huquqini talab qiladi (aks holda 403); count — yangilangan narxlar sonini qaytaradi.
Formadan (
multipart/form-data)PATCHmetodiPOST+?_method=PATCHparametri bilan yuboriladi.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
So‘rov tanasi
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
min_price_percent | number | Ha | Tannarx ustiga foiz, 0 dan 10000 gacha |
product_ids | array | Yo‘q | Tovarlar ID lari; maydonsiz — kompaniyaning barcha tovarlari |
{
"min_price_percent": 5,
"product_ids": [
1
]
}curl -X PATCH "https://api.wasyt.uz/company/product/price/min-price-percent" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"min_price_percent":5,"product_ids":[1]}'Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
count | integer | Soni |
{
"count": 1
}Tovarning minimal narxini belgilash
/company/product/price/{model}/min-priceNarx qatori uchun uning valyutasida aniq minimal sotuv narxini belgilaydi. U tovar tannarxidan past bo‘lishi mumkin emas (422); null tovarni foizga qaytaradi, 0 minimumni olib tashlaydi. «Minimal sotuv narxi» huquqini talab qiladi (aks holda 403); yangilangan narxni qaytaradi.
Formadan (
multipart/form-data)PATCHmetodiPOST+?_method=PATCHparametri bilan yuboriladi.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
Yo‘l parametrlari
| Parametr | Tavsif |
|---|---|
model | Yozuv ID si |
So‘rov tanasi
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
min_price | number | Yo‘q | Narx valyutasidagi minimal sotuv narxi; null — foizga qaytarish |
{
"min_price": 3000
}curl -X PATCH "https://api.wasyt.uz/company/product/price/1/min-price" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"min_price":3000}'Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
id | integer | ID |
updater_id | integer | Yangilovchi |
company_id | integer | Kompaniya |
product_id | integer | Mahsulot |
source_type | string | Manba |
source_id | integer | Manba |
price | integer | Narxi |
currency | string | Valyuta |
min_price | integer | |
min_price_percent | null | |
created_at | string | Yaratilgan |
updated_at | string | Yangilangan |
effective_min_price | integer | |
price_uzs | integer | |
effective_min_price_uzs | integer | |
price_usd | number | |
effective_min_price_usd | integer | |
price_eur | number | |
effective_min_price_eur | integer | |
price_rub | number | |
effective_min_price_rub | integer |
{
"id": 1,
"updater_id": 2,
"company_id": 1,
"product_id": 1,
"source_type": "purchase",
"source_id": 1,
"price": 1100,
"currency": "uzs",
"min_price": 3000,
"min_price_percent": null,
"created_at": "2026-09-30 12:47:59",
"updated_at": "2026-09-30 12:52:24",
"effective_min_price": 3000,
"price_uzs": 1100,
"effective_min_price_uzs": 3000,
"price_usd": 1.1,
"effective_min_price_usd": 3,
"price_eur": 1.1,
"effective_min_price_eur": 3,
"price_rub": 1.1,
"effective_min_price_rub": 3
}Narxlar ro‘yxati
/company/product/priceJoriy kompaniya tovarlarining sotuv narxlari tovar va uning kategoriyasi bilan. Filtrlar: product_id, currency, product.name, product.barcode, product.category_id (ichki kategoriyalar bilan); id va price bo‘yicha saralash.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
So‘rov parametrlari
| Parametr | Tavsif |
|---|---|
filter[id] | ID — aniq qiymat |
filter[updater_id] | Yangilovchi — aniq qiymat |
filter[company_id] | Kompaniya — aniq qiymat |
filter[product_id] | Mahsulot — aniq qiymat |
filter[currency] | Valyuta — aniq qiymat |
filter[created_at] | Yaratilgan — davr: [0] — dan, [1] — gacha (Y-m-d) |
filter[product.category_id] | Kategoriya — aniq qiymat (ichki elementlar bilan) |
filter[product.name] | Nomlanish — qator qismi bo‘yicha qidiruv |
filter[product.barcode] | Shtrix kod — aniq qiymat |
sort[] | Saralash, - — kamayish bo‘yicha: id, -id, price, -price |
with[] | Bog‘liq ma’lumotlarni qo‘shish: updater.profile, company, product, product.category, product.category.ancestors |
page | Sahifa raqami, 1 dan |
page-size | Sahifadagi yozuvlar soni, ko‘pi bilan 20 |
GET /company/product/price?sort[0]=id&sort[1]=-id&sort[2]=price&sort[3]=-priceJavob · 200
Sahifalangan javob: yozuvlar data[] ichida, sahifalash links va meta da.
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
data | object[] | Ma'lumotlar |
data[].id | integer | ID |
data[].updater_id | integer | Yangilovchi |
data[].company_id | integer | Kompaniya |
data[].product_id | integer | Mahsulot |
data[].source_type | string | Manba |
data[].source_id | integer | Manba |
data[].price | integer | Narxi |
data[].currency | string | Valyuta |
data[].min_price | null | |
data[].min_price_percent | null | |
data[].created_at | string | Yaratilgan |
data[].updated_at | string | Yangilangan |
data[].effective_min_price | integer | |
data[].price_uzs | integer | |
data[].effective_min_price_uzs | integer | |
data[].price_usd | number | |
data[].effective_min_price_usd | integer | |
data[].price_eur | number | |
data[].effective_min_price_eur | integer | |
data[].price_rub | number | |
data[].effective_min_price_rub | integer |
{
"data": [
{
"id": 1,
"updater_id": 2,
"company_id": 1,
"product_id": 1,
"source_type": "purchase",
"source_id": 1,
"price": 1100,
"currency": "uzs",
"min_price": null,
"min_price_percent": null,
"created_at": "2026-09-30 12:47:59",
"updated_at": "2026-09-30 12:47:59",
"effective_min_price": 0,
"price_uzs": 1100,
"effective_min_price_uzs": 0,
"price_usd": 1.1,
"effective_min_price_usd": 0,
"price_eur": 1.1,
"effective_min_price_eur": 0,
"price_rub": 1.1,
"effective_min_price_rub": 0
},
{
"id": 2,
"updater_id": 2,
"company_id": 1,
"product_id": 2,
"source_type": "purchase",
"source_id": 1,
"price": 2400,
"currency": "usd",
"min_price": null,
"min_price_percent": null,
"created_at": "2026-09-30 12:47:59",
"updated_at": "2026-09-30 12:47:59",
"effective_min_price": 0,
"price_uzs": 2400000,
"effective_min_price_uzs": 0,
"price_usd": 2400,
"effective_min_price_usd": 0,
"price_eur": 2400,
"effective_min_price_eur": 0,
"price_rub": 2400,
"effective_min_price_rub": 0
}
],
"links": {
"first": "https://api.wasyt.uz/company/product/price?page=1",
"last": "https://api.wasyt.uz/company/product/price?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [],
"path": "https://api.wasyt.uz/company/product/price",
"per_page": 20,
"to": 2,
"total": 2
}
}Narxni ko‘rish
/company/product/price/{model}Joriy kompaniya tovarining sotuv narxini ID bo‘yicha qaytaradi.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
Yo‘l parametrlari
| Parametr | Tavsif |
|---|---|
model | Yozuv ID si |
Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
id | integer | ID |
updater_id | integer | Yangilovchi |
company_id | integer | Kompaniya |
product_id | integer | Mahsulot |
source_type | string | Manba |
source_id | integer | Manba |
price | integer | Narxi |
currency | string | Valyuta |
min_price | null | |
min_price_percent | null | |
created_at | string | Yaratilgan |
updated_at | string | Yangilangan |
effective_min_price | integer | |
price_uzs | integer | |
effective_min_price_uzs | integer | |
price_usd | number | |
effective_min_price_usd | integer | |
price_eur | number | |
effective_min_price_eur | integer | |
price_rub | number | |
effective_min_price_rub | integer |
{
"id": 1,
"updater_id": 2,
"company_id": 1,
"product_id": 1,
"source_type": "purchase",
"source_id": 1,
"price": 1100,
"currency": "uzs",
"min_price": null,
"min_price_percent": null,
"created_at": "2026-09-30 12:47:59",
"updated_at": "2026-09-30 12:47:59",
"effective_min_price": 0,
"price_uzs": 1100,
"effective_min_price_uzs": 0,
"price_usd": 1.1,
"effective_min_price_usd": 0,
"price_eur": 1.1,
"effective_min_price_eur": 0,
"price_rub": 1.1,
"effective_min_price_rub": 0
}
