Skip to content

Погашения долгов ​

Оплаты клиентов в счёт долга. Каждое погашение уменьшает долг и проводится приходом в продажную кассу; последнее погашение можно отменить.

МетодАдресНазначение
POST/company/client/debt-payment/{model}/refundОтменить погашение
GET/company/client/debt-paymentСписок погашений
GET/company/client/debt-payment/{model}Погашение
POST/company/client/debt-paymentПогасить долг

Отменить погашение ​

POST/company/client/debt-payment/{model}/refund

Отменяет погашение: сумма возвращается в долг и расходом уходит из кассы, где была принята; запись остаётся в истории с is_refunded = true. Можно отменить только оплаты последнего дня погашений клиента, не импортированные и ещё не отменённые (is_refundable), иначе 400.

Заголовки ​

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

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

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

Ответ · 200 ​

Поля ответа
ПолеТипОписание
idintegerID
creator_idintegerСоздатель
company_idintegerКомпания
client_idintegerКлиент
debt_idinteger
cashbox_idintegerКасса
is_refundedboolean
payment_typestringТип оплаты
currencystringВалюта
amountintegerСумма
is_importedboolean
created_atstringСоздано
is_refundableboolean
json
{
    "id": 78,
    "creator_id": 2,
    "company_id": 1,
    "client_id": 1,
    "debt_id": 92,
    "cashbox_id": 2,
    "is_refunded": true,
    "payment_type": "cash",
    "currency": "uzs",
    "amount": 500,
    "is_imported": false,
    "created_at": "2026-09-30 12:51:52",
    "is_refundable": false
}

Список погашений ​

GET/company/client/debt-payment

Погашения долгов доступных компаний; у каждой строки is_refundable — можно ли её ещё отменить. Отменённые отмечены is_refunded и не входят в суммы оплат.

Заголовки ​

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

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

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

Ответ · 200 ​

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

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].idintegerID
data[].creator_idintegerСоздатель
data[].company_idintegerКомпания
data[].client_idintegerКлиент
data[].debt_idinteger
data[].cashbox_idintegerКасса
data[].is_refundedboolean
data[].payment_typestringТип оплаты
data[].currencystringВалюта
data[].amountintegerСумма
data[].is_importedboolean
data[].created_atstringСоздано
data[].is_refundableboolean
data[].clientobject
data[].client.idintegerID
data[].client.creator_idintegerСоздатель
data[].client.company_idintegerКомпания
data[].client.bonus_tariff_idintegerБонусный тариф
data[].client.bonus_entries_amountintegerСумма бонусных записей
data[].client.bonus_accumulations_amountintegerБонусный баланс
data[].client.full_namestringФИО
data[].client.genderstringПол
data[].client.birth_datestringДата рождения
data[].client.imagestringИзображение
data[].client.image_thumbsobject
data[].client.image_thumbs.widen_100object
data[].client.image_thumbs.widen_100.rawstring
data[].client.image_thumbs.widen_100.webpstring
data[].client.image_thumbs.widen_500object
data[].client.image_thumbs.widen_500.rawstring
data[].client.image_thumbs.widen_500.webpstring
data[].client.image_thumbs.originalobject
data[].client.image_thumbs.original.rawstring
data[].client.image_thumbs.original.webpstring
data[].client.main_phonestringОсновной телефон
data[].client.additional_phonesarrayДополнительные телефоны
data[].client.languagesarrayЯзыки
data[].client.addressnullАдрес
data[].client.latitudenullШирота
data[].client.longitudenullДолгота
data[].client.socialsobjectСоц-сети
data[].client.socials.otherstring
data[].client.socials.facebookstring
data[].client.socials.telegramstring
data[].client.socials.instagramstring
data[].client.is_importedboolean
data[].client.created_atstringСоздано
data[].client.updated_atstringОбновлено
data[].client.is_deletedboolean
data[].debtobjectДолг
data[].debt.idintegerID
data[].debt.creator_idintegerСоздатель
data[].debt.company_idintegerКомпания
data[].debt.client_idintegerКлиент
data[].debt.sale_idintegerПродажа
data[].debt.currencystringВалюта
data[].debt.amountintegerСумма
data[].debt.repaid_amountintegerСумма погашения
data[].debt.returned_amountintegerВозвращённая сумма
data[].debt.due_datestringСрок погашения
data[].debt.commentstringКомментарий
data[].debt.statusstringСтатус
data[].debt.created_atstringСоздано
data[].debt.updated_atstringОбновлено
data[].debt.remaining_amountinteger
data[].debt.overdue_daysintegerПросрочено дней
data[].debt.by_currencyobject
data[].debt.by_currency.uzsobject
data[].debt.by_currency.uzs.amountintegerСумма
data[].debt.by_currency.uzs.repaid_amountintegerСумма погашения
data[].debt.by_currency.uzs.returned_amountintegerВозвращённая сумма
data[].debt.by_currency.uzs.remaining_amountinteger
data[].cashboxobject
data[].cashbox.idintegerID
data[].cashbox.creator_idintegerСоздатель
data[].cashbox.company_idintegerКомпания
data[].cashbox.namestringНазвание
data[].cashbox.typestringТип
data[].cashbox.created_atstringСоздано
data[].cashbox.updated_atstringОбновлено
data[].cashbox.is_deletedboolean
data[].creatorobject
data[].creator.idintegerID
data[].creator.typestringТип
data[].creator.role_idintegerРоль
data[].creator.company_idintegerКомпания
data[].creator.partner_idnullПартнёр
data[].creator.usernamestringЛогин
data[].creator.pinflnullПИНФЛ
data[].creator.phonestringТелефон
data[].creator.sipuni_sip_numberstringVoIP - Sipuni (SIP-номер)
data[].creator.is_confirmedboolean
data[].creator.are_all_companies_availableboolean
data[].creator.last_login_atnull
data[].creator.created_atstringСоздано
data[].creator.updated_atstringОбновлено
data[].creator.is_deletedboolean
data[].creator.profileobject
data[].creator.profile.first_namenullИмя
data[].creator.profile.last_namenullФамилия
data[].creator.profile.positionnullДолжность
data[].creator.profile.birth_datenullДата рождения
data[].creator.profile.gendernullПол
data[].creator.profile.full_namestringФИО
json
{
    "data": [
        {
            "id": 67,
            "creator_id": 2,
            "company_id": 1,
            "client_id": 1,
            "debt_id": 84,
            "cashbox_id": 1,
            "is_refunded": false,
            "payment_type": "cash",
            "currency": "uzs",
            "amount": 1000,
            "is_imported": false,
            "created_at": "2026-09-30 12:51:51",
            "is_refundable": true,
            "client": {
                "id": 1,
                "creator_id": 2,
                "company_id": 1,
                "bonus_tariff_id": 1,
                "bonus_entries_amount": 1000,
                "bonus_accumulations_amount": 1000,
                "full_name": "Full name 1",
                "gender": "male",
                "birth_date": "1990-01-01",
                "image": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png",
                "image_thumbs": {
                    "widen_100": {
                        "raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png",
                        "webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png"
                    },
                    "widen_500": {
                        "raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png",
                        "webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png"
                    },
                    "original": {
                        "raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png",
                        "webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png"
                    }
                },
                "main_phone": "998000000001",
                "additional_phones": [
                    "998000000011",
                    "998000000012"
                ],
                "languages": [
                    "ru",
                    "uz"
                ],
                "address": null,
                "latitude": null,
                "longitude": null,
                "socials": {
                    "other": "6abcbeafac861",
                    "facebook": "6abcbeafac860",
                    "telegram": "6abcbeafac85e",
                    "instagram": "6abcbeafac85f"
                },
                "is_imported": false,
                "created_at": "2026-09-30 12:47:59",
                "updated_at": "2026-09-30 12:51:51",
                "is_deleted": false
            },
            "debt": {
                "id": 84,
                "creator_id": 2,
                "company_id": 1,
                "client_id": 1,
                "sale_id": 1,
                "currency": "uzs",
                "amount": 4000,
                "repaid_amount": 1000,
                "returned_amount": 0,
                "due_date": "2030-12-31 00:00:00",
                "comment": "Initial debt note",
                "status": "partially_repaid",
                "created_at": "2026-09-30 12:51:51",
                "updated_at": "2026-09-30 12:51:51",
                "remaining_amount": 3000,
                "overdue_days": 0,
                "by_currency": {
                    "uzs": {
                        "amount": 4000,
                        "repaid_amount": 1000,
                        "returned_amount": 0,
                        "remaining_amount": 3000
                    }
                }
            },
            "cashbox": {
                "id": 1,
                "creator_id": 2,
                "company_id": 1,
                "name": "Cashbox 1",
                "type": "sale",
                "created_at": "2026-09-30 12:47:58",
                "updated_at": "2026-09-30 12:47:58",
                "is_deleted": false
            },
            "creator": {
                "id": 2,
                "type": "director",
                "role_id": 2,
                "company_id": 1,
                "partner_id": null,
                "username": "director_1@local.host",
                "pinfl": null,
                "phone": "998020000001",
                "sipuni_sip_number": "210",
                "is_confirmed": true,
                "are_all_companies_available": false,
                "last_login_at": null,
                "created_at": "2026-09-30 12:47:59",
                "updated_at": "2026-09-30 12:47:59",
                "is_deleted": false,
                "profile": {
                    "first_name": null,
                    "last_name": null,
                    "position": null,
                    "birth_date": null,
                    "gender": null,
                    "full_name": " "
                }
            }
        }
    ],
    "links": {
        "first": "https://api.wasyt.uz/company/client/debt-payment?page=1",
        "last": "https://api.wasyt.uz/company/client/debt-payment?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [],
        "path": "https://api.wasyt.uz/company/client/debt-payment",
        "per_page": 20,
        "to": 1,
        "total": 1
    }
}

Погашение ​

GET/company/client/debt-payment/{model}

Одно погашение долга по id.

Заголовки ​

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

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

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

Ответ ​

Пример ответа пока не записан тестами.

Погасить долг ​

POST/company/client/debt-payment

Принимает оплату долга клиента в одной валюте (по умолчанию UZS), можно несколькими типами оплаты сразу (бонусами и в долг нельзя). Сумма распределяется по долгам этой валюты от самого раннего срока; каждая часть — отдельное погашение и приход в продажную кассу. Общая сумма не больше остатка долга; возвращается список созданных погашений.

Заголовки ​

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

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

ПолеТипОбязательноОписание
client_idintegerДаКлиент. ID существующей записи, доступной пользователю
cashbox_idintegerДаПродажная касса, принимающая оплату. ID существующей записи, доступной пользователю
currencystringНетВалюта погашаемых долгов, по умолчанию uzs. Допустимые значения: uzs, usd, eur, rub
paymentsobject[]ДаМакс. 10 элементов
payments[].payment_typestringДаТип оплаты. Без повторов. Допустимые значения: bank, card, cash
payments[].amountnumberДаСумма. До 2 знаков после запятой. Не меньше 0.01. Не больше 999999999999.99
json
{
    "client_id": 1,
    "cashbox_id": 2,
    "payments": [
        {
            "payment_type": "cash",
            "amount": 1500
        }
    ]
}
bash
curl -X POST "https://api.wasyt.uz/company/client/debt-payment" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"client_id":1,"cashbox_id":2,"payments":[{"payment_type":"cash","amount":1500}]}'

Ответ · 200 ​

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].is_refundedboolean
data[].debt_idinteger
data[].cashbox_idintegerКасса
data[].client_idintegerКлиент
data[].payment_typestringТип оплаты
data[].currencystringВалюта
data[].amountintegerСумма
data[].created_atstringСоздано
data[].creator_idintegerСоздатель
data[].company_idintegerКомпания
data[].idintegerID
data[].debtobjectДолг
data[].debt.idintegerID
data[].debt.creator_idintegerСоздатель
data[].debt.company_idintegerКомпания
data[].debt.client_idintegerКлиент
data[].debt.sale_idintegerПродажа
data[].debt.currencystringВалюта
data[].debt.amountintegerСумма
data[].debt.repaid_amountintegerСумма погашения
data[].debt.returned_amountintegerВозвращённая сумма
data[].debt.due_datestringСрок погашения
data[].debt.commentstringКомментарий
data[].debt.statusstringСтатус
data[].debt.created_atstringСоздано
data[].debt.updated_atstringОбновлено
data[].debt.remaining_amountinteger
data[].debt.overdue_daysintegerПросрочено дней
data[].debt.by_currencyobject
data[].debt.by_currency.uzsobject
data[].debt.by_currency.uzs.amountintegerСумма
data[].debt.by_currency.uzs.repaid_amountintegerСумма погашения
data[].debt.by_currency.uzs.returned_amountintegerВозвращённая сумма
data[].debt.by_currency.uzs.remaining_amountinteger
data[].is_refundableboolean
json
{
    "data": [
        {
            "is_refunded": false,
            "debt_id": 68,
            "cashbox_id": 2,
            "client_id": 1,
            "payment_type": "cash",
            "currency": "uzs",
            "amount": 1500,
            "created_at": "2026-09-30 12:51:48",
            "creator_id": 2,
            "company_id": 1,
            "id": 48,
            "debt": {
                "id": 68,
                "creator_id": 2,
                "company_id": 1,
                "client_id": 1,
                "sale_id": 1,
                "currency": "uzs",
                "amount": 4000,
                "repaid_amount": 2500,
                "returned_amount": 0,
                "due_date": "2030-12-31 00:00:00",
                "comment": "Initial debt note",
                "status": "partially_repaid",
                "created_at": "2026-09-30 12:51:48",
                "updated_at": "2026-09-30 12:51:48",
                "remaining_amount": 1500,
                "overdue_days": 0,
                "by_currency": {
                    "uzs": {
                        "amount": 4000,
                        "repaid_amount": 2500,
                        "returned_amount": 0,
                        "remaining_amount": 1500
                    }
                }
            },
            "is_refundable": false
        }
    ]
}

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

json
{
    "message": "Допустимые значения для fields.payments.*.payment_type: bank, card, cash.",
    "errors": {
        "payments.0.payment_type": [
            "Допустимые значения для fields.payments.*.payment_type: bank, card, cash."
        ]
    }
}