Skip to content

Bonus hisoblashlari ​

Mijoz kartasidagi bonus ballari harakati jurnali: sotuvlardan hisoblanganlar va qo‘lda kiritilgan tuzatishlar. Har bir yozuv mijozning bonus_accumulations_amount balansini o‘zgartiradi.

MetodManzilVazifasi
GET/company/bonus/accumulationHisoblashlar ro‘yxati
GET/company/bonus/accumulation/{model}Hisoblash
POST/company/bonus/accumulationBonuslarni qo‘lda tuzatish

Hisoblashlar ro‘yxati ​

GET/company/bonus/accumulation

Mavjud kompaniyalar bonus ballari harakatining sahifalangan ro‘yxati. Mijoz, tur (income/outcome), sabab, manba va sana bo‘yicha filtrlar; format=excel Excel faylini 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

So‘rov parametrlari ​

ParametrTavsif
filter[id]ID — aniq qiymat
filter[company_id]Kompaniya — bitta qiymat yoki ro‘yxat filter[company_id][]
filter[creator_id]Yaratuvchi — aniq qiymat
filter[client_id]Mijoz — aniq qiymat
filter[type]Turi — aniq qiymat
filter[reason_type]Sabab turi — aniq qiymat
filter[source_type]Manba — aniq qiymat
filter[source_id]Manba — aniq qiymat
filter[created_at]Yaratilgan — davr: [0] — dan, [1] — gacha (Y-m-d)
sort[]Saralash, - — kamayish bo‘yicha: id, -id
with[]Bog‘liq ma’lumotlarni qo‘shish: company, creator.profile, client
pageSahifa raqami, 1 dan
page-sizeSahifadagi yozuvlar soni, ko‘pi bilan 20
http
GET /company/bonus/accumulation?sort[0]=id&sort[1]=-id

Javob · 200 ​

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

Javob maydonlari
MaydonTuriTavsif
dataobject[]Ma'lumotlar
data[].idintegerID
data[].company_idintegerKompaniya
data[].creator_idintegerYaratuvchi
data[].client_idintegerMijoz
data[].typestringTuri
data[].reason_typestringSabab turi
data[].amountintegerSumma
data[].source_typestringManba
data[].source_idintegerManba
data[].commentstringIzoh
data[].created_atstringYaratilgan
json
{
    "data": [
        {
            "id": 1,
            "company_id": 1,
            "creator_id": 2,
            "client_id": 1,
            "type": "income",
            "reason_type": "other",
            "amount": 1000,
            "source_type": "sale",
            "source_id": 1,
            "comment": "Comment 1",
            "created_at": "2026-09-30 12:47:59"
        }
    ],
    "links": {
        "first": "https://api.wasyt.uz/company/bonus/accumulation?page=1",
        "last": "https://api.wasyt.uz/company/bonus/accumulation?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [],
        "path": "https://api.wasyt.uz/company/bonus/accumulation",
        "per_page": 20,
        "to": 1,
        "total": 1
    }
}

Hisoblash ​

GET/company/bonus/accumulation/{model}

ID bo‘yicha bonus ballari harakatining bitta yozuvi.

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
creator_idintegerYaratuvchi
client_idintegerMijoz
typestringTuri
reason_typestringSabab turi
amountintegerSumma
source_typestringManba
source_idintegerManba
commentstringIzoh
created_atstringYaratilgan
json
{
    "id": 1,
    "company_id": 1,
    "creator_id": 2,
    "client_id": 1,
    "type": "income",
    "reason_type": "other",
    "amount": 1000,
    "source_type": "sale",
    "source_id": 1,
    "comment": "Comment 1",
    "created_at": "2026-09-30 12:47:59"
}

Bonuslarni qo‘lda tuzatish ​

POST/company/bonus/accumulation

Mijozning bonus ballarini qo‘lda hisoblaydi (type = income) yoki hisobdan chiqaradi (type = outcome) va kartasi balansini darhol o‘zgartiradi. Joriy balansdan ko‘p chiqarib bo‘lmaydi (amount maydonida xato). Yozuv manualy manbasi bilan saqlanadi; reason_type yuborilmasa sabab — other.

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
client_idintegerHaMijoz. Foydalanuvchiga ochiq mavjud yozuv ID si
typestringHaTuri. Mumkin qiymatlar: income, outcome
reason_typestringYo‘qSabab turi. Mumkin qiymatlar: sale_defect, sale_incorrect_description, sale_overdue, sale_incorrect_size, sale_employee_error, sale_delivery_delay, sale_incomplete, other
amountnumberHaSumma. Verguldan keyin 2 tagacha raqam. Kamida 0.01. 999999999999.99 dan oshmasin
commentstringYo‘qIzoh. Maks. 1000 belgi
json
{
    "client_id": 1,
    "type": "income",
    "reason_type": "sale_defect",
    "amount": 100,
    "comment": "Comment 3"
}
bash
curl -X POST "https://api.wasyt.uz/company/bonus/accumulation" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"client_id":1,"type":"income","reason_type":"sale_defect","amount":100,"comment":"Comment 3"}'

Javob · 200 ​

Javob maydonlari
MaydonTuriTavsif
client_idintegerMijoz
typestringTuri
reason_typestringSabab turi
amountintegerSumma
commentstringIzoh
source_typestringManba
created_atstringYaratilgan
company_idintegerKompaniya
creator_idintegerYaratuvchi
idintegerID
json
{
    "client_id": 1,
    "type": "income",
    "reason_type": "sale_defect",
    "amount": 100,
    "comment": "Comment 3",
    "source_type": "manualy",
    "created_at": "2026-09-30 12:51:00",
    "company_id": 1,
    "creator_id": 2,
    "id": 2
}