для разработчиков На сайт Rentu

Тарифы

Тариф закреплён за торговым центром, а не за ключом. Один ключ может видеть разные тарифы в разных центрах.

Какой тариф что решает#

Basic — тариф выгрузки. Фактическая выручка по дням и месяцам, посещаемость центра по дням, состояние касс и справочники. Этого достаточно, чтобы синхронизировать цифры с учётной системой, строить собственные отчёты и следить, что данные вообще собираются.

PRO — тариф аналитики. К данным Basic добавляется то, что считает платформа: расчётный товарооборот, начисленная аренда, OCR, средний чек. Плюс чеки с позициями, посещаемость по часам и зонам, аномалии, данные за сегодня и окно запроса до года.

Практическое правило: если цифры из API попадают в отчёт — хватает Basic. Если в них ищут ответы — на каких точках, в какие часы и почему — нужен PRO.

Типовые задачи#

Забрать выручку в свою отчётность#

Сложить дневные суммы прихода, возвратов и НДС по нужным точкам и построить собственные отчёты.

Продажи по дням · BASIC

Сопоставить выручку с потоком#

Взять посещаемость центра и продажи за те же дни и увидеть, растёт ли выручка вместе с трафиком или вопреки ему.

Продажи по дням и Посещаемость · BASIC

Следить за сбором данных#

Проверять состояние касс и видеть, у каких точек оборот вносится вручную, а не собирается с кассы.

Кассы и Продажи по месяцам · BASIC

Свести аренду с товарооборотом#

Взять месячные итоги точки, получить рядом расчётный товарооборот, начисленную аренду и OCR, и проверить ставку, не выгружая ничего из учётной системы.

Продажи по месяцам · PRO

Найти, где просела конверсия#

Сопоставить посещаемость по часам с чеками за те же часы и увидеть, в какие интервалы поток есть, а покупок нет.

Посещаемость и Чеки · PRO

Спуститься до позиции чека#

Разобрать выручку точки до отдельных чеков и позиций: что, в каком количестве и по какой цене продано.

Чеки · PRO

Что входит в тариф#

BasicPROMCP
Справочники и операции
Торговые точки и их параметрыдадада
Кассы и их статусдадада
Зоны подсчёта посещаемостидадада
Настройки расчёта товарооборотададада
Создание событий центрададада
Сдача товарооборота офлайн-точкамидадада
Передача посещаемости со своих счётчиковдадада
Арендаторы и договоры аренды Скоро
Продажи по торговой точке
Детализация по дням и месяцамдадада
Типы расчётов и НДСдадада
Сданный товарооборотдадада
Расчётный товарооборот по настройкам точкидада
Расчётная аренда и OCRдада
Средний чек, выручка на м²дада
Детализация до чекадада
Позиции чека: количество, цена, суммадада
Аномалии продаждада
Посещаемость
Периметр ТЦ: день, месяцдадада
Периметр ТЦ: часдада
Зоны в ТЦ: час, день, месяцдада
Доступ
REST, JSON, токен на часдадада
Доступ из ИИ-агентада

Скоро Тариф MCP в разработке.

Лимиты#

BasicPRO
Период в одном запросе, подневные данные31 день366 дней
Период в одном запросе, месячные итоги12 месяцев36 месяцев
Самая свежая датавчерасегодня
Частота запросов60/мин, 5 000/сутки300/мин, 50 000/сутки

Пока центр не подключил PRO, действует Basic. Он же остаётся после окончания подписки, так что интеграция не ломается — сужаются данные и окна.

Как тарифные ограничения выглядят в API#

Ограничение проявляется одним из трёх способов, и каждый различим по коду ошибки — интеграция может обработать их осмысленно, а не показывать «доступ запрещён».

Метод доступен только на PRO#

Чеки и аномалии на Basic отдают 403:

json
{
  "success": false,
  "error": {
    "code": "plan_required",
    "message": "Endpoint requires PRO plan",
    "details": { "required_plan": "pro", "current_plan": "basic" }
  }
}

В details.current_plan приходит фактический тариф центра. По нему удобно показать пользователю осмысленное сообщение вместо «доступ запрещён».

Ограничено значение параметра#

У посещаемости метод один, а тарифом ограничены значения: granularity=hour и scope со значением zone или shop. На Basic они дадут тот же plan_required, но details укажет на поле: granularity или scope.

Так сделано потому, что маршрут один и тот же: закрывать его целиком значило бы лишить Basic посещаемости вообще.

Окно запроса длиннее лимита#

json
{
  "success": false,
  "error": {
    "code": "period_too_long",
    "message": "..."
  }
}

Ограничена длина окна, а не давность данных: забрать позапрошлый год на Basic можно, просто частями.

Единица измерения зависит от того, насколько подробные данные запрашиваются. Там, где строка приходится на день (продажи по дням, посещаемость, чеки, аномалии), окно считается в днях. У продаж по месяцам строка приходится на месяц, поэтому и предел задан в месяцах: год месячных итогов на Basic приходит одним запросом.

Отдельно про свежесть. На Basic end_date должен быть строго раньше сегодняшнего дня в таймзоне торгового центра:

json
{
  "success": false,
  "error": {
    "code": "fresh_data_requires_pro",
    "message": "..."
  }
}

Поля, которые появляются на PRO#

В продажах по месяцам:

ПолеЧто это
turnoverРасчётный товарооборот по настройкам центра, копейки
rentНачисленная аренда за месяц, копейки
average_check_sumСредний чек, копейки
revenue_per_areaВыручка на квадратный метр, копейки
ocrOccupancy cost ratio, доля аренды в товарообороте, проценты

В продажах по дням появляется turnover.

На Basic эти поля отсутствуют в объекте, а не приходят как null. Разбирать ответ стоит так, чтобы отсутствие ключа не ломало парсер.

Про разницу между turnover и manual_turnover. Первый считаем мы: берём чеки и применяем настройки центра, решающие, что делать с возвратами, НДС, авансами и корректировками. Второй арендатор вносит сам, и заполнен он только у офлайн-точек без подключённой кассы. manual_turnover доступен на обоих тарифах, потому что без него офлайн-точка выглядит в API как точка с нулями.

Ограничения, которые PRO не снимает#

Два окна фиксированы независимо от тарифа. Они защищают размер ответа, а не продают глубину:

МетодОкноКод ошибки
Посещаемость с granularity=hour31 деньtoo_long_date
Чеки, на каждую пару дат31 деньtoo_long_date

Час за год это около девяти тысяч строк в одном ответе, такие выгрузки надо делать частями в любом случае.

MCP#

Скоро

Доступ к данным центра из ИИ-ассистента по протоколу MCP, без собственной интеграции. Ассистент получает набор инструментов поверх методов API и отвечает на вопросы к данным центра напрямую.

Состав данных совпадает с PRO. Модель прав та же: ассистент видит те центры, к которым у сотрудника есть роли. По вопросам пилота — менеджер Rentu.

Как узнать свой тариф#

Отдельного метода нет. Фактический тариф центра приходит в details.current_plan любого ответа plan_required. Смена тарифа — через менеджера Rentu.