Статьи доходов и расходов
Справочник статей, по которым проводятся доходы и расходы кассы. Двухуровневое дерево: группа и вложенные в неё статьи; статья наследует тип (income / outcome) своей группы.
| Метод | Адрес | Назначение |
|---|---|---|
| GET | /company/cashbox/transaction-reason | Список статей |
| GET | /company/cashbox/transaction-reason/{model} | Статья |
| POST | /company/cashbox/transaction-reason | Создать статью |
| PUT | /company/cashbox/transaction-reason/{model} | Изменить статью |
| DELETE | /company/cashbox/transaction-reason/{model} | Удалить статью |
| DELETE | /company/cashbox/transaction-reason/{value}/restore | Восстановить статью |
Список статей
/company/cashbox/transaction-reasonСтатьи доходов и расходов доступных компаний; filter[parent_id] и filter[type] отбирают ветку дерева.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Параметры запроса
| Параметр | Описание |
|---|---|
filter[id] | ID — точное значение |
filter[parent_id] | Родитель — точное значение |
filter[creator_id] | Создатель — точное значение |
filter[company_id] | Компания — точное значение |
filter[name] | Название — поиск по части строки |
filter[type] | Тип — точное значение |
filter[created_at] | Создано — период: [0] — с, [1] — по (Y-m-d) |
sort[] | Сортировка, - — по убыванию: id, -id |
with[] | Подгрузить связи: creator.profile, company, parent |
page | Номер страницы, с 1 |
page-size | Записей на странице, не больше 20 |
GET /company/cashbox/transaction-reason?sort[0]=id&sort[1]=-idОтвет · 200
Постраничный ответ: записи в data[], пагинация в links и meta.
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
data | object[] | Данные |
data[].id | integer | ID |
data[].parent_id | null | Родитель |
data[].creator_id | integer | Создатель |
data[].company_id | integer | Компания |
data[].name | string | Название |
data[].type | string | Тип |
data[].description | string | Описание |
data[].created_at | string | Создано |
data[].updated_at | string | Обновлено |
data[].is_deleted | boolean |
{
"data": [
{
"id": 1,
"parent_id": null,
"creator_id": 2,
"company_id": 1,
"name": "Transaction reason 1",
"type": "income",
"description": "Description 1",
"created_at": "2026-09-30 12:47:58",
"updated_at": "2026-09-30 12:47:58",
"is_deleted": false
},
{
"id": 2,
"parent_id": 1,
"creator_id": 2,
"company_id": 1,
"name": "Transaction reason 1-1",
"type": "income",
"description": "Description 1-1",
"created_at": "2026-09-30 12:47:58",
"updated_at": "2026-09-30 12:47:58",
"is_deleted": false
}
],
"links": {
"first": "https://api.wasyt.uz/company/cashbox/transaction-reason?page=1",
"last": "https://api.wasyt.uz/company/cashbox/transaction-reason?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [],
"path": "https://api.wasyt.uz/company/cashbox/transaction-reason",
"per_page": 20,
"to": 3,
"total": 3
}
}Статья
/company/cashbox/transaction-reason/{model}Одна статья доходов/расходов по id.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Параметры пути
| Параметр | Описание |
|---|---|
model | ID записи |
Ответ · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID |
parent_id | null | Родитель |
creator_id | integer | Создатель |
company_id | integer | Компания |
name | string | Название |
type | string | Тип |
description | string | Описание |
created_at | string | Создано |
updated_at | string | Обновлено |
is_deleted | boolean |
{
"id": 1,
"parent_id": null,
"creator_id": 2,
"company_id": 1,
"name": "Transaction reason 1",
"type": "income",
"description": "Description 1",
"created_at": "2026-09-30 12:47:58",
"updated_at": "2026-09-30 12:47:58",
"is_deleted": false
}Создать статью
/company/cashbox/transaction-reasonСоздаёт группу (без parent_id, type обязателен) или статью внутри группы (тип берётся от группы). Вложенность — не больше двух уровней; название уникально в пределах компании.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
parent_id | integer | Нет | Группа, в которую входит статья. ID существующей записи, доступной пользователю |
name | string | Да | Название. Макс. 255 символов. Уникальное значение в компании |
type | string | Нет | Тип. Допустимые значения: income, outcome |
description | string | Нет | Описание. Макс. 10000 символов |
{
"parent_id": 1,
"name": "Transaction reason 1-2",
"description": "Description 1-2"
}curl -X POST "https://api.wasyt.uz/company/cashbox/transaction-reason" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"parent_id":1,"name":"Transaction reason 1-2","description":"Description 1-2"}'Ответ · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
parent_id | integer | Родитель |
name | string | Название |
description | string | Описание |
updated_at | string | Обновлено |
created_at | string | Создано |
type | string | Тип |
creator_id | integer | Создатель |
company_id | integer | Компания |
id | integer | ID |
is_deleted | boolean |
{
"parent_id": 1,
"name": "Transaction reason 1-2",
"description": "Description 1-2",
"updated_at": "2026-09-30 12:51:29",
"created_at": "2026-09-30 12:51:29",
"type": "income",
"creator_id": 2,
"company_id": 1,
"id": 4,
"is_deleted": false
}Изменить статью
/company/cashbox/transaction-reason/{model}Меняет название, описание и группу статьи; тип после создания не меняется. Перенести можно только в группу того же типа и компании, а группу с вложенными статьями нельзя сделать вложенной.
Из формы (
multipart/form-data) методPUTотправляется какPOSTс параметром?_method=PUT.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Параметры пути
| Параметр | Описание |
|---|---|
model | ID записи |
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
parent_id | integer | Нет | Группа, в которую входит статья. ID существующей записи, доступной пользователю |
name | string | Да | Название. Макс. 255 символов. Уникальное значение в компании |
type | string | Нет | Тип. Допустимые значения: income, outcome |
description | string | Нет | Описание. Макс. 10000 символов |
{
"parent_id": 1,
"name": "Transaction reason 1-1",
"description": "Description 1-1"
}curl -X PUT "https://api.wasyt.uz/company/cashbox/transaction-reason/2" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"parent_id":1,"name":"Transaction reason 1-1","description":"Description 1-1"}'Ответ · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID |
parent_id | integer | Родитель |
creator_id | integer | Создатель |
company_id | integer | Компания |
name | string | Название |
type | string | Тип |
description | string | Описание |
created_at | string | Создано |
updated_at | string | Обновлено |
is_deleted | boolean |
{
"id": 2,
"parent_id": 1,
"creator_id": 2,
"company_id": 1,
"name": "Transaction reason 1-1",
"type": "income",
"description": "Description 1-1",
"created_at": "2026-09-30 12:47:58",
"updated_at": "2026-09-30 12:51:31",
"is_deleted": false
}Удалить статью
/company/cashbox/transaction-reason/{model}Мягко удаляет статью (её можно восстановить).
Из формы (
multipart/form-data) методDELETEотправляется какPOSTс параметром?_method=DELETE.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Параметры пути
| Параметр | Описание |
|---|---|
model | ID записи |
Ответ · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
message | string | Сообщение |
{
"message": "Success"
}Восстановить статью
/company/cashbox/transaction-reason/{value}/restoreВосстанавливает ранее удалённую статью по id.
Из формы (
multipart/form-data) методDELETEотправляется какPOSTс параметром?_method=DELETE.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Параметры пути
| Параметр | Описание |
|---|---|
value | ID записи (в том числе удалённой) |
Ответ · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
message | string | Сообщение |
{
"message": "Success"
}
