Skip to content

Бонусные начисления ​

Журнал движения бонусных баллов на карте клиента: начисления с продаж и ручные корректировки. Каждая запись меняет баланс клиента bonus_accumulations_amount.

МетодАдресНазначение
GET/company/bonus/accumulationСписок начислений
GET/company/bonus/accumulation/{model}Начисление
POST/company/bonus/accumulationРучная корректировка бонусов

Список начислений ​

GET/company/bonus/accumulation

Постраничный список движений бонусных баллов доступных компаний. Фильтры по клиенту, типу (income/outcome), причине, источнику и дате; format=excel отдаёт выгрузку в Excel.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Параметры запроса ​

ПараметрОписание
filter[id]ID — точное значение
filter[company_id]Компания — одно значение или список filter[company_id][]
filter[creator_id]Создатель — точное значение
filter[client_id]Клиент — точное значение
filter[type]Тип — точное значение
filter[reason_type]Тип причины — точное значение
filter[source_type]Источник — точное значение
filter[source_id]Источник — точное значение
filter[created_at]Создано — период: [0] — с, [1] — по (Y-m-d)
sort[]Сортировка, - — по убыванию: id, -id
with[]Подгрузить связи: company, creator.profile, client
pageНомер страницы, с 1
page-sizeЗаписей на странице, не больше 20
http
GET /company/bonus/accumulation?sort[0]=id&sort[1]=-id

Ответ · 200 ​

Постраничный ответ: записи в data[], пагинация в links и meta.

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].idintegerID
data[].company_idintegerКомпания
data[].creator_idintegerСоздатель
data[].client_idintegerКлиент
data[].typestringТип
data[].reason_typestringТип причины
data[].amountintegerСумма
data[].source_typestringИсточник
data[].source_idintegerИсточник
data[].commentstringКомментарий
data[].created_atstringСоздано
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
    }
}

Начисление ​

GET/company/bonus/accumulation/{model}

Одна запись движения бонусных баллов по ID.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Параметры пути ​

ПараметрОписание
modelID записи

Ответ · 200 ​

Поля ответа
ПолеТипОписание
idintegerID
company_idintegerКомпания
creator_idintegerСоздатель
client_idintegerКлиент
typestringТип
reason_typestringТип причины
amountintegerСумма
source_typestringИсточник
source_idintegerИсточник
commentstringКомментарий
created_atstringСоздано
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"
}

Ручная корректировка бонусов ​

POST/company/bonus/accumulation

Начисляет (type = income) или списывает (type = outcome) бонусные баллы клиента вручную и сразу меняет баланс его карты. Списать больше текущего баланса нельзя (ошибка в поле amount). Запись сохраняется с источником manualy; без reason_type причина — other.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Тело запроса ​

ПолеТипОбязательноОписание
client_idintegerДаКлиент. ID существующей записи, доступной пользователю
typestringДаТип. Допустимые значения: income, outcome
reason_typestringНетТип причины. Допустимые значения: sale_defect, sale_incorrect_description, sale_overdue, sale_incorrect_size, sale_employee_error, sale_delivery_delay, sale_incomplete, other
amountnumberДаСумма. До 2 знаков после запятой. Не меньше 0.01. Не больше 999999999999.99
commentstringНетКомментарий. Макс. 1000 символов
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"}'

Ответ · 200 ​

Поля ответа
ПолеТипОписание
client_idintegerКлиент
typestringТип
reason_typestringТип причины
amountintegerСумма
commentstringКомментарий
source_typestringИсточник
created_atstringСоздано
company_idintegerКомпания
creator_idintegerСоздатель
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
}