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

Аномалии продаж

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

GET /api/external/v2/sc/{sc_id}/anomalies   PRO

Параметры#

ИмяТипОбяз.По умолчаниюЗначения
sc_idstring, в путидаИдентификатор центра
start_datedateдаYYYY-MM-DD
end_datedateдаYYYY-MM-DD, не раньше start_date
shop_idstringнетФильтр по точке этого центра
statusstringнетnew, completed, archived
levelstringнетhigh, medium, low
pageintegerнет1Номер страницы
per_pageintegerнет100Размер страницы, от 1 до 500

Сортировка идёт от свежих к старым. Метод доступен только на PRO, поэтому окно периода составляет 366 дней и сегодняшний день разрешён.

Ответ#

ПолеТипОписание
idstringИдентификатор аномалии
datestringДата, к которой относится аномалия
created_atstringКогда платформа её обнаружила
typeinteger | nullКод типа
type_titlestring | nullНазвание типа
levelstring | nullhigh, medium, low
magnitudenumber | nullВеличина отклонения
statusstringnew, completed, archived
shop_idstring | nullТорговая точка
shop_namestring | nullЕё название
titlestring | nullКраткая формулировка
descriptionstring | nullРазвёрнутое описание
periodarray of stringПериод, за который найдено отклонение

Все даты приходят в ISO 8601 со смещением зоны центра.

json
{
  "success": true,
  "data": [
    {
      "id": "66a1000000000000000000f1",
      "date": "2026-07-29T00:00:00+03:00",
      "created_at": "2026-07-30T04:15:03+03:00",
      "type": 12,
      "type_title": "Резкое падение выручки",
      "level": "high",
      "magnitude": -0.62,
      "status": "new",
      "shop_id": "6512a2000000000000000101",
      "shop_name": "Zarina",
      "title": "Выручка ниже обычной",
      "description": "Выручка за 29 июля на 62% ниже медианы за 4 недели",
      "period": [
        "2026-07-29T00:00:00+03:00",
        "2026-07-29T23:59:59+03:00"
      ]
    }
  ],
  "meta": {
    "pagination": {
      "page": 1,
      "per_page": 100,
      "total": 1
    },
    "time_zone": "Europe/Moscow"
  }
}

Практика#

date и created_at означают разное. Первое это день, в котором нашлось отклонение, второе момент, когда платформа его обнаружила. Аномалия за вчера может появиться сегодня утром, поэтому для инкрементальной выгрузки удобнее фильтровать период по датам и перезабирать последние несколько дней.

status отражает работу с аномалией в интерфейсе Rentu. Статус new значит, что аномалию ещё никто не разбирал. Если на стороне интеграции строится своя очередь разбора, стоит ориентироваться на этот статус.

Ошибки#

КодHTTPКогда
plan_required403Центр не на PRO
not_found404Точка не найдена или принадлежит другому центру
period_too_long422Период больше 366 дней
validation_error422Неизвестный status или level, per_page больше 500, end_date раньше start_date