Веб-сервис REST получения агрегированных данных по продажам и возвратам для продавцов

Публичный ресурс

Веб-сервис 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-20

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-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

Метод операции

GET

Название метода

http://<IP-адрес сервера SetRetail10>:8090/SET-Cashiers-REST/v1/cashiers/sales-and-returns-report-for-shop/{shopNum}?beginDate={date1}&endDate={date2}

Назначение

Получение агрегированных за период данных о продажах и возвратах для всех продавцов магазина

Необходима авторизация

Нет

Response status code

  • 200 OK

  • 204 No content

  • 400 Bad Request

  • 404 Not Found

  • 500 Internal Server Error

Входные параметры для метода (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

Текст ошибки
errorMessage

Описание

Код HTTP

Текст ошибки
errorMessage

Описание

400

Период запроса данных превышает 90 дней

Между датой начала периода <beginDate> и окончания периода <endDate> более 90 дней

404

Не найдена информация о магазине с номером <shopNum>

Переданный номер магазина в запросе не найден на сервере

500

Что-то пошло не так

В процессе обработки запроса произошла ошибка