Skip to content

Инкассации ​

Инкассация — передача денег из продажной кассы в основную. Деньги сразу списываются с продажной кассы и ждут подтверждения (status = on_hold), пока основная касса их не примет или инкассацию не отменят.

МетодАдресНазначение
GET/company/cashbox/collection/not-collected-amountsНеинкассированные суммы
PATCH/company/cashbox/collection/{model}/completeПринять инкассацию
PATCH/company/cashbox/collection/{model}/cancelОтменить инкассацию
GET/company/cashbox/collectionСписок инкассаций
GET/company/cashbox/collection/{model}Инкассация
POST/company/cashbox/collectionСоздать инкассацию

Неинкассированные суммы ​

GET/company/cashbox/collection/not-collected-amounts

Текущие остатки кассы из ?cashbox_id= в виде матрицы «тип оплаты → валюта → сумма»; отсутствующие сочетания заполняются нулём. Без cashbox_id все суммы нулевые.

Заголовки ​

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

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

ПараметрОписание
cashbox_idКасса
http
GET /company/cashbox/collection/not-collected-amounts?cashbox_id=2

Ответ · 200 ​

Поля ответа
ПолеТипОписание
bankobjectБанк
bank.uzsinteger
bank.usdinteger
bank.eurinteger
bank.rubinteger
cardobject
card.uzsstring
card.usdinteger
card.eurinteger
card.rubinteger
cashobject
cash.uzsstring
cash.usdinteger
cash.eurinteger
cash.rubinteger
systemobject
system.uzsinteger
system.usdinteger
system.eurinteger
system.rubinteger
json
{
    "bank": {
        "uzs": 0,
        "usd": 0,
        "eur": 0,
        "rub": 0
    },
    "card": {
        "uzs": "3000.00",
        "usd": 0,
        "eur": 0,
        "rub": 0
    },
    "cash": {
        "uzs": "1000.00",
        "usd": 0,
        "eur": 0,
        "rub": 0
    },
    "system": {
        "uzs": 0,
        "usd": 0,
        "eur": 0,
        "rub": 0
    }
}

Принять инкассацию ​

PATCH/company/cashbox/collection/{model}/complete

Основная касса подтверждает получение: инкассация и её транзакции переходят в completed, а деньги зачисляются на основную кассу. Доступно только из статуса on_hold, иначе 400.

Из формы (multipart/form-data) метод PATCH отправляется как POST с параметром ?_method=PATCH.

Заголовки ​

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

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

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

Ответ · 200 ​

Поля ответа
ПолеТипОписание
messagestringСообщение
json
{
    "message": "Success"
}

Отменить инкассацию ​

PATCH/company/cashbox/collection/{model}/cancel

Отменяет инкассацию в статусе on_hold: транзакции переходят в canceled, и деньги возвращаются на продажную кассу. Из другого статуса — 400.

Из формы (multipart/form-data) метод PATCH отправляется как POST с параметром ?_method=PATCH.

Заголовки ​

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

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

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

Ответ · 200 ​

Поля ответа
ПолеТипОписание
messagestringСообщение
json
{
    "message": "Success"
}

Список инкассаций ​

GET/company/cashbox/collection

Инкассации по кассам, доступным пользователю. Помимо страницы, в ответе total — суммы, сгруппированные по статусу и валюте (total.on_hold.uzs и т. п.) с учётом фильтров.

Заголовки ​

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

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

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

Ответ · 200 ​

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

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].idintegerID
data[].company_idintegerКомпания
data[].creator_idintegerСоздатель
data[].cashbox_idintegerКасса
data[].statusstringСтатус
data[].commentstringКомментарий
data[].transactions_dataobject[]
data[].transactions_data[].idintegerID
data[].transactions_data[].typestringТип
data[].transactions_data[].amountintegerСумма
data[].transactions_data[].statusstringСтатус
data[].transactions_data[].commentstringКомментарий
data[].transactions_data[].currencystringВалюта
data[].transactions_data[].source_idintegerИсточник
data[].transactions_data[].additionalstring
data[].transactions_data[].cashbox_idintegerКасса
data[].transactions_data[].company_idintegerКомпания
data[].transactions_data[].created_atstringСоздано
data[].transactions_data[].creator_idintegerСоздатель
data[].transactions_data[].updated_atstringОбновлено
data[].transactions_data[].source_typestringИсточник
data[].transactions_data[].payment_typestringТип оплаты
data[].additionalobject
data[].additional.on_hold_afterarray
data[].additional.balances_afterarray
data[].created_atstringСоздано
data[].updated_atstringОбновлено
json
{
    "data": [
        {
            "id": 1,
            "company_id": 1,
            "creator_id": 2,
            "cashbox_id": 2,
            "status": "on_hold",
            "comment": "Comment 1",
            "transactions_data": [
                {
                    "id": 1,
                    "type": "income",
                    "amount": 1000,
                    "status": "completed",
                    "comment": "Comment 1",
                    "currency": "uzs",
                    "source_id": 1,
                    "additional": "{\"balances_after\":[],\"on_hold_after\":[]}",
                    "cashbox_id": 1,
                    "company_id": 1,
                    "created_at": "2026-09-30 12:47:58",
                    "creator_id": 2,
                    "updated_at": "2026-09-30 12:47:58",
                    "source_type": "reason",
                    "payment_type": "cash"
                },
                {
                    "id": 2,
                    "type": "outcome",
                    "amount": 2000,
                    "status": "canceled",
                    "comment": "Comment 2",
                    "currency": "usd",
                    "source_id": 1,
                    "additional": "{\"balances_after\":[],\"on_hold_after\":[]}",
                    "cashbox_id": 1,
                    "company_id": 1,
                    "created_at": "2026-09-30 12:47:58",
                    "creator_id": 2,
                    "updated_at": "2026-09-30 12:47:58",
                    "source_type": "supplier",
                    "payment_type": "cash"
                }
            ],
            "additional": {
                "on_hold_after": [],
                "balances_after": []
            },
            "created_at": "2026-09-30 12:47:58",
            "updated_at": "2026-09-30 12:47:58"
        }
    ],
    "links": {
        "first": "https://api.wasyt.uz/company/cashbox/collection?page=1",
        "last": "https://api.wasyt.uz/company/cashbox/collection?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [],
        "path": "https://api.wasyt.uz/company/cashbox/collection",
        "per_page": 20,
        "to": 1,
        "total": 1
    },
    "total": {
        "on_hold": {
            "uzs": "1000",
            "usd": "2000"
        }
    }
}

Инкассация ​

GET/company/cashbox/collection/{model}

Одна инкассация с её транзакциями (transactions_data) и снимком остатков кассы на момент создания (additional).

Заголовки ​

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

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

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

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

ПараметрОписание
cashbox_idКасса
http
GET /company/cashbox/collection/not-collected-amounts?cashbox_id=2

Ответ · 200 ​

Поля ответа
ПолеТипОписание
bankobjectБанк
bank.uzsinteger
bank.usdinteger
bank.eurinteger
bank.rubinteger
cardobject
card.uzsstring
card.usdinteger
card.eurinteger
card.rubinteger
cashobject
cash.uzsstring
cash.usdinteger
cash.eurinteger
cash.rubinteger
systemobject
system.uzsinteger
system.usdinteger
system.eurinteger
system.rubinteger
json
{
    "bank": {
        "uzs": 0,
        "usd": 0,
        "eur": 0,
        "rub": 0
    },
    "card": {
        "uzs": "3000.00",
        "usd": 0,
        "eur": 0,
        "rub": 0
    },
    "cash": {
        "uzs": "1000.00",
        "usd": 0,
        "eur": 0,
        "rub": 0
    },
    "system": {
        "uzs": 0,
        "usd": 0,
        "eur": 0,
        "rub": 0
    }
}

Создать инкассацию ​

POST/company/cashbox/collection

Инкассирует продажную кассу: наличные — суммами из transactions (по одной строке на валюту), а все положительные безналичные остатки добавляются целиком автоматически. Наличная сумма не может превышать остаток и для UZS может быть меньше него не более чем на 100 000, для других валют — только весь остаток. Деньги сразу списываются с кассы, инкассация создаётся в статусе on_hold.

Заголовки ​

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

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

ПолеТипОбязательноОписание
cashbox_idintegerДаКасса. ID существующей записи, доступной пользователю
commentstringНетКомментарий. Макс. 1000 символов
transactionsobject[]НетИнкассируемые наличные, по строке на валюту
transactions[].currencystringДаВалюта. Без повторов. Допустимые значения: uzs, usd, eur, rub
transactions[].amountnumberДаСумма. До 2 знаков после запятой. Не меньше 0.01. Не больше 999999999999.99
json
{
    "cashbox_id": 2,
    "comment": "Comment 3",
    "transactions": [
        {
            "currency": "uzs",
            "amount": 300
        }
    ]
}
bash
curl -X POST "https://api.wasyt.uz/company/cashbox/collection" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"cashbox_id":2,"comment":"Comment 3","transactions":[{"currency":"uzs","amount":300}]}'

Ответ · 200 ​

Поля ответа
ПолеТипОписание
cashbox_idintegerКасса
commentstringКомментарий
statusstringСтатус
updated_atstringОбновлено
created_atstringСоздано
company_idintegerКомпания
creator_idintegerСоздатель
idintegerID
transactions_dataobject[]
transactions_data[].additionalobject
transactions_data[].additional.balances_afterobject
transactions_data[].additional.balances_after.cashobject
transactions_data[].additional.balances_after.cash.uzsstring
transactions_data[].additional.balances_after.cardobject
transactions_data[].additional.balances_after.card.uzsstring
transactions_data[].additional.on_hold_afterobject
transactions_data[].additional.on_hold_after.outcomeobject
transactions_data[].additional.on_hold_after.outcome.cashobject
transactions_data[].source_dataobject
transactions_data[].source_data.collection_idinteger
transactions_data[].source_data.codestringКод
transactions_data[].cashbox_idintegerКасса
transactions_data[].creator_idintegerСоздатель
transactions_data[].commentstringКомментарий
transactions_data[].typestringТип
transactions_data[].payment_typestringТип оплаты
transactions_data[].currencystringВалюта
transactions_data[].amountintegerСумма
transactions_data[].statusstringСтатус
transactions_data[].source_typestringИсточник
transactions_data[].source_idintegerИсточник
transactions_data[].updated_atstringОбновлено
transactions_data[].created_atstringСоздано
transactions_data[].company_idintegerКомпания
transactions_data[].idintegerID
additionalobject
additional.balances_afterobject
additional.balances_after.cashobject
additional.balances_after.cash.uzsstring
additional.balances_after.cardobject
additional.balances_after.card.uzsstring
additional.on_hold_afterobject
additional.on_hold_after.outcomeobject
additional.on_hold_after.outcome.cardobject
additional.on_hold_after.outcome.card.uzsstring
additional.on_hold_after.outcome.cashobject
additional.on_hold_after.outcome.cash.uzsstring
json
{
    "cashbox_id": 2,
    "comment": "Comment 3",
    "status": "on_hold",
    "updated_at": "2026-09-30 12:51:11",
    "created_at": "2026-09-30 12:51:11",
    "company_id": 1,
    "creator_id": 2,
    "id": 2,
    "transactions_data": [
        {
            "additional": {
                "balances_after": {
                    "cash": {
                        "uzs": "700.00"
                    },
                    "card": {
                        "uzs": "3000.00"
                    }
                },
                "on_hold_after": {
                    "outcome": {
                        "cash": {
                            "uzs": "300.00"
                        }
                    }
                }
            },
            "source_data": {
                "collection_id": 2,
                "code": "CT-2-1877742370559153"
            },
            "cashbox_id": 2,
            "creator_id": 2,
            "comment": "Comment 3",
            "type": "outcome",
            "payment_type": "cash",
            "currency": "uzs",
            "amount": 300,
            "status": "on_hold",
            "source_type": "collection",
            "source_id": 1,
            "updated_at": "2026-09-30 12:51:11",
            "created_at": "2026-09-30 12:51:11",
            "company_id": 1,
            "id": 4
        },
        {
            "additional": {
                "balances_after": {
                    "cash": {
                        "uzs": "700.00"
                    },
                    "card": {
                        "uzs": "0.00"
                    }
                },
                "on_hold_after": {
                    "outcome": {
                        "card": {
                            "uzs": "3000.00"
                        },
                        "cash": {
                            "uzs": "300.00"
                        }
                    }
                }
            },
            "source_data": {
                "collection_id": 2,
                "code": "CT-2-1877742370583008"
            },
            "cashbox_id": 2,
            "creator_id": 2,
            "comment": "Comment 3",
            "type": "outcome",
            "payment_type": "card",
            "currency": "uzs",
            "amount": 3000,
            "status": "on_hold",
            "source_type": "collection",
            "source_id": 1,
            "updated_at": "2026-09-30 12:51:11",
            "created_at": "2026-09-30 12:51:11",
            "company_id": 1,
            "id": 5
        }
    ],
    "additional": {
        "balances_after": {
            "cash": {
                "uzs": "700.00"
            },
            "card": {
                "uzs": "0.00"
            }
        },
        "on_hold_after": {
            "outcome": {
                "card": {
                    "uzs": "3000.00"
                },
                "cash": {
                    "uzs": "300.00"
                }
            }
        }
    }
}

Пример ошибки · 422 ​

json
{
    "message": "Значение поля Сумма не может быть больше 0.",
    "errors": {
        "transactions.1.amount": [
            "Значение поля Сумма не может быть больше 0."
        ]
    }
}