GET /api/external/v2/sc/{sc_id}/reports/shops/by_period BASIC
Параметры#
| Имя | Тип | Обяз. | По умолчанию | Описание |
|---|---|---|---|---|
sc_id | string, в пути | да | — | Идентификатор центра |
start_date | date | да | — | YYYY-MM-DD |
end_date | date | да | — | YYYY-MM-DD, не раньше start_date |
page | integer | нет | 1 | Номер страницы |
per_page | integer | нет | 100 | Размер страницы, от 1 до 500 |
Длина периода ограничена тарифом центра: на Basic 31 день и данные до вчера, на PRO 366 дней включая сегодня. См. Тарифы.
curl -G "https://api.rentu.ru/api/external/v2/sc/$SC/reports/shops/by_period" \
-d start_date=2026-07-01 \
-d end_date=2026-07-31 \
-d per_page=500 \
-H 'Authorization: Bearer YOUR_TOKEN'Ответ#
В выдачу попадают точки, по которым за период есть подневные данные, включая архивные. Точка, по которой данных за период нет, в ответ не попадёт: полный список точек центра отдаёт справочник.
Строки отсортированы по income_sum по убыванию, при равной выручке по id точки.
Все суммы приходят в копейках.
Точка и арендатор#
| Поле | Тип | Описание |
|---|---|---|
shop | object | { id, external_id, name } — точка, как в справочнике |
renter | object | null | { id, legal_name, inn, kpp } — арендатор точки. null, если арендатор не закреплён |
Суммы#
Набор полей тот же, что у продаж по дням, только сложенный за весь период:
- счётчики чеков:
receipts_count,income_receipts_count,refund_receipts_count; - приход и возвраты:
income_sum,income_without_nds_sum,refund_sum,refund_without_nds_sum; - способы оплаты:
cash_sum,ecash_sum,advanced_sum,full_prepayment_sum,partial_prepayment_sum,prepaid_sum,credit_sum,provision_sumи возвраты с префиксомrefund_; - разбивка по НДС:
nds_*_sumи возвратыrefund_nds_*_sum; turnoverPRO — товарооборот по правилам центра.
date и kkts_count здесь нет: строка относится ко всему периоду, а не к дню.
На Basic turnover отсутствует в объекте, а не приходит как null.
{
"success": true,
"data": [
{
"shop": {
"id": "6512a2000000000000000101",
"external_id": "SL-101",
"name": "Zarina"
},
"renter": {
"id": "6512a1f0b3c4d5e6f7a8b911",
"legal_name": "ООО «Зарина»",
"inn": "7712345678",
"kpp": "771201001"
},
"receipts_count": 9734,
"income_receipts_count": 9610,
"refund_receipts_count": 124,
"income_sum": 139881300,
"income_without_nds_sum": 116567750,
"refund_sum": 585900,
"refund_without_nds_sum": 488250,
"cash_sum": 37200000,
"ecash_sum": 102681300,
"advanced_sum": 0,
"full_prepayment_sum": 0,
"partial_prepayment_sum": 0,
"prepaid_sum": 0,
"credit_sum": 0,
"provision_sum": 0,
"refund_cash_sum": 0,
"refund_ecash_sum": 585900,
"nds_20_sum": 23313550,
"refund_nds_20_sum": 97650,
"turnover": 139295400
}
],
"meta": {
"pagination": {
"page": 1,
"per_page": 500,
"total": 131
},
"time_zone": "Europe/Moscow"
}
}Практика#
Подходит для сводных выгрузок. Ночная выгрузка вчерашнего дня по всему центру
это start_date и end_date, равные вчерашней дате: одна строка на точку, обычно
одна страница. С продажами по дням это потребовало бы
по запросу на каждую точку.
Подневной разбивки здесь нет. Если нужны суммы по каждому дню, остаются продажи по дням конкретной точки.
Сопоставлять удобно по shop.external_id. Тот же идентификатор приходит
в справочнике точек, хранить наши id не обязательно.
Ошибки#
| Код | HTTP | Когда |
|---|---|---|
period_too_long | 422 | Период больше тарифного окна |
fresh_data_requires_pro | 422 | На Basic запрошен сегодняшний день |
validation_error | 422 | end_date раньше start_date, per_page больше 500, неразобранная дата |
query_timeout | 504 | Выборка не уложилась в отведённое время; сузьте период |