Публичный ресурс
Веб-сервис REST получения агрегированных данных по продажам и возвратам для продавцов
https://crystals.atlassian.net/browse/CR-15381
https://crystals.atlassian.net/browse/SRTS-4451
10.4.25.0
Описание
Метод позволяет видеть по каждому продавцу-консультанту его продажи за период (количество товаров, сумму продаж, возвраты) в удобном отчёте на кассовом узле, чтобы понимать выполнение KPI и вовремя корректировать работу с покупателями.
Также это возможность для директора магазина получать отчёт по продажам всех консультантов, чтобы анализировать их результативность за день, неделю или месяц.
Методы и поля
Пример запроса и ответа
Пример запроса:
http://172.29.10.94:8090/SET-Cashiers-REST/v1/cashiers/sales-and-returns-report-for-shop/1094?beginDate=2026-03-20&endDate=2026-03-20http://172.29.10.94:8090/SET-Cashiers-REST/v1/cashiers/sales-and-returns-report-for-shop/1094?beginDate=2026-03-20&endDate=2026-03-20
Пример ответа:
{
"beginDate": "2026-03-20T00:00:00",
"endDate": "2026-03-20T23:59:59",
"shopNum": 1094,
"items": [
{
"tabNum": "7",
"firstName": "Саввевич",
"middleName": "Богдан",
"lastName": "Арданкин",
"salesAmount": {
"count": 3,
"receiptsCount": 1,
"sumAmount": 835.69
},
"returnsAmount": {
"count": 0,
"receiptsCount": 0,
"amount": 0.00
}
},
{
"tabNum": "10",
"firstName": "Зимина",
"middleName": "Татьяна",
"lastName": "Валерьевна",
"salesAmount": {
"count": 4,
"receiptsCount": 2,
"sumAmount": 1650.72
},
"returnsAmount": {
"count": 1,
"receiptsCount": 1,
"amount": 187.39
}
}
]
}Метод для получения агрегированных данных по продажам и возвратам
Метод операции | GET |
|---|---|
Название метода | http://<IP-адрес сервера SetRetail10>:8090/SET-Cashiers-REST/v1/cashiers/sales-and-returns-report-for-shop/{shopNum}?beginDate={date1}&endDate={date2} |
Назначение | Получение агрегированных за период данных о продажах и возвратах для всех продавцов магазина |
Необходима авторизация | Нет |
Response status code |
|
Входные параметры для метода (PATH)
Параметр | Тип данных | Обязательный | Пример | Описание |
|---|---|---|---|---|
shopNum | Integer | да | “123” | Номер магазина |
Входные параметры для метода (QUERY)
Параметр | Тип данных | Обязательный | Пример | Описание |
|---|---|---|---|---|
beginDate | DateTime | нет | “2026-01-02” | Дата начала периода Если дата начала периода не передана, то данные по продавцам возвращаются за предыдущие сутки |
endDate | DateTime | нет | “2026-02-02” | Дата окончания периода (включительно, данные агрегируются до 23.59 переданной даты) Если дата окончания периода не передана, то данные по продавцам возвращаются за предыдущие сутки Дата окончания периода должна быть больше даты начала периода, а также между датой начала и окончания не должно быть больше 90 дней. В обратном случае будет возвращена ошибка |
Выходные параметры для метода
Параметр | Тип данных | Пример | Описание | ||
|---|---|---|---|---|---|
beginDate | DateTime | “2026-01-02” | Дата начала периода | ||
endDate | DateTime | “2026-02-02” | Дата окончания периода | ||
shopNum | Integer | “123” | Номер магазина | ||
items | Array |
| Список продавцов-консультантов | ||
| tabNum | String | “1” | Табельный номер (код) продавца | |
| firstName | String | “Иван” | Имя продавца | |
| middleName | String | “Иванович” | Отчество продавца | |
| lastName | String | “Иванов” | Фамилия продавца | |
| salesAmount | Object |
| Информация о продажах | |
|
| count | Integer | 45 | Количество товаров, проданных покупателям через данного продавца-консультанта Информация о продавце берется из плагинного свойства позиции в чеке (свойство key="seller"), в позициях в одном чеке может быть указано несколько разных продавцов |
|
| receiptsCount | Integer | 5 | Общее количество чеков, из которых получена информация о продажах продавца-консультанта за переданный период |
|
| sumAmount | Decimal | 23788.56 | Общая сумма продаж по всем товарам за указанный период времени для данного продавца |
| returnsAmount | Object |
| Информация о возвратах | |
|
| count | Integer | 12 | Количество товаров, возвращенных покупателями через данного продавца-консультанта Информация о продавце берется из плагинного свойства позиции в чеке (свойство key="seller"), в позициях в одном чеке может быть указано несколько разных продавцов |
|
| receiptsCount | Integer | 4 | Общее количество чеков, из которых получена информация о возвратах, выполненных через данного продавца-консультанта за переданный период |
|
| amount | Decimal | 3788.56 | Общая сумма возвратов по всем товаров за указанный период времени для данного продавца |
Пример ответа:
{
"shopNum":"123",
"beginDate":“2026-01-02”,
"endDate":“2026-02-02”,
"items":[
{
"tabNum":"1",
"firstName":"Иван",
"middleName":"Иванович",
"lastName":"Иванов",
"salesAmount":{
"count":25,
"receiptsCount":5,
"amount":23788.56
},
"returnsAmount":{
"count":12,
"receiptsCount":5,
"amount":3788.56
}
},
{
"tabNum":"2",
"firstName":"Вячеслав",
"middleName":"Иванович",
"lastName":"Иванов",
"salesAmount":{
"count":34,
"receiptsCount":5,
"amount":43788.56
},
"returnsAmount":{
"count":12,
"receiptsCount":5,
"amount":3788.56
}
}
]
}
Коды и тексты ошибок
Код HTTP | Текст ошибки | Описание |
|---|---|---|
400 | Период запроса данных превышает 90 дней | Между датой начала периода <beginDate> и окончания периода <endDate> более 90 дней |
404 | Не найдена информация о магазине с номером <shopNum> | Переданный номер магазина в запросе не найден на сервере |
500 | Что-то пошло не так | В процессе обработки запроса произошла ошибка |