Skip to content

Kategoriyalar ​

Tovar kategoriyalari daraxti (nested set). Har bir kompaniya, jumladan filial ham, o‘z daraxtini yuritadi; o‘z daraxti bo‘lmagan eski filial bosh kompaniya daraxtini ko‘radi.

MetodManzilVazifasi
GET/company/product/category/treeKategoriyalar daraxti
PATCH/company/product/category/moveKategoriyani ko‘chirish
GET/company/product/categoryKategoriyalar ro‘yxati
GET/company/product/category/{model}Kategoriyani ko‘rish
POST/company/product/categoryKategoriya yaratish
PUT/company/product/category/{model}Kategoriyani tahrirlash
DELETE/company/product/category/{model}Kategoriyani o‘chirish
DELETE/company/product/category/{value}/restoreKategoriyani tiklash

Kategoriyalar daraxti ​

GET/company/product/category/tree

Kompaniyaning kategoriyalar daraxtini (o‘chirilgan tugunlar bilan birga) ildiz tugunisiz qaytaradi. Kompaniyaning o‘z daraxti bo‘lmasa, eng yaqin bosh kompaniya daraxti olinadi; u ham bo‘lmasa — bo‘sh massiv.

Sarlavhalar (headers) ​

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

Javob · 200 ​

Javob maydonlari
MaydonTuriTavsif
[].idintegerID
[].company_idintegerKompaniya
[].lftinteger
[].rgtinteger
[].parent_idintegerOta-ona
[].nameobjectNomlanish
[].name.ozstring
[].name.rustring
[].name.uzstring
[].created_atstringYaratilgan
[].updated_atstringYangilangan
[].is_deletedboolean
[].textstringMatn
[].stateobject
[].state.disabledboolean
[].state.hiddenboolean
[].state.openedboolean
[].childrenobject[]
[].children[].idintegerID
[].children[].company_idintegerKompaniya
[].children[].lftinteger
[].children[].rgtinteger
[].children[].parent_idintegerOta-ona
[].children[].nameobjectNomlanish
[].children[].name.ozstring
[].children[].name.rustring
[].children[].name.uzstring
[].children[].created_atstringYaratilgan
[].children[].updated_atstringYangilangan
[].children[].is_deletedboolean
[].children[].textstringMatn
[].children[].stateobject
[].children[].state.disabledboolean
[].children[].state.hiddenboolean
[].children[].state.openedboolean
[].children[].childrenobject[]
[].children[].children[].idintegerID
[].children[].children[].company_idintegerKompaniya
[].children[].children[].lftinteger
[].children[].children[].rgtinteger
[].children[].children[].parent_idintegerOta-ona
[].children[].children[].nameobjectNomlanish
[].children[].children[].name.ozstring
[].children[].children[].name.rustring
[].children[].children[].name.uzstring
[].children[].children[].created_atstringYaratilgan
[].children[].children[].updated_atstringYangilangan
[].children[].children[].is_deletedboolean
[].children[].children[].textstringMatn
[].children[].children[].stateobject
[].children[].children[].state.disabledboolean
[].children[].children[].state.hiddenboolean
[].children[].children[].state.openedboolean
[].children[].children[].childrenarray
json
[
    {
        "id": 2,
        "company_id": 1,
        "lft": 2,
        "rgt": 13,
        "parent_id": 1,
        "name": {
            "oz": "Category 1 oz",
            "ru": "Category 1 ru",
            "uz": "Category 1 uz"
        },
        "created_at": "2026-09-30 12:47:59",
        "updated_at": "2026-09-30 12:47:59",
        "is_deleted": false,
        "text": "Category 1 ru",
        "state": {
            "disabled": false,
            "hidden": false,
            "opened": true
        },
        "children": [
            {
                "id": 3,
                "company_id": 1,
                "lft": 3,
                "rgt": 8,
                "parent_id": 2,
                "name": {
                    "oz": "Category 1-1 oz",
                    "ru": "Category 1-1 ru",
                    "uz": "Category 1-1 uz"
                },
                "created_at": "2026-09-30 12:47:59",
                "updated_at": "2026-09-30 12:47:59",
                "is_deleted": false,
                "text": "Category 1-1 ru",
                "state": {
                    "disabled": false,
                    "hidden": false,
                    "opened": true
                },
                "children": [
                    {
                        "id": 4,
                        "company_id": 1,
                        "lft": 4,
                        "rgt": 5,
                        "parent_id": 3,
                        "name": {
                            "oz": "Category 1-1-1 oz",
                            "ru": "Category 1-1-1 ru",
                            "uz": "Category 1-1-1 uz"
                        },
                        "created_at": "2026-09-30 12:47:59",
                        "updated_at": "2026-09-30 12:47:59",
                        "is_deleted": false,
                        "text": "Category 1-1-1 ru",
                        "state": {
                            "disabled": false,
                            "hidden": false,
                            "opened": true
                        },
                        "children": []
                    },
                    {
                        "id": 5,
                        "company_id": 1,
                        "lft": 6,
                        "rgt": 7,
                        "parent_id": 3,
                        "name": {
                            "oz": "Category 1-1-2 oz",
                            "ru": "Category 1-1-2 ru",
                            "uz": "Category 1-1-2 uz"
                        },
                        "created_at": "2026-09-30 12:47:59",
                        "updated_at": "2026-09-30 12:47:59",
                        "is_deleted": false,
                        "text": "Category 1-1-2 ru",
                        "state": {
                            "disabled": false,
                            "hidden": false,
                            "opened": true
                        },
                        "children": []
                    }
                ]
            },
            {
                "id": 6,
                "company_id": 1,
                "lft": 9,
                "rgt": 12,
                "parent_id": 2,
                "name": {
                    "oz": "Category 1-2 oz",
                    "ru": "Category 1-2 ru",
                    "uz": "Category 1-2 uz"
                },
                "created_at": "2026-09-30 12:47:59",
                "updated_at": "2026-09-30 12:47:59",
                "is_deleted": false,
                "text": "Category 1-2 ru",
                "state": {
                    "disabled": false,
                    "hidden": false,
                    "opened": true
                },
                "children": [
                    {
                        "id": 7,
                        "company_id": 1,
                        "lft": 10,
                        "rgt": 11,
                        "parent_id": 6,
                        "name": {
                            "oz": "Category 1-2-1 oz",
                            "ru": "Category 1-2-1 ru",
                            "uz": "Category 1-2-1 uz"
                        },
                        "created_at": "2026-09-30 12:47:59",
                        "updated_at": "2026-09-30 12:47:59",
                        "is_deleted": false,
                        "text": "Category 1-2-1 ru",
                        "state": {
                            "disabled": false,
                            "hidden": false,
                            "opened": true
                        },
                        "children": []
                    }
                ]
            }
        ]
    },
    {
        "id": 8,
        "company_id": 1,
        "lft": 14,
        "rgt": 15,
        "parent_id": 1,
        "name": {
            "oz": "Category 2 oz",
            "ru": "Category 2 ru",
            "uz": "Category 2 uz"
        },
        "created_at": "2026-09-30 12:47:59",
        "updated_at": "2026-09-30 12:47:59",
        "is_deleted": false,
        "text": "Category 2 ru",
        "state": {
            "disabled": false,
            "hidden": false,
            "opened": true
        },
        "children": []
    }
]

Kategoriyani ko‘chirish ​

PATCH/company/product/category/move

id kategoriyasini node_id kategoriyasiga nisbatan ko‘chiradi: type = before (oldiga), after (keyiniga) yoki into (ichiga, oxirgi ichki tugun sifatida). Ildiz tugunni ko‘chirib bo‘lmaydi.

Formadan (multipart/form-data) PATCH metodi POST + ?_method=PATCH 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

So‘rov tanasi ​

MaydonTuriMajburiyTavsif
typestringHaTuri. Mumkin qiymatlar: before, after, into
idstringHaID. Foydalanuvchiga ochiq mavjud yozuv ID si
node_idintegerHaFoydalanuvchiga ochiq mavjud yozuv ID si
json
{
    "id": 2,
    "node_id": 8,
    "type": "before"
}
bash
curl -X PATCH "https://api.wasyt.uz/company/product/category/move" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"id":2,"node_id":8,"type":"before"}'

Javob · 200 ​

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

Kategoriyalar ro‘yxati ​

GET/company/product/category

Kompaniya kategoriyalarining daraxt tartibidagi tekis ro‘yxati (ildizsiz), har birida ajdodlar zanjiri ancestors. Filtrlar: name, parent_id, 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[parent_id]Ota-ona — aniq qiymat
filter[name]Nomlanish — qator qismi bo‘yicha qidiruv
sort[]Saralash, - — kamayish bo‘yicha: lft, -lft
pageSahifa raqami, 1 dan
page-sizeSahifadagi yozuvlar soni, ko‘pi bilan 20
show[]Qo‘shimcha hisoblangan ma’lumotlar (metod tavsifiga qarang)
http
GET /company/product/category?show[0]=with-deleted

Javob · 200 ​

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

Javob maydonlari
MaydonTuriTavsif
dataobject[]Ma'lumotlar
data[].idintegerID
data[].company_idintegerKompaniya
data[].lftinteger
data[].rgtinteger
data[].parent_idintegerOta-ona
data[].nameobjectNomlanish
data[].name.ozstring
data[].name.rustring
data[].name.uzstring
data[].created_atstringYaratilgan
data[].updated_atstringYangilangan
data[].is_deletedboolean
data[].textstringMatn
data[].stateobject
data[].state.disabledboolean
data[].state.hiddenboolean
data[].state.openedboolean
data[].ancestorsarray
data[].full_textstringTo'liq matn
json
{
    "data": [
        {
            "id": 2,
            "company_id": 1,
            "lft": 2,
            "rgt": 13,
            "parent_id": 1,
            "name": {
                "oz": "Category 1 oz",
                "ru": "Category 1 ru",
                "uz": "Category 1 uz"
            },
            "created_at": "2026-09-30 12:47:59",
            "updated_at": "2026-09-30 12:47:59",
            "is_deleted": false,
            "text": "Category 1 ru",
            "state": {
                "disabled": false,
                "hidden": false,
                "opened": true
            },
            "ancestors": [],
            "full_text": "Category 1 ru"
        },
        {
            "id": 3,
            "company_id": 1,
            "lft": 3,
            "rgt": 8,
            "parent_id": 2,
            "name": {
                "oz": "Category 1-1 oz",
                "ru": "Category 1-1 ru",
                "uz": "Category 1-1 uz"
            },
            "created_at": "2026-09-30 12:47:59",
            "updated_at": "2026-09-30 12:47:59",
            "is_deleted": false,
            "text": "Category 1-1 ru",
            "state": {
                "disabled": false,
                "hidden": false,
                "opened": true
            },
            "ancestors": [
                {
                    "id": 2,
                    "company_id": 1,
                    "lft": 2,
                    "rgt": 13,
                    "parent_id": 1,
                    "name": {
                        "oz": "Category 1 oz",
                        "ru": "Category 1 ru",
                        "uz": "Category 1 uz"
                    },
                    "created_at": "2026-09-30 12:47:59",
                    "updated_at": "2026-09-30 12:47:59",
                    "is_deleted": false,
                    "text": "Category 1 ru",
                    "state": {
                        "disabled": false,
                        "hidden": false,
                        "opened": true
                    }
                }
            ],
            "full_text": "Category 1 ru => Category 1-1 ru"
        }
    ],
    "links": {
        "first": "https://api.wasyt.uz/company/product/category?page=1",
        "last": "https://api.wasyt.uz/company/product/category?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [],
        "path": "https://api.wasyt.uz/company/product/category",
        "per_page": 20,
        "to": 7,
        "total": 7
    }
}

Kategoriyani ko‘rish ​

GET/company/product/category/{model}

Kompaniya kategoriyasini ID bo‘yicha qaytaradi.

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
company_idintegerKompaniya
lftinteger
rgtinteger
parent_idintegerOta-ona
nameobjectNomlanish
name.ozstring
name.rustring
name.uzstring
created_atstringYaratilgan
updated_atstringYangilangan
is_deletedboolean
textstringMatn
stateobject
state.disabledboolean
state.hiddenboolean
state.openedboolean
ancestorsarray
full_textstringTo'liq matn
json
{
    "id": 2,
    "company_id": 1,
    "lft": 2,
    "rgt": 13,
    "parent_id": 1,
    "name": {
        "oz": "Category 1 oz",
        "ru": "Category 1 ru",
        "uz": "Category 1 uz"
    },
    "created_at": "2026-09-30 12:47:59",
    "updated_at": "2026-09-30 12:47:59",
    "is_deleted": false,
    "text": "Category 1 ru",
    "state": {
        "disabled": false,
        "hidden": false,
        "opened": true
    },
    "ancestors": [],
    "full_text": "Category 1 ru"
}

Kategoriya yaratish ​

POST/company/product/category

Uch tildagi (ru, uz, oz) kompaniyada noyob nomli kategoriya yaratadi. Kompaniyada hali daraxt bo‘lmasa, ildiz avtomatik yaratiladi.

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
name.{lang}stringHaNomlanish. Maks. 255 belgi. Kompaniyada takrorlanmas qiymat
json
{
    "name": {
        "ru": "Branch Category 2 ru",
        "uz": "Branch Category 2 uz",
        "oz": "Branch Category 2 oz"
    }
}
bash
curl -X POST "https://api.wasyt.uz/company/product/category" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"name":{"ru":"Branch Category 2 ru","uz":"Branch Category 2 uz","oz":"Branch Category 2 oz"}}'

Javob · 200 ​

Javob maydonlari
MaydonTuriTavsif
nameobjectNomlanish
name.rustring
name.uzstring
name.ozstring
updated_atstringYangilangan
created_atstringYaratilgan
company_idintegerKompaniya
parent_idintegerOta-ona
lftinteger
rgtinteger
idintegerID
is_deletedboolean
json
{
    "name": {
        "ru": "Branch Category 2 ru",
        "uz": "Branch Category 2 uz",
        "oz": "Branch Category 2 oz"
    },
    "updated_at": "2026-09-30 12:52:17",
    "created_at": "2026-09-30 12:52:17",
    "company_id": 2,
    "parent_id": 9,
    "lft": 4,
    "rgt": 5,
    "id": 19,
    "is_deleted": false
}

Kategoriyani tahrirlash ​

PUT/company/product/category/{model}

Kategoriyaning lokallashtirilgan nomini o‘zgartiradi; daraxtdagi o‘rni kategoriyani ko‘chirish orqali o‘zgartiriladi.

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
name.{lang}stringHaNomlanish. Maks. 255 belgi. Kompaniyada takrorlanmas qiymat
json
{
    "name": {
        "ru": "Category 1 ru",
        "uz": "Category 1 uz",
        "oz": "Category 1 oz"
    }
}
bash
curl -X PUT "https://api.wasyt.uz/company/product/category/2" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"name":{"ru":"Category 1 ru","uz":"Category 1 uz","oz":"Category 1 oz"}}'

Javob · 200 ​

Javob maydonlari
MaydonTuriTavsif
idintegerID
company_idintegerKompaniya
lftinteger
rgtinteger
parent_idintegerOta-ona
nameobjectNomlanish
name.rustring
name.uzstring
name.ozstring
created_atstringYaratilgan
updated_atstringYangilangan
is_deletedboolean
textstringMatn
stateobject
state.disabledboolean
state.hiddenboolean
state.openedboolean
json
{
    "id": 2,
    "company_id": 1,
    "lft": 2,
    "rgt": 13,
    "parent_id": 1,
    "name": {
        "ru": "Category 1 ru",
        "uz": "Category 1 uz",
        "oz": "Category 1 oz"
    },
    "created_at": "2026-09-30 12:47:59",
    "updated_at": "2026-09-30 12:52:21",
    "is_deleted": false,
    "text": "Category 1 ru",
    "state": {
        "disabled": false,
        "hidden": false,
        "opened": true
    }
}

Kategoriyani o‘chirish ​

DELETE/company/product/category/{model}

Kategoriyani yumshoq o‘chiradi; uni tiklash mumkin.

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"
}

Kategoriyani tiklash ​

DELETE/company/product/category/{value}/restore

Kompaniyaning avval o‘chirilgan kategoriyasini 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"
}