Skip to content

Дашборд ​

Виджеты главной страницы и их детальные окна: выручка, чеки, касса, клиенты, должники, склад, продавцы. Все ответы кешируются на 10 минут (теги stat и stat:company:{id}, ключ — путь + query + пользователь) и сбрасываются при любой записи данных компании; область — филиалы, доступные пользователю, с сужением через company_ids[].

МетодАдресНазначение
GET/company/stat/dashboard/common/amounts-totalИтоговые суммы продаж
GET/company/stat/dashboard/common/cashbox-main-balanciesОстатки основных касс
GET/company/stat/dashboard/common/cashbox-transactionsДвижение денег по кассам
GET/company/stat/dashboard/common/suppliers-totalИтоги по поставщикам
GET/company/stat/dashboard/common/top-suppliersТоп поставщиков
GET/company/stat/dashboard/common/top-trade-sale-productsТоп товаров по количеству
GET/company/stat/dashboard/common/trade-sale-products-chartsГрафик выручки
GET/company/stat/dashboard/common-new/average-checkСредний чек
GET/company/stat/dashboard/common-new/clientsВсе клиенты
GET/company/stat/dashboard/common-new/clients-countКлиенты по филиалам
GET/company/stat/dashboard/common-new/companies-by-regionsПродажи по регионам
GET/company/stat/dashboard/common-new/daily-checksЧеки за сегодня
GET/company/stat/dashboard/common-new/debtorsВиджет должников
GET/company/stat/dashboard/common-new/debtors-listСписок должников
GET/company/stat/dashboard/common-new/monthly-salesМесячная продажа
GET/company/stat/dashboard/common-new/payment-methodsСпособы оплаты
GET/company/stat/dashboard/common-new/sellersВсе продавцы
GET/company/stat/dashboard/common-new/stock-products-countСкладские показатели по филиалам
GET/company/stat/dashboard/common-new/stock-balancesСкладские остатки
GET/company/stat/dashboard/common-new/top-trade-sale-productsТоп товаров по выручке
GET/company/stat/dashboard/common-new/top-productsТоп товаров/продаж
GET/company/stat/dashboard/common-new/top-sellersТоп продавцов
GET/company/stat/dashboard/common-new/totalsИтоги дня и месяца
GET/company/stat/dashboard/common-new/transactions-summaryСводка транзакций
GET/company/stat/dashboard/common-new/trade-sales-by-companiesПродажи по филиалам
GET/company/stat/dashboard/common-new/trade-sales-by-timeПродажи по времени
GET/company/stat/dashboard/common-new/trade-sale-transactions-by-payment-typesОплаты по способам

Итоговые суммы продаж ​

GET/company/stat/dashboard/common/amounts-total

За период: средняя сумма чека по валютам (sales.average_amount), проданные и возвращённые товары (количество и сумма со скидкой), прибыль sales.profit_amount и число клиентов, созданных в периоде (clients.quantity). Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода, Y-m-d; по умолчанию — вся история
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю

Ответ · 200 ​

Поля ответа
ПолеТипОписание
salesobject
sales.average_amountobject
sales.average_amount.uzsinteger
sales.average_amount.usdinteger
sales.average_amount.eurinteger
sales.average_amount.rubinteger
sales.profit_amountobjectСумма прибыли
sales.profit_amount.uzsstring
sales.profit_amount.usdstring
sales.profit_amount.eurstring
sales.profit_amount.rubstring
sold_productsobject
sold_products.quantitynullКоличество
sold_products.amountobjectСумма
sold_products.amount.uzsstring
sold_products.amount.usdstring
sold_products.amount.eurstring
sold_products.amount.rubstring
returned_productsobject
returned_products.quantitynullКоличество
returned_products.amountobjectСумма
returned_products.amount.uzsstring
returned_products.amount.usdstring
returned_products.amount.eurstring
returned_products.amount.rubstring
clientsobject
clients.quantityintegerКоличество
json
{
    "sales": {
        "average_amount": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "profit_amount": {
            "uzs": "0",
            "usd": "0",
            "eur": "0",
            "rub": "0"
        }
    },
    "sold_products": {
        "quantity": null,
        "amount": {
            "uzs": "0",
            "usd": "0",
            "eur": "0",
            "rub": "0"
        }
    },
    "returned_products": {
        "quantity": null,
        "amount": {
            "uzs": "0",
            "usd": "0",
            "eur": "0",
            "rub": "0"
        }
    },
    "clients": {
        "quantity": 2
    }
}

Остатки основных касс ​

GET/company/stat/dashboard/common/cashbox-main-balancies

Текущий баланс касс типа main по способу оплаты × валюте и total по валютам. Период не учитывается — это срез на сейчас. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю

Ответ · 200 ​

Поля ответа
ПолеТипОписание
cashbox_main_balanciesobject
cashbox_main_balancies.bankobjectБанк
cashbox_main_balancies.bank.uzsinteger
cashbox_main_balancies.bank.usdinteger
cashbox_main_balancies.bank.eurinteger
cashbox_main_balancies.bank.rubinteger
cashbox_main_balancies.cardobject
cashbox_main_balancies.card.uzsinteger
cashbox_main_balancies.card.usdinteger
cashbox_main_balancies.card.eurinteger
cashbox_main_balancies.card.rubinteger
cashbox_main_balancies.cashobject
cashbox_main_balancies.cash.uzsinteger
cashbox_main_balancies.cash.usdinteger
cashbox_main_balancies.cash.eurinteger
cashbox_main_balancies.cash.rubinteger
cashbox_main_balancies.systemobject
cashbox_main_balancies.system.uzsinteger
cashbox_main_balancies.system.usdinteger
cashbox_main_balancies.system.eurinteger
cashbox_main_balancies.system.rubinteger
totalobjectВсего записей
total.uzsinteger
total.usdinteger
total.eurinteger
total.rubinteger
json
{
    "cashbox_main_balancies": {
        "bank": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "card": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "cash": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "system": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        }
    },
    "total": {
        "uzs": 0,
        "usd": 0,
        "eur": 0,
        "rub": 0
    }
}

Движение денег по кассам ​

GET/company/stat/dashboard/common/cashbox-transactions

Суммы завершённых (completed) кассовых операций за период: тип (приход/расход) × способ оплаты × валюта, плюс total по каждому типу. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода, Y-m-d; по умолчанию — вся история
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю

Ответ · 200 ​

Поля ответа
ПолеТипОписание
cashbox_transactionsobject
cashbox_transactions.incomeobjectДоход
cashbox_transactions.income.bankobjectБанк
cashbox_transactions.income.bank.uzsinteger
cashbox_transactions.income.bank.usdinteger
cashbox_transactions.income.bank.eurinteger
cashbox_transactions.income.bank.rubinteger
cashbox_transactions.income.cardobject
cashbox_transactions.income.card.uzsinteger
cashbox_transactions.income.card.usdinteger
cashbox_transactions.income.card.eurinteger
cashbox_transactions.income.card.rubinteger
cashbox_transactions.income.cashobject
cashbox_transactions.income.cash.uzsstring
cashbox_transactions.income.cash.usdinteger
cashbox_transactions.income.cash.eurinteger
cashbox_transactions.income.cash.rubinteger
cashbox_transactions.income.systemobject
cashbox_transactions.income.system.uzsinteger
cashbox_transactions.income.system.usdinteger
cashbox_transactions.income.system.eurinteger
cashbox_transactions.income.system.rubinteger
cashbox_transactions.outcomeobject
cashbox_transactions.outcome.bankobjectБанк
cashbox_transactions.outcome.bank.uzsinteger
cashbox_transactions.outcome.bank.usdinteger
cashbox_transactions.outcome.bank.eurinteger
cashbox_transactions.outcome.bank.rubinteger
cashbox_transactions.outcome.cardobject
cashbox_transactions.outcome.card.uzsinteger
cashbox_transactions.outcome.card.usdinteger
cashbox_transactions.outcome.card.eurinteger
cashbox_transactions.outcome.card.rubinteger
cashbox_transactions.outcome.cashobject
cashbox_transactions.outcome.cash.uzsinteger
cashbox_transactions.outcome.cash.usdinteger
cashbox_transactions.outcome.cash.eurinteger
cashbox_transactions.outcome.cash.rubinteger
cashbox_transactions.outcome.systemobject
cashbox_transactions.outcome.system.uzsinteger
cashbox_transactions.outcome.system.usdinteger
cashbox_transactions.outcome.system.eurinteger
cashbox_transactions.outcome.system.rubinteger
totalobjectВсего записей
total.incomeobjectДоход
total.income.uzsinteger
total.income.usdinteger
total.income.eurinteger
total.income.rubinteger
total.outcomeobject
total.outcome.uzsinteger
total.outcome.usdinteger
total.outcome.eurinteger
total.outcome.rubinteger
json
{
    "cashbox_transactions": {
        "income": {
            "bank": {
                "uzs": 0,
                "usd": 0,
                "eur": 0,
                "rub": 0
            },
            "card": {
                "uzs": 0,
                "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
            }
        },
        "outcome": {
            "bank": {
                "uzs": 0,
                "usd": 0,
                "eur": 0,
                "rub": 0
            },
            "card": {
                "uzs": 0,
                "usd": 0,
                "eur": 0,
                "rub": 0
            },
            "cash": {
                "uzs": 0,
                "usd": 0,
                "eur": 0,
                "rub": 0
            },
            "system": {
                "uzs": 0,
                "usd": 0,
                "eur": 0,
                "rub": 0
            }
        }
    },
    "total": {
        "income": {
            "uzs": 1000,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "outcome": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        }
    }
}

Итоги по поставщикам ​

GET/company/stat/dashboard/common/suppliers-total

Обороты с поставщиками за период по типу операции и валюте (amount.{type}.{currency}) и сальдо на начало и конец периода (balance.start / balance.end). Начальный остаток поставщика в обороты не входит, отменённые операции не учитываются; фильтр company_ids[] не применяется. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода, Y-m-d; по умолчанию — вся история
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца

Ответ · 200 ​

Поля ответа
ПолеТипОписание
amountobjectСумма
amount.incomeobjectДоход
amount.income.uzsstring
amount.income.usdstring
amount.income.eurstring
amount.income.rubstring
amount.outcomeobject
amount.outcome.uzsstring
amount.outcome.usdstring
amount.outcome.eurstring
amount.outcome.rubstring
balanceobjectБаланс
balance.startobject
balance.start.uzsstring
balance.start.usdstring
balance.start.eurstring
balance.start.rubstring
balance.endobject
balance.end.uzsstring
balance.end.usdstring
balance.end.eurstring
balance.end.rubstring
json
{
    "amount": {
        "income": {
            "uzs": "1000.00",
            "usd": "0",
            "eur": "0",
            "rub": "0"
        },
        "outcome": {
            "uzs": "0",
            "usd": "2000.00",
            "eur": "0",
            "rub": "0"
        }
    },
    "balance": {
        "start": {
            "uzs": "0",
            "usd": "0",
            "eur": "0",
            "rub": "0"
        },
        "end": {
            "uzs": "1000.00",
            "usd": "-2000.00",
            "eur": "0",
            "rub": "0"
        }
    }
}

Топ поставщиков ​

GET/company/stat/dashboard/common/top-suppliers

10 поставщиков с наибольшим числом завершённых приходов за период: телефон, дата последнего прихода, количество приходов и их сумма по валютам. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода, Y-m-d; по умолчанию — вся история
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю

Ответ · 200 ​

json
{}

Топ товаров по количеству ​

GET/company/stat/dashboard/common/top-trade-sale-products

10 товаров с наибольшим чистым проданным количеством (продано минус возвращено) за период, с суммой по валютам; товары с нулевым итогом отбрасываются. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода, Y-m-d; по умолчанию — вся история
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю

Ответ · 200 ​

json
{}

График выручки ​

GET/company/stat/dashboard/common/trade-sale-products-charts

Чистая выручка по товарам (со скидкой, за вычетом возвратов) по валютам, разбитая на точки графика: day — по часам сегодня, week — по дням текущей недели, month — по дням текущего месяца, year — по месяцам текущего года. date_from / date_to не используются; пустые точки заполнены нулями. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
periodstringНетМасштаб графика: day, week, month (по умолчанию), year
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю

Ответ · 200 ​

Поля ответа
ПолеТипОписание
dataobjectДанные
data.00:00object
data.00:00.uzsinteger
data.00:00.usdinteger
data.00:00.eurinteger
data.00:00.rubinteger
data.01:00object
data.01:00.uzsinteger
data.01:00.usdinteger
data.01:00.eurinteger
data.01:00.rubinteger
data.02:00object
data.02:00.uzsinteger
data.02:00.usdinteger
data.02:00.eurinteger
data.02:00.rubinteger
data.03:00object
data.03:00.uzsinteger
data.03:00.usdinteger
data.03:00.eurinteger
data.03:00.rubinteger
data.04:00object
data.04:00.uzsinteger
data.04:00.usdinteger
data.04:00.eurinteger
data.04:00.rubinteger
data.05:00object
data.05:00.uzsinteger
data.05:00.usdinteger
data.05:00.eurinteger
data.05:00.rubinteger
data.06:00object
data.06:00.uzsinteger
data.06:00.usdinteger
data.06:00.eurinteger
data.06:00.rubinteger
data.07:00object
data.07:00.uzsinteger
data.07:00.usdinteger
data.07:00.eurinteger
data.07:00.rubinteger
data.08:00object
data.08:00.uzsinteger
data.08:00.usdinteger
data.08:00.eurinteger
data.08:00.rubinteger
data.09:00object
data.09:00.uzsinteger
data.09:00.usdinteger
data.09:00.eurinteger
data.09:00.rubinteger
data.10:00object
data.10:00.uzsinteger
data.10:00.usdinteger
data.10:00.eurinteger
data.10:00.rubinteger
data.11:00object
data.11:00.uzsinteger
data.11:00.usdinteger
data.11:00.eurinteger
data.11:00.rubinteger
data.12:00object
data.12:00.uzsinteger
data.12:00.usdinteger
data.12:00.eurinteger
data.12:00.rubinteger
data.13:00object
data.13:00.uzsinteger
data.13:00.usdinteger
data.13:00.eurinteger
data.13:00.rubinteger
data.14:00object
data.14:00.uzsinteger
data.14:00.usdinteger
data.14:00.eurinteger
data.14:00.rubinteger
data.15:00object
data.15:00.uzsinteger
data.15:00.usdinteger
data.15:00.eurinteger
data.15:00.rubinteger
data.16:00object
data.16:00.uzsinteger
data.16:00.usdinteger
data.16:00.eurinteger
data.16:00.rubinteger
data.17:00object
data.17:00.uzsinteger
data.17:00.usdinteger
data.17:00.eurinteger
data.17:00.rubinteger
data.18:00object
data.18:00.uzsinteger
data.18:00.usdinteger
data.18:00.eurinteger
data.18:00.rubinteger
data.19:00object
data.19:00.uzsinteger
data.19:00.usdinteger
data.19:00.eurinteger
data.19:00.rubinteger
data.20:00object
data.20:00.uzsinteger
data.20:00.usdinteger
data.20:00.eurinteger
data.20:00.rubinteger
data.21:00object
data.21:00.uzsinteger
data.21:00.usdinteger
data.21:00.eurinteger
data.21:00.rubinteger
data.22:00object
data.22:00.uzsinteger
data.22:00.usdinteger
data.22:00.eurinteger
data.22:00.rubinteger
data.23:00object
data.23:00.uzsinteger
data.23:00.usdinteger
data.23:00.eurinteger
json
{
    "data": {
        "00:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "01:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "02:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "03:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "04:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "05:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "06:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "07:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "08:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "09:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "10:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "11:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "12:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "13:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "14:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "15:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "16:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "17:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "18:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "19:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "20:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "21:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "22:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "23:00": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        }
    },
    "total": {
        "uzs": 0,
        "usd": 0,
        "eur": 0,
        "rub": 0
    }
}

Средний чек ​

GET/company/stat/dashboard/common-new/average-check

Детализация карточки «Средний чек»: средний чек текущего месяца (с 1-го числа по сегодня), средний чек прошлого месяца и прирост в процентах (growth_percent = null, если в прошлом месяце продаж не было), а также распределение чеков по диапазонам суммы. Учитываются чеки completed и partial_returned в выбранной валюте. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю
currencystringНетВалюта чеков: uzs (по умолчанию), usd, eur, rub

Ответ · 200 ​

Поля ответа
ПолеТипОписание
average_checkintegerСредний чек
previous_average_checkinteger
growth_percentnull
amountintegerСумма
checks_countinteger
rangesobject[]
ranges[].fromintegerНомер первой записи на странице
ranges[].tointegerНомер последней записи на странице
ranges[].checks_countinteger
ranges[].amountintegerСумма
ranges[].percentintegerПроцент
json
{
    "average_check": 0,
    "previous_average_check": 0,
    "growth_percent": null,
    "amount": 0,
    "checks_count": 0,
    "ranges": [
        {
            "from": 0,
            "to": 5000000,
            "checks_count": 0,
            "amount": 0,
            "percent": 0
        },
        {
            "from": 5000000,
            "to": 20000000,
            "checks_count": 0,
            "amount": 0,
            "percent": 0
        }
    ]
}

Все клиенты ​

GET/company/stat/dashboard/common-new/clients

Детализация «Все клиенты»: карточки (всего клиентов, новых за период — по умолчанию текущий месяц, должников и их долг) и постраничный список клиентов с покупками за всё время, бонусным балансом, долгом и статусом debtor / new / active. Сумма покупок считается в выбранной валюте. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода для карточки «Новые», Y-m-d; по умолчанию — 1-е число текущего месяца
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю
currencystringНетВалюта чеков: uzs (по умолчанию), usd, eur, rub
namestringНетПоиск по ФИО клиента
phonestringНетПоиск по основному телефону клиента
pageintegerНетНомер страницы, с 1 (20 строк на странице)

Ответ · 200 ​

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

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].client_idintegerКлиент
data[].full_namestringФИО
data[].main_phonestringОсновной телефон
data[].bonus_balancestring
data[].purchases_countintegerПокупки
data[].last_purchase_atnullПоследний приход
data[].total_purchases_amountstring
data[].total_debtstringОбщая задолжность
data[].total_repaidstring
data[].remaining_debtstring
data[].statusstringСтатус
json
{
    "cards": {
        "total": 2,
        "new": 2,
        "debtors": {
            "count": 0,
            "amount": 0
        }
    },
    "data": [
        {
            "client_id": 2,
            "full_name": "Full name 2",
            "main_phone": "998000000002",
            "bonus_balance": "0.00",
            "purchases_count": 0,
            "last_purchase_at": null,
            "total_purchases_amount": "0",
            "total_debt": "0",
            "total_repaid": "0",
            "remaining_debt": "0",
            "status": "new"
        },
        {
            "client_id": 1,
            "full_name": "Full name 1",
            "main_phone": "998000000001",
            "bonus_balance": "1000.00",
            "purchases_count": 1,
            "last_purchase_at": "2020-01-01 10:00:00",
            "total_purchases_amount": "4900.0000000000",
            "total_debt": "0",
            "total_repaid": "0",
            "remaining_debt": "0",
            "status": "active"
        }
    ],
    "meta": {
        "total": 2,
        "per_page": 20,
        "current_page": 1,
        "last_page": 1,
        "from": 1
    }
}

Клиенты по филиалам ​

GET/company/stat/dashboard/common-new/clients-count

По каждому филиалу (до 100): общее число клиентов и число новых клиентов за период. Удалённые клиенты не учитываются. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода, Y-m-d; по умолчанию — вся история
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю

Ответ · 200 ​

Поля ответа
ПолеТипОписание
[].idintegerID
[].namestringНазвание
[].total_countinteger
[].new_countinteger
json
[
    {
        "id": 1,
        "name": "Company 1",
        "total_count": 2,
        "new_count": 2
    }
]

Продажи по регионам ​

GET/company/stat/dashboard/common-new/companies-by-regions

Список регионов с их районами и чистыми продажами филиалов района (продано минус возвращено) — за сегодня (total_amount.today) и за период (total_amount.total) в выбранной валюте. Чеки full_returned и canceled исключены. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода, Y-m-d; по умолчанию — вся история
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю
currencystringНетВалюта чеков: uzs (по умолчанию), usd, eur, rub

Ответ · 200 ​

Поля ответа
ПолеТипОписание
[].idintegerID
[].namestringНазвание
[].districtsobject[]
[].districts[].idintegerID
[].districts[].namestringНазвание
[].districts[].region_idintegerРегион
[].districts[].district_iso_codeinteger
[].districts[].region_namestring
[].districts[].region_iso_codeinteger
[].districts[].total_amountobject
[].districts[].total_amount.todayinteger
[].districts[].total_amount.totalintegerВсего записей
json
[
    {
        "id": 1,
        "name": "Region 1",
        "districts": [
            {
                "id": 1,
                "name": "District 1",
                "region_id": 1,
                "district_iso_code": 1,
                "region_name": "Region 1",
                "region_iso_code": 1,
                "total_amount": {
                    "today": 0,
                    "total": 0
                }
            },
            {
                "id": 2,
                "name": "District 2",
                "region_id": 1,
                "district_iso_code": 2,
                "region_name": "Region 1",
                "region_iso_code": 1,
                "total_amount": {
                    "today": 0,
                    "total": 0
                }
            }
        ]
    }
]

Чеки за сегодня ​

GET/company/stat/dashboard/common-new/daily-checks

Детализация карточек «Дневная продажа» и «Чеки за сегодня»: итоги дня (выручка, число чеков, средний чек), разбивка по способам оплаты с долями (без system) и постраничный список чеков с продавцом, способами оплаты и составом чека. Период всегда — сегодня; учитываются чеки completed и partial_returned в выбранной валюте. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю
currencystringНетВалюта чеков: uzs (по умолчанию), usd, eur, rub
pageintegerНетНомер страницы, с 1 (20 строк на странице)

Ответ · 200 ​

Поля ответа
ПолеТипОписание
totalsobject
totals.amountintegerСумма
totals.checks_countinteger
totals.average_checkintegerСредний чек
payment_typesarray
checksarray
metaobjectМетаданные пагинации
meta.totalintegerВсего записей
meta.per_pageintegerЗаписей на странице
meta.current_pageintegerТекущая страница
meta.last_pageintegerПоследняя страница
meta.fromnullНомер первой записи на странице
json
{
    "totals": {
        "amount": 0,
        "checks_count": 0,
        "average_check": 0
    },
    "payment_types": [],
    "checks": [],
    "meta": {
        "total": 0,
        "per_page": 20,
        "current_page": 1,
        "last_page": 1,
        "from": null
    }
}

Виджет должников ​

GET/company/stat/dashboard/common-new/debtors

До 50 клиентов с непогашенным долгом: сколько всего взяли, погасили, списано возвратами, остаток и дни просрочки; сначала самые просроченные. Клиент пропадает из списка, как только долг полностью погашен. Период не учитывается — долг показывается на сейчас. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю

Ответ · 200 ​

Поля ответа
ПолеТипОписание
[].idintegerID
[].full_namestringФИО
[].main_phonestringОсновной телефон
[].total_amountinteger
[].repaid_amountintegerСумма погашения
[].returned_amountintegerВозвращённая сумма
[].remaining_amountinteger
[].overdue_daysintegerПросрочено дней
json
[
    {
        "id": 1,
        "full_name": "Full name 1",
        "main_phone": "998000000001",
        "total_amount": 4000,
        "repaid_amount": 1000,
        "returned_amount": 0,
        "remaining_amount": 3000,
        "overdue_days": 0
    }
]

Список должников ​

GET/company/stat/dashboard/common-new/debtors-list

Детализация «Должники»: карточки (общий остаток долга, всего погашено, число клиентов с просрочкой) и постраничный список клиентов с остатком больше 0 — сумма долга, погашено, остаток, ближайший срок и дни просрочки. Период не учитывается. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю
namestringНетПоиск по ФИО клиента
pageintegerНетНомер страницы, с 1 (20 строк на странице)

Ответ · 200 ​

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

Поля ответа
ПолеТипОписание
dataarrayДанные
json
{
    "cards": {
        "total_debt": 0,
        "total_repaid": 0,
        "overdue_count": 0
    },
    "data": [],
    "meta": {
        "total": 0,
        "per_page": 20,
        "current_page": 1,
        "last_page": 1,
        "from": null
    }
}

Месячная продажа ​

GET/company/stat/dashboard/common-new/monthly-sales

Детализация «Месячная продажа»: выручка текущего месяца (с 1-го числа по сегодня), число чеков, средний чек, средняя выручка в день и разбивка по неделям месяца (1–7, 8–14, 15–21, 22–конец). Учитываются чеки completed и partial_returned в выбранной валюте. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю
currencystringНетВалюта чеков: uzs (по умолчанию), usd, eur, rub

Ответ · 200 ​

Поля ответа
ПолеТипОписание
totalsobject
totals.amountintegerСумма
totals.checks_countinteger
totals.average_checkintegerСредний чек
totals.average_per_dayinteger
weeksobject[]
weeks[].indexinteger
weeks[].date_fromstringДата (от)
weeks[].date_tostringДата (до)
weeks[].amountintegerСумма
weeks[].checks_countinteger
json
{
    "totals": {
        "amount": 0,
        "checks_count": 0,
        "average_check": 0,
        "average_per_day": 0
    },
    "weeks": [
        {
            "index": 1,
            "date_from": "2026-09-01",
            "date_to": "2026-09-07",
            "amount": 0,
            "checks_count": 0
        },
        {
            "index": 2,
            "date_from": "2026-09-08",
            "date_to": "2026-09-14",
            "amount": 0,
            "checks_count": 0
        }
    ]
}

Способы оплаты ​

GET/company/stat/dashboard/common-new/payment-methods

Детализация «Способ оплаты» за всё время (период не учитывается): чистая сумма по каждому способу оплаты и валюте (возвраты вычитаются), число чеков по способу, total, общее число операций и основной способ оплаты main_payment_type (по сумме в сумах). Способ system и чеки full_returned / canceled исключены. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю

Ответ · 200 ​

Поля ответа
ПолеТипОписание
methodsobject
methods.cardobject
methods.card.uzsinteger
methods.card.usdinteger
methods.card.eurinteger
methods.card.rubinteger
methods.cashobject
methods.cash.uzsinteger
methods.cash.usdinteger
methods.cash.eurinteger
methods.cash.rubinteger
methods.bonusobject
methods.bonus.uzsinteger
methods.bonus.usdinteger
methods.bonus.eurinteger
methods.bonus.rubinteger
methods.debtobjectДолг
methods.debt.uzsinteger
methods.debt.usdinteger
methods.debt.eurinteger
methods.debt.rubinteger
checksobject
checks.cardinteger
checks.cashinteger
custom_payment_typesobject[]
custom_payment_types[].namestringНазвание
custom_payment_types[].amountsobject
custom_payment_types[].amounts.uzsinteger
custom_payment_types[].amounts.usdinteger
custom_payment_types[].amounts.eurinteger
custom_payment_types[].amounts.rubinteger
custom_payment_types[].checksinteger
totalobjectВсего записей
total.uzsinteger
total.usdinteger
total.eurinteger
total.rubinteger
transactions_countinteger
main_payment_typestring
main_custom_payment_typenull
json
{
    "methods": {
        "card": {
            "uzs": 4000,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "cash": {
            "uzs": 900,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "bonus": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "debt": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        }
    },
    "checks": {
        "card": 1,
        "cash": 1
    },
    "custom_payment_types": [
        {
            "name": "Payment type 1",
            "amounts": {
                "uzs": 0,
                "usd": 0,
                "eur": 0,
                "rub": 0
            },
            "checks": 0
        }
    ],
    "total": {
        "uzs": 4900,
        "usd": 0,
        "eur": 0,
        "rub": 0
    },
    "transactions_count": 1,
    "main_payment_type": "card",
    "main_custom_payment_type": null
}

Все продавцы ​

GET/company/stat/dashboard/common-new/sellers

Детализация «Топ продавцов» за всё время: постраничная таблица продавцов с должностью, филиалом, суммой продаж, числом продаж и средним чеком, лучшие первыми. В таблицу попадают только продавцы, явно выбранные на чеке; учитываются чеки completed и partial_returned в выбранной валюте. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю
currencystringНетВалюта чеков: uzs (по умолчанию), usd, eur, rub
namestringНетПоиск по имени продавца
pageintegerНетНомер страницы, с 1 (20 строк на странице)

Ответ · 200 ​

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

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].user_idintegerПользователь
data[].full_namestringФИО
data[].company_namestringКомпания
data[].positionstringДолжность
data[].sales_countintegerКоличество покупок
data[].amountintegerСумма
data[].average_checkintegerСредний чек
json
{
    "data": [
        {
            "user_id": 2,
            "full_name": "director_1@local.host",
            "company_name": "Company 1",
            "position": "Director 1",
            "sales_count": 3,
            "amount": 9000,
            "average_check": 3000
        }
    ],
    "meta": {
        "total": 1,
        "per_page": 20,
        "current_page": 1,
        "last_page": 1,
        "from": 1
    }
}

Складские показатели по филиалам ​

GET/company/stat/dashboard/common-new/stock-products-count

По каждому филиалу (до 100): общий остаток товаров, число позиций с малым остатком (больше 0 и до 10), с нулевым остатком и неликвидных (остаток есть, но без движения 30 дней). Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю

Ответ · 200 ​

Поля ответа
ПолеТипОписание
[].idintegerID
[].namestringНазвание
[].total_quantitystring
[].low_stock_countinteger
[].zero_stock_countinteger
[].illiquid_countinteger
json
[
    {
        "id": 1,
        "name": "Company 1",
        "total_quantity": "3.00000000",
        "low_stock_count": 2,
        "zero_stock_count": 0,
        "illiquid_count": 0
    }
]

Складские остатки ​

GET/company/stat/dashboard/common-new/stock-balances

Детализация «Складские остатки»: карточки и счётчики вкладок по статусам и постраничный список (филиал × товар) с остатком, себестоимостью остатка по последнему приходу, датой последнего движения и статусом: out_of_stock (остаток ≤ 0), illiquid (без движения 30 дней), running_out (меньше 10 или не больше минимального остатка), иначе in_stock. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю
statusstringНетВкладка: in_stock, running_out, out_of_stock, illiquid
namestringНетПоиск по названию товара
pageintegerНетНомер страницы, с 1 (20 строк на странице)

Ответ · 200 ​

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

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].company_idintegerКомпания
data[].product_idintegerПродукт
data[].product_namestringНаименование товаров
data[].category_namestring
data[].remainderstringОстаток
data[].min_quantitynull
data[].last_movement_atstringПоследнее движение
data[].remainder_coststringСтоимость остатка
data[].purchase_currencynullВалюта при покупке
data[].statusstringСтатус
data[].days_without_movementintegerБез движения
json
{
    "cards": {
        "available": 2,
        "running_out": 2,
        "out_of_stock": 0,
        "illiquid": 0
    },
    "counts": {
        "all": 2,
        "in_stock": 0,
        "running_out": 2,
        "out_of_stock": 0,
        "illiquid": 0
    },
    "data": [
        {
            "company_id": 1,
            "product_id": 2,
            "product_name": "Product 1-1 full text",
            "category_name": "Category 1-1-1 ru",
            "remainder": "2.00000000",
            "min_quantity": null,
            "last_movement_at": "2026-09-30 12:47:59",
            "remainder_cost": "0.00",
            "purchase_currency": null,
            "status": "running_out",
            "days_without_movement": 0
        },
        {
            "company_id": 1,
            "product_id": 1,
            "product_name": "Product 1",
            "category_name": "Category 1-1-1 ru",
            "remainder": "1.00000000",
            "min_quantity": null,
            "last_movement_at": "2026-09-30 12:47:59",
            "remainder_cost": "0.00",
            "purchase_currency": null,
            "status": "running_out",
            "days_without_movement": 0
        }
    ],
    "meta": {
        "total": 2,
        "per_page": 20,
        "current_page": 1,
        "last_page": 1,
        "from": 1
    }
}

Топ товаров по выручке ​

GET/company/stat/dashboard/common-new/top-trade-sale-products

10 товаров с наибольшей чистой выручкой за период в выбранной валюте: количество и сумма за вычетом возвратов. Чеки full_returned и canceled исключены. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода, Y-m-d; по умолчанию — вся история
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю
currencystringНетВалюта чеков: uzs (по умолчанию), usd, eur, rub

Ответ · 200 ​

json
{}

Топ товаров/продаж ​

GET/company/stat/dashboard/common-new/top-products

Детализация «Топ товаров/продаж»: постраничный рейтинг товаров по чистому проданному количеству (при равенстве — по выручке) с выручкой и прибылью. По умолчанию за всё время; учитываются чеки completed, partial_returned, full_returned в выбранной валюте. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода, Y-m-d; по умолчанию — вся история
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю
currencystringНетВалюта чеков: uzs (по умолчанию), usd, eur, rub
namestringНетПоиск по названию товара
pageintegerНетНомер страницы, с 1 (20 строк на странице)

Ответ · 200 ​

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

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].product_idintegerПродукт
data[].product_namestringНаименование товаров
data[].quantitystringКоличество
data[].revenuestringВыручка (всего)
data[].profitstring
json
{
    "data": [
        {
            "product_id": 2,
            "product_name": "Product 1-1 full text",
            "quantity": "2.00000000",
            "revenue": "4000.0000000000",
            "profit": "3600.0000000000"
        },
        {
            "product_id": 1,
            "product_name": "Product 1",
            "quantity": "1.00000000",
            "revenue": "900.0000000000",
            "profit": "800.0000000000"
        }
    ],
    "meta": {
        "total": 2,
        "per_page": 20,
        "current_page": 1,
        "last_page": 1,
        "from": 1
    }
}

Топ продавцов ​

GET/company/stat/dashboard/common-new/top-sellers

Блок «Топ продавцов»: 10 сотрудников с наибольшей суммой продаж за всё время — имя, филиал, число продаж и сумма. Только продавцы, явно выбранные на чеке; учитываются чеки completed и partial_returned в выбранной валюте. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю
currencystringНетВалюта чеков: uzs (по умолчанию), usd, eur, rub

Ответ · 200 ​

Поля ответа
ПолеТипОписание
[].user_idintegerПользователь
[].full_namestringФИО
[].company_namestringКомпания
[].sales_countintegerКоличество покупок
[].amountintegerСумма
json
[
    {
        "user_id": 2,
        "full_name": "director_1@local.host",
        "company_name": "Company 1",
        "sales_count": 3,
        "amount": 9000
    }
]

Итоги дня и месяца ​

GET/company/stat/dashboard/common-new/totals

Число чеков, чистая сумма продаж и средний чек по валютам за сегодня (today) и с начала месяца (this_month). Чеки full_returned и canceled исключены; период из запроса не используется. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю

Ответ · 200 ​

Поля ответа
ПолеТипОписание
todayobject
today.countintegerКоличество
today.sold_amountobjectСумма в продаже
today.sold_amount.uzsstring
today.sold_amount.usdstring
today.sold_amount.eurstring
today.sold_amount.rubstring
today.average_amountobject
today.average_amount.uzsstring
today.average_amount.usdstring
today.average_amount.eurstring
today.average_amount.rubstring
this_monthobject
this_month.countintegerКоличество
this_month.sold_amountobjectСумма в продаже
this_month.sold_amount.uzsstring
this_month.sold_amount.usdstring
this_month.sold_amount.eurstring
this_month.sold_amount.rubstring
this_month.average_amountobject
this_month.average_amount.uzsstring
this_month.average_amount.usdstring
this_month.average_amount.eurstring
this_month.average_amount.rubstring
json
{
    "today": {
        "count": 0,
        "sold_amount": {
            "uzs": "0",
            "usd": "0",
            "eur": "0",
            "rub": "0"
        },
        "average_amount": {
            "uzs": "0.00",
            "usd": "0.00",
            "eur": "0.00",
            "rub": "0.00"
        }
    },
    "this_month": {
        "count": 0,
        "sold_amount": {
            "uzs": "0",
            "usd": "0",
            "eur": "0",
            "rub": "0"
        },
        "average_amount": {
            "uzs": "0.00",
            "usd": "0.00",
            "eur": "0.00",
            "rub": "0.00"
        }
    }
}

Сводка транзакций ​

GET/company/stat/dashboard/common-new/transactions-summary

Блок «Транзакции»: число чеков за период всего и по типам — продажа, возврат, обмен (counts.all/sale/return/exchange) и чистое количество проданных товаров без услуг (products_sold_count). Отменённые чеки не учитываются. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода, Y-m-d; по умолчанию — вся история
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю

Ответ · 200 ​

Поля ответа
ПолеТипОписание
countsobject
counts.allinteger
counts.saleinteger
counts.returninteger
counts.exchangeinteger
products_sold_countinteger
json
{
    "counts": {
        "all": 1,
        "sale": 1,
        "return": 0,
        "exchange": 0
    },
    "products_sold_count": 3
}

Продажи по филиалам ​

GET/company/stat/dashboard/common-new/trade-sales-by-companies

Чистая сумма продаж за период в выбранной валюте по каждому филиалу (до 100, филиалы без продаж — с нулём). Чеки full_returned и canceled исключены. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода, Y-m-d; по умолчанию — вся история
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю
currencystringНетВалюта чеков: uzs (по умолчанию), usd, eur, rub

Ответ · 200 ​

Поля ответа
ПолеТипОписание
[].idintegerID
[].namestringНазвание
[].total_amountstring
json
[
    {
        "id": 2,
        "name": "Company 1-1",
        "total_amount": "0"
    },
    {
        "id": 1,
        "name": "Company 1",
        "total_amount": "0"
    }
]

Продажи по времени ​

GET/company/stat/dashboard/common-new/trade-sales-by-time

Чистая сумма продаж, сгруппированная по дням (период до 61 дня), неделям (1–26), месяцам (1–24) и годам (1–20) — заполняются подходящие масштабы; при выборе одного дня добавляется hours (только часы с продажами), плюс total_amount за период. Период по умолчанию — с 2025-01-01; диапазон больше 20 лет или date_to раньше date_from отклоняется. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода, Y-m-d; по умолчанию 2025-01-01
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю
currencystringНетВалюта чеков: uzs (по умолчанию), usd, eur, rub

Ответ · 200 ​

Поля ответа
ПолеТипОписание
daysobject
days.2026-09-01integer
days.2026-09-02integer
days.2026-09-03integer
days.2026-09-04integer
days.2026-09-05integer
days.2026-09-06integer
days.2026-09-07integer
days.2026-09-08integer
days.2026-09-09integer
days.2026-09-10integer
days.2026-09-11integer
days.2026-09-12integer
days.2026-09-13integer
days.2026-09-14integer
days.2026-09-15integer
days.2026-09-16integer
days.2026-09-17integer
days.2026-09-18integer
days.2026-09-19integer
days.2026-09-20integer
days.2026-09-21integer
days.2026-09-22integer
days.2026-09-23integer
days.2026-09-24integer
days.2026-09-25integer
days.2026-09-26integer
days.2026-09-27integer
days.2026-09-28integer
days.2026-09-29integer
days.2026-09-30integer
weeksobject
weeks.2026-08-31integer
weeks.2026-09-07integer
weeks.2026-09-14integer
weeks.2026-09-21integer
weeks.2026-09-28integer
hoursarray
total_amountinteger
json
{
    "days": {
        "2026-09-01": 0,
        "2026-09-02": 0,
        "2026-09-03": 0,
        "2026-09-04": 0,
        "2026-09-05": 0,
        "2026-09-06": 0,
        "2026-09-07": 0,
        "2026-09-08": 0,
        "2026-09-09": 0,
        "2026-09-10": 0,
        "2026-09-11": 0,
        "2026-09-12": 0,
        "2026-09-13": 0,
        "2026-09-14": 0,
        "2026-09-15": 0,
        "2026-09-16": 0,
        "2026-09-17": 0,
        "2026-09-18": 0,
        "2026-09-19": 0,
        "2026-09-20": 0,
        "2026-09-21": 0,
        "2026-09-22": 0,
        "2026-09-23": 0,
        "2026-09-24": 0,
        "2026-09-25": 0,
        "2026-09-26": 0,
        "2026-09-27": 0,
        "2026-09-28": 0,
        "2026-09-29": 0,
        "2026-09-30": 0
    },
    "weeks": {
        "2026-08-31": 0,
        "2026-09-07": 0,
        "2026-09-14": 0,
        "2026-09-21": 0,
        "2026-09-28": 0
    },
    "hours": [],
    "total_amount": 0
}

Оплаты по способам ​

GET/company/stat/dashboard/common-new/trade-sale-transactions-by-payment-types

Чистые поступления по чекам за период (приход минус расход) по способу оплаты × валюте и total по валютам; датой служит момент оплаты. Чеки full_returned и canceled исключены. Кешируется.

Заголовки ​

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

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

ПолеТипОбязательноОписание
date_fromstring (date)НетНачало периода, Y-m-d; по умолчанию — вся история
date_tostring (date)НетКонец периода, Y-m-d; по умолчанию — последний день текущего месяца
company_ids[]array (integer)НетID филиалов для фильтра; по умолчанию — все доступные пользователю

Ответ · 200 ​

Поля ответа
ПолеТипОписание
transactionsobjectТранзакции
transactions.cardobject
transactions.card.uzsinteger
transactions.card.usdinteger
transactions.card.eurinteger
transactions.card.rubinteger
transactions.cashobject
transactions.cash.uzsinteger
transactions.cash.usdinteger
transactions.cash.eurinteger
transactions.cash.rubinteger
transactions.bonusobject
transactions.bonus.uzsinteger
transactions.bonus.usdinteger
transactions.bonus.eurinteger
transactions.bonus.rubinteger
transactions.debtobjectДолг
transactions.debt.uzsinteger
transactions.debt.usdinteger
transactions.debt.eurinteger
transactions.debt.rubinteger
transactions.systemobject
transactions.system.uzsinteger
transactions.system.usdinteger
transactions.system.eurinteger
transactions.system.rubinteger
custom_payment_typesobject[]
custom_payment_types[].namestringНазвание
custom_payment_types[].amountsobject
custom_payment_types[].amounts.uzsinteger
custom_payment_types[].amounts.usdinteger
custom_payment_types[].amounts.eurinteger
custom_payment_types[].amounts.rubinteger
totalobjectВсего записей
total.uzsinteger
total.usdinteger
total.eurinteger
total.rubinteger
json
{
    "transactions": {
        "card": {
            "uzs": 4000,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "cash": {
            "uzs": 900,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "bonus": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "debt": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        },
        "system": {
            "uzs": 0,
            "usd": 0,
            "eur": 0,
            "rub": 0
        }
    },
    "custom_payment_types": [
        {
            "name": "Payment type 1",
            "amounts": {
                "uzs": 0,
                "usd": 0,
                "eur": 0,
                "rub": 0
            }
        }
    ],
    "total": {
        "uzs": 4900,
        "usd": 0,
        "eur": 0,
        "rub": 0
    }
}