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.
| Metod | Manzil | Vazifasi |
|---|---|---|
| GET | /company/bonus/accumulation | Hisoblashlar ro‘yxati |
| GET | /company/bonus/accumulation/{model} | Hisoblash |
| POST | /company/bonus/accumulation | Bonuslarni qo‘lda tuzatish |
Hisoblashlar ro‘yxati
/company/bonus/accumulationMavjud 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)
| 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[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 |
page | Sahifa raqami, 1 dan |
page-size | Sahifadagi yozuvlar soni, ko‘pi bilan 20 |
GET /company/bonus/accumulation?sort[0]=id&sort[1]=-idJavob · 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[].company_id | integer | Kompaniya |
data[].creator_id | integer | Yaratuvchi |
data[].client_id | integer | Mijoz |
data[].type | string | Turi |
data[].reason_type | string | Sabab turi |
data[].amount | integer | Summa |
data[].source_type | string | Manba |
data[].source_id | integer | Manba |
data[].comment | string | Izoh |
data[].created_at | string | Yaratilgan |
{
"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
/company/bonus/accumulation/{model}ID bo‘yicha bonus ballari harakatining bitta yozuvi.
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 |
company_id | integer | Kompaniya |
creator_id | integer | Yaratuvchi |
client_id | integer | Mijoz |
type | string | Turi |
reason_type | string | Sabab turi |
amount | integer | Summa |
source_type | string | Manba |
source_id | integer | Manba |
comment | string | Izoh |
created_at | string | Yaratilgan |
{
"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
/company/bonus/accumulationMijozning 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)
| 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 |
|---|---|---|---|
client_id | integer | Ha | Mijoz. Foydalanuvchiga ochiq mavjud yozuv ID si |
type | string | Ha | Turi. Mumkin qiymatlar: income, outcome |
reason_type | string | Yo‘q | Sabab turi. Mumkin qiymatlar: sale_defect, sale_incorrect_description, sale_overdue, sale_incorrect_size, sale_employee_error, sale_delivery_delay, sale_incomplete, other |
amount | number | Ha | Summa. Verguldan keyin 2 tagacha raqam. Kamida 0.01. 999999999999.99 dan oshmasin |
comment | string | Yo‘q | Izoh. Maks. 1000 belgi |
{
"client_id": 1,
"type": "income",
"reason_type": "sale_defect",
"amount": 100,
"comment": "Comment 3"
}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
| Maydon | Turi | Tavsif |
|---|---|---|
client_id | integer | Mijoz |
type | string | Turi |
reason_type | string | Sabab turi |
amount | integer | Summa |
comment | string | Izoh |
source_type | string | Manba |
created_at | string | Yaratilgan |
company_id | integer | Kompaniya |
creator_id | integer | Yaratuvchi |
id | integer | ID |
{
"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
}
