Skip to content

Narx yorliqlari ​

Kompaniyaning narx yorlig‘i shablonlari («Bosma shakllar»): o‘lcham va maket elementlari. Tizim yorlig‘i (is_default) avtomatik yaratiladi va o‘chirilmaydi.

MetodManzilVazifasi
GET/company/product/price-tagNarx yorliqlari ro‘yxati
GET/company/product/price-tag/{model}Narx yorlig‘ini ko‘rish
POST/company/product/price-tagNarx yorlig‘ini yaratish
PUT/company/product/price-tag/{model}Narx yorlig‘ini tahrirlash
DELETE/company/product/price-tag/{model}Narx yorlig‘ini o‘chirish
DELETE/company/product/price-tag/{value}/restoreNarx yorlig‘ini tiklash

Narx yorliqlari ro‘yxati ​

GET/company/product/price-tag

Kompaniyaning narx yorlig‘i shablonlari. purchase_product_id query-parametri bilan tizim elementlari shu kirim qatoridagi tovarning haqiqiy ma’lumotlari bilan to‘ldiriladi. Tizim yorlig‘i birinchi: sort[]=-is_default&sort[]=-id.

Sarlavhalar (headers) ​

SarlavhaQiymatTavsif
AuthorizationBearer {token}POST /common/auth/login dan olingan token
Acceptapplication/jsonJavob JSON da
Accept-LanguageruXabarlar va nomlar tili: ru, uz, oz

So‘rov parametrlari ​

ParametrTavsif
filter[id]ID — aniq qiymat
filter[creator_id]Yaratuvchi — aniq qiymat
filter[company_id]Kompaniya — aniq qiymat
filter[name]Nomlanish — qator qismi bo‘yicha qidiruv
filter[is_default]aniq qiymat
filter[created_at]Yaratilgan — davr: [0] — dan, [1] — gacha (Y-m-d)
sort[]Saralash, - — kamayish bo‘yicha: id, -id, is_default, -is_default
with[]Bog‘liq ma’lumotlarni qo‘shish: creator.profile, company
pageSahifa raqami, 1 dan
page-sizeSahifadagi yozuvlar soni, ko‘pi bilan 20
http
GET /company/product/price-tag?filter[is_default]=1

Javob · 200 ​

Sahifalangan javob: yozuvlar data[] ichida, sahifalash links va meta da.

Javob maydonlari
MaydonTuriTavsif
dataobject[]Ma'lumotlar
data[].idintegerID
data[].creator_idnullYaratuvchi
data[].company_idintegerKompaniya
data[].namestringNomlanish
data[].widthintegerKenglik
data[].heightintegerBalandlik
data[].elementsobject[]Elementlar
data[].elements[].xinteger
data[].elements[].yinteger
data[].elements[].zinteger
data[].elements[].boldboolean
data[].elements[].typestringTuri
data[].elements[].colorstringRang
data[].elements[].fontSizeinteger
data[].elements[].example_textstring
data[].elements[].valuenullMa'nosi
data[].is_defaultboolean
data[].created_atstringYaratilgan
data[].updated_atstringYangilangan
data[].is_deletedboolean
json
{
    "data": [
        {
            "id": 16,
            "creator_id": null,
            "company_id": 1,
            "name": "Стандартный ценник 58×40",
            "width": 58,
            "height": 40,
            "elements": [
                {
                    "x": 5,
                    "y": 3,
                    "z": 5001,
                    "bold": true,
                    "type": "#product_name",
                    "color": "#334155",
                    "fontSize": 17,
                    "example_text": "Название товара",
                    "value": null
                },
                {
                    "x": 6,
                    "y": 6,
                    "z": 5002,
                    "bold": true,
                    "type": "#sale_price",
                    "color": "#0f172a",
                    "fontSize": 25,
                    "value": null
                }
            ],
            "is_default": true,
            "created_at": "2026-09-30 12:52:28",
            "updated_at": "2026-09-30 12:52:28",
            "is_deleted": false
        }
    ],
    "links": {
        "first": "https://api.wasyt.uz/company/product/price-tag?page=1",
        "last": "https://api.wasyt.uz/company/product/price-tag?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [],
        "path": "https://api.wasyt.uz/company/product/price-tag",
        "per_page": 20,
        "to": 1,
        "total": 1
    }
}

Narx yorlig‘ini ko‘rish ​

GET/company/product/price-tag/{model}

purchase_product_id siz bitta shablonni qaytaradi. Bir yoki bir nechta purchase_product_id[] bilan narx yorliqlari massivini qaytaradi — har bir kirim qatori uchun bittadan, tovar ma’lumotlari va ombordagi joriy sotuv narxi bilan (doim UZS da).

Sarlavhalar (headers) ​

SarlavhaQiymatTavsif
AuthorizationBearer {token}POST /common/auth/login dan olingan token
Acceptapplication/jsonJavob JSON da
Accept-LanguageruXabarlar va nomlar tili: ru, uz, oz

Yo‘l parametrlari ​

ParametrTavsif
modelYozuv ID si

Javob · 200 ​

Javob maydonlari
MaydonTuriTavsif
idintegerID
creator_idintegerYaratuvchi
company_idintegerKompaniya
namestringNomlanish
widthintegerKenglik
heightintegerBalandlik
elementsobject[]Elementlar
elements[].xinteger
elements[].yinteger
elements[].textstringMatn
elements[].typestringTuri
elements[].colorstringRang
elements[].fontSizeinteger
is_defaultboolean
created_atstringYaratilgan
updated_atstringYangilangan
is_deletedboolean
json
{
    "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
}

Narx yorlig‘ini yaratish ​

POST/company/product/price-tag

Narx yorlig‘i shablonini yaratadi: nom (kompaniyada noyob), width/height va elements massivi. Elementlarning faqat sanab o‘tilgan xossalari saqlanadi; tizim element turi (tizim prefiksi bilan) mavjud bo‘lishi kerak.

Sarlavhalar (headers) ​

SarlavhaQiymatTavsif
AuthorizationBearer {token}POST /common/auth/login dan olingan token
Acceptapplication/jsonJavob JSON da
Accept-LanguageruXabarlar va nomlar tili: ru, uz, oz

So‘rov tanasi ​

MaydonTuriMajburiyTavsif
namestringHaNomlanish. Maks. 255 belgi. Kompaniyada takrorlanmas qiymat
widthintegerHaKenglik. Kamida 1
heightintegerHaBalandlik. Kamida 1
elementsobject[]HaElementlar
elements[]arrayHaElementlar
elements[].typestringHaTuri. Maks. 255 belgi
elements[].textstringYo‘qMatn. Maks. 1000 belgi
elements[].example_textstringYo‘qMaks. 1000 belgi
elements[].datastringYo‘qMa'lumotlar. Maks. 2048 belgi
elements[].srcstringYo‘qMaks. 2048 belgi. Shablon /^[^"'<>\s]*$/
elements[].colorstringYo‘qRang. Maks. 32 belgi. Shablon /^[#0-9a-zA-Z(),.%\s]+$/
elements[].alignstringYo‘qMumkin qiymatlar: start, center, end
elements[].xnumberYo‘q
elements[].ynumberYo‘q
elements[].znumberYo‘q
elements[].widthnumberYo‘qKenglik. Kamida 0
elements[].heightnumberYo‘qBalandlik. Kamida 0
elements[].fontSizenumberYo‘qKamida 0
elements[].boldbooleanYo‘q
elements[].italicbooleanYo‘q
elements[].underlinebooleanYo‘q
elements[].strikethroughbooleanYo‘q
json
{
    "name": "Promo label 512x512",
    "width": 512,
    "height": 512,
    "elements": [
        {
            "type": "text",
            "text": "АКЦИЯ",
            "x": 20,
            "y": 20,
            "fontSize": 28,
            "color": "#e11d48"
        },
        {
            "type": "image",
            "src": "/uploads/logo.png",
            "x": 380,
            "y": 20,
            "width": 110,
            "height": 60
        },
        {
            "type": "#product_name",
            "x": 20,
            "y": 90,
            "fontSize": 36,
            "color": "#111827"
        },
        {
            "type": "#brand",
            "x": 20,
            "y": 140,
            "fontSize": 20,
            "color": "#6b7280"
        },
        {
            "type": "#category",
            "x": 20,
            "y": 168,
            "fontSize": 16,
            "color": "#9ca3af"
        },
        {
            "type": "#sale_price",
            "x": 20,
            "y": 220,
            "fontSize": 64,
            "color": "#111827"
        },
        {
            "type": "#currency",
            "x": 240,
            "y": 240,
            "fontSize": 28,
            "color": "#111827"
        },
        {
            "type": "#sale_price_uzs",
            "x": 20,
            "y": 296,
            "fontSize": 18,
            "color": "#6b7280"
        },
        {
            "type": "#sale_price_usd",
            "x": 20,
            "y": 320,
            "fontSize": 18,
            "color": "#6b7280"
        },
        {
            "type": "#units_of_measurement",
            "x": 320,
            "y": 270,
            "fontSize": 20,
            "color": "#111827"
        },
        {
            "type": "#barcode",
            "x": 20,
            "y": 360,
            "width": 300,
            "height": 100
        },
        {
            "type": "#plu",
            "x": 20,
            "y": 470,
            "fontSize": 18,
            "color": "#111827"
        },
        {
            "type": "#product_id",
            "x": 420,
            "y": 486,
            "fontSize": 12,
            "color": "#9ca3af"
        },
        {
            "type": "#print_date",
            "x": 360,
            "y": 470,
            "fontSize": 14,
            "color": "#9ca3af"
        },
        {
            "type": "qr",
            "data": "https://example.uz/p/1",
            "x": 380,
            "y": 360,
            "width": 110,
            "height": 110
        }
    ]
}
bash
curl -X POST "https://api.wasyt.uz/company/product/price-tag" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"name":"Promo label 512x512","width":512,"height":512,"elements":[{"type":"text","text":"АКЦИЯ","x":20,"y":20,"fontSize":28,"color":"#e11d48"},{"type":"image","src":"/uploads/logo.png","x":380,"y":20,"width":110,"height":60},{"type":"#product_name","x":20,"y":90,"fontSize":36,"color":"#111827"},{"type":"#brand","x":20,"y":140,"fontSize":20,"color":"#6b7280"},{"type":"#category","x":20,"y":168,"fontSize":16,"color":"#9ca3af"},{"type":"#sale_price","x":20,"y":220,"fontSize":64,"color":"#111827"},{"type":"#currency","x":240,"y":240,"fontSize":28,"color":"#111827"},{"type":"#sale_price_uzs","x":20,"y":296,"fontSize":18,"color":"#6b7280"},{"type":"#sale_price_usd","x":20,"y":320,"fontSize":18,"color":"#6b7280"},{"type":"#units_of_measurement","x":320,"y":270,"fontSize":20,"color":"#111827"},{"type":"#barcode","x":20,"y":360,"width":300,"height":100},{"type":"#plu","x":20,"y":470,"fontSize":18,"color":"#111827"},{"type":"#product_id","x":420,"y":486,"fontSize":12,"color":"#9ca3af"},{"type":"#print_date","x":360,"y":470,"fontSize":14,"color":"#9ca3af"},{"type":"qr","data":"https://example.uz/p/1","x":380,"y":360,"width":110,"height":110}]}'

Javob · 200 ​

Javob maydonlari
MaydonTuriTavsif
is_defaultboolean
namestringNomlanish
widthintegerKenglik
heightintegerBalandlik
elementsobject[]Elementlar
elements[].typestringTuri
elements[].textstringMatn
elements[].colorstringRang
elements[].xinteger
elements[].yinteger
elements[].fontSizeinteger
updated_atstringYangilangan
created_atstringYaratilgan
creator_idintegerYaratuvchi
company_idintegerKompaniya
idintegerID
is_deletedboolean
json
{
    "is_default": false,
    "name": "Promo label 512x512",
    "width": 512,
    "height": 512,
    "elements": [
        {
            "type": "text",
            "text": "АКЦИЯ",
            "color": "#e11d48",
            "x": 20,
            "y": 20,
            "fontSize": 28
        },
        {
            "type": "image",
            "src": "https://api-minio.icangroup.uz/wasyt/uploads/logo.png",
            "x": 380,
            "y": 20,
            "width": 110,
            "height": 60
        }
    ],
    "updated_at": "2026-09-30 12:52:26",
    "created_at": "2026-09-30 12:52:26",
    "creator_id": 2,
    "company_id": 1,
    "id": 10,
    "is_deleted": false
}

Narx yorlig‘ini tahrirlash ​

PUT/company/product/price-tag/{model}

Narx yorlig‘i shablonining nomi, o‘lchamlari va elementlarini to‘liq qayta yozadi; tizim yorlig‘ini ham tahrirlash mumkin.

Formadan (multipart/form-data) PUT metodi POST + ?_method=PUT parametri bilan yuboriladi.

Sarlavhalar (headers) ​

SarlavhaQiymatTavsif
AuthorizationBearer {token}POST /common/auth/login dan olingan token
Acceptapplication/jsonJavob JSON da
Accept-LanguageruXabarlar va nomlar tili: ru, uz, oz

Yo‘l parametrlari ​

ParametrTavsif
modelYozuv ID si

So‘rov tanasi ​

MaydonTuriMajburiyTavsif
namestringHaNomlanish. Maks. 255 belgi. Kompaniyada takrorlanmas qiymat
widthintegerHaKenglik. Kamida 1
heightintegerHaBalandlik. Kamida 1
elementsobject[]HaElementlar
elements[]arrayHaElementlar
elements[].typestringHaTuri. Maks. 255 belgi
elements[].textstringYo‘qMatn. Maks. 1000 belgi
elements[].example_textstringYo‘qMaks. 1000 belgi
elements[].datastringYo‘qMa'lumotlar. Maks. 2048 belgi
elements[].srcstringYo‘qMaks. 2048 belgi. Shablon /^[^"'<>\s]*$/
elements[].colorstringYo‘qRang. Maks. 32 belgi. Shablon /^[#0-9a-zA-Z(),.%\s]+$/
elements[].alignstringYo‘qMumkin qiymatlar: start, center, end
elements[].xnumberYo‘q
elements[].ynumberYo‘q
elements[].znumberYo‘q
elements[].widthnumberYo‘qKenglik. Kamida 0
elements[].heightnumberYo‘qBalandlik. Kamida 0
elements[].fontSizenumberYo‘qKamida 0
elements[].boldbooleanYo‘q
elements[].italicbooleanYo‘q
elements[].underlinebooleanYo‘q
elements[].strikethroughbooleanYo‘q
json
{
    "name": "Price tag 1",
    "width": 1024,
    "height": 768,
    "elements": [
        {
            "type": "#barcode",
            "x": 10,
            "y": 10,
            "width": 200,
            "height": 80
        },
        {
            "type": "text",
            "text": "Updated",
            "x": 20,
            "y": 120,
            "fontSize": 24,
            "color": "#111"
        }
    ]
}
bash
curl -X PUT "https://api.wasyt.uz/company/product/price-tag/1" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"name":"Price tag 1","width":1024,"height":768,"elements":[{"type":"#barcode","x":10,"y":10,"width":200,"height":80},{"type":"text","text":"Updated","x":20,"y":120,"fontSize":24,"color":"#111"}]}'

Javob · 200 ​

Javob maydonlari
MaydonTuriTavsif
idintegerID
creator_idintegerYaratuvchi
company_idintegerKompaniya
namestringNomlanish
widthintegerKenglik
heightintegerBalandlik
elementsobject[]Elementlar
elements[].typestringTuri
elements[].xinteger
elements[].yinteger
elements[].widthintegerKenglik
elements[].heightintegerBalandlik
elements[].valuenullMa'nosi
is_defaultboolean
created_atstringYaratilgan
updated_atstringYangilangan
is_deletedboolean
json
{
    "id": 1,
    "creator_id": 2,
    "company_id": 1,
    "name": "Price tag 1",
    "width": 1024,
    "height": 768,
    "elements": [
        {
            "type": "#barcode",
            "x": 10,
            "y": 10,
            "width": 200,
            "height": 80,
            "value": null
        },
        {
            "type": "text",
            "text": "Updated",
            "color": "#111",
            "x": 20,
            "y": 120,
            "fontSize": 24
        }
    ],
    "is_default": false,
    "created_at": "2026-09-30 12:47:59",
    "updated_at": "2026-09-30 12:52:32",
    "is_deleted": false
}

Narx yorlig‘ini o‘chirish ​

DELETE/company/product/price-tag/{model}

Narx yorlig‘i shablonini yumshoq o‘chiradi. Tizim yorlig‘ini (is_default = true) o‘chirib bo‘lmaydi — 400.

Formadan (multipart/form-data) DELETE metodi POST + ?_method=DELETE parametri bilan yuboriladi.

Sarlavhalar (headers) ​

SarlavhaQiymatTavsif
AuthorizationBearer {token}POST /common/auth/login dan olingan token
Acceptapplication/jsonJavob JSON da
Accept-LanguageruXabarlar va nomlar tili: ru, uz, oz

Yo‘l parametrlari ​

ParametrTavsif
modelYozuv ID si

Javob · 200 ​

Javob maydonlari
MaydonTuriTavsif
messagestringXabar
json
{
    "message": "Success"
}

Narx yorlig‘ini tiklash ​

DELETE/company/product/price-tag/{value}/restore

Avval o‘chirilgan narx yorlig‘i shablonini ID bo‘yicha tiklaydi.

Formadan (multipart/form-data) DELETE metodi POST + ?_method=DELETE parametri bilan yuboriladi.

Sarlavhalar (headers) ​

SarlavhaQiymatTavsif
AuthorizationBearer {token}POST /common/auth/login dan olingan token
Acceptapplication/jsonJavob JSON da
Accept-LanguageruXabarlar va nomlar tili: ru, uz, oz

Yo‘l parametrlari ​

ParametrTavsif
valueYozuv ID si (o‘chirilgani ham)

Javob · 200 ​

Javob maydonlari
MaydonTuriTavsif
messagestringXabar
json
{
    "message": "Success"
}