Список полигонов с фильтрами и пагинацией

POST /v1/polygon/list

POST/v1/polygon/list

Тело запроса

filter
object
Фильтр. Если поле фильтра не передано, равно null или передан пустой массив [], фильтрация по этому полю не применяется. При одновременном указании нескольких фильтров условия объединяются по AND.
Показать свойства
location_id
array
Фильтр по идентификаторам склада (опционально).
polygon_id
array
Фильтр по идентификаторам полигона (опционально).
status
array
Фильтр по статусам полигона (опционально).
Статус полигона. - DRAFT : создан. - PENDING : в обработке. - ACTIVE : активен. - FAILED : не прошёл модерацию. - DELETED : удален.
cursor
string
Курсор начала отсчёта.
limit
integer
Размер страницы. min = 1; max = 300; default = 100.

Успешный ответ

200A successful response.
application/json
object
polygons
array
Элементы списка. Полигоны с недоступными или несуществующими polygon_id в ответ не возвращаются.
PolygonListItem
Показать свойства
PolygonListItem
polygon_id
string
Идентификатор полигона.
location_id
string
Идентификатор склада.
name
string
Название полигона.
status
string
Статус полигона.
Допустимые значения
DRAFTPENDINGACTIVEFAILEDDELETED
issue
object
DEPRECATED. Поле устарело. Проблема по полигону; пустой объект или не передаётся при статусах DRAFT, ACTIVE и DELETED.
Показать свойства
code
string
Код проблемы.
message
string
Детальное описание проблемы.
changed_at
string
Момент изменения (RFC3339, например 2026-04-16T08:00:00Z). Формат RFC3339 с обязательным timezone (пример: 2026-07-02T10:25:00+02:00). Несоблюдение формата может привести к непредсказуемому поведению системы и проблемам с заказами.
errors
array
Ошибки валидации по полям. Поле обязательно к заполнению только при статусе FAILED; при остальных статусах поле должно быть пустым. Коды только из PolygonListItemValidationErrorCode.
Ошибка валидации/бизнеса поля для scope «PolygonListItem». Допустимые field: ошибки модерации полигона (при status=FAILED). Для бизнес-правил витрины: code=STOREFRONT_RULE_VIOLATION.
Показать свойства
field
string
required
Путь к полю. Ожидаемые: ошибки модерации полигона (при status=FAILED).
code
string
required
Коды ошибок ручки (scope PolygonListItem). Допустимые field: ошибки модерации полигона (при status=FAILED). - REQUIRED: Поле отсутствует или пустое, но обязательно - INVALID_TYPE: Неверный JSON-тип - INVALID_FORMAT: Общий сбой формата значения - INVALID_ENUM: Значение не из допустимого enum - INVALID_COORDINATES: Некорректная геометрия / GeoJSON - RING_TOO_SHORT: LinearRing короче 4 позиций - RING_NOT_CLOSED: Кольцо не замкнуто - POSITION_SIZE: Позиция не 2–3 числа - INVALID_LATITUDE: Широта вне диапазона - INVALID_LONGITUDE: Долгота вне диапазона - INVALID_RANGE: Некорректный диапазон (from > to) - NEGATIVE_VALUE: Отрицательное значение недопустимо - STOREFRONT_RULE_VIOLATION: Запрос синтаксически валиден, но отклонён бизнес-правилом витрины (детали в message)
Допустимые значения
REQUIREDINVALID_TYPEINVALID_FORMATINVALID_ENUMINVALID_COORDINATESRING_TOO_SHORTRING_NOT_CLOSEDPOSITION_SIZEINVALID_LATITUDEINVALID_LONGITUDEINVALID_RANGENEGATIVE_VALUESTOREFRONT_RULE_VIOLATION
message
string
required
Текст для клиента. Для STOREFRONT_RULE_VIOLATION — описание правила.
delivery_options
array
Список цен доставки по объёмному весу.
Опция доставки по диапазону объёмного веса.
Показать свойства
volume_weight_from
number
Объёмный вес (кг) от: длина (см) × ширина (см) × высота (см) * масса брутто (кг) / 300.
volume_weight_to
number
Объёмный вес (кг) до: длина (см) × ширина (см) × высота (см) * масса брутто (кг) / 300.
price
number
Цена доставки, значение умноженное на 100.
currency
string
Валюта цены.
Допустимые значения
RUBBYNKZTEURUSDCNY
vat
string
НДС.
Допустимые значения
VAT_0VAT_5VAT_7VAT_10VAT_22NO_VAT
provider_id
string
Идентификатор провайдера доставки (опционально).
Допустимые значения
CDEKBOXBERRY5POSTRUSSIAN_POSTYANDEXSBLMVIDEO
delivery_time_minutes
integer
Время доставки в минутах.
delivery_types
array
Типы доставки.
Параметры типа доставки для опции.
Показать свойства
delivery_type
string
required
Тип доставки.
Допустимые значения
COURIERPICKUP_POINT
weight_from
number
Масса брутто (кг) от.
weight_to
number
Масса брутто (кг) до.
time_slots
array
Доступные интервалы доставки по времени (опционально).
Интервал времени доставки в течение дня (локальное время).
Показать свойства
from
string
Начало интервала, формат «HH:MM» (например, «10:00»).
to
string
Конец интервала, формат «HH:MM» (например, «12:00»).
trunk_schedule
object
График магистральной перевозки по городу (опционально).
Показать свойства
working_schedule
array
Расписание по дням недели; в каждом элементе — day и shipping_cutoff для магистрали.
PolygonWorkingSchedule
Показать свойства
PolygonWorkingSchedule
day
string
День недели.
Допустимые значения
MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAY
shipping_cutoff
string
Время, после которого отсчёт слота доставки начнётся со следующего дня магистральной перевозки. Формат «16:30». Если пустое — не применяется.
individual_schedule
array
Индивидуальное расписание на даты; в каждом элементе — date, shipping_cutoff для магистрали, is_works.
PolygonIndividualSchedule
Показать свойства
PolygonIndividualSchedule
date
string
Дата, формат «YYYY-MM-DD».
shipping_cutoff
string
Время, после которого отсчёт слота доставки начнётся со следующего дня магистральной перевозки. Формат «16:30». Если пустое — не применяется.
is_works
boolean
Признак работы в дату.
coordinates
array
Контур полигона в формате RFC 7946: массив линейных колец В JSON передаётся как массив линейных колец: первое кольцо — внешняя граница, последующие — отверстия. Позиция задаётся как [долгота(longitude), широта(latitude)] в градусах, система координат WGS 84 (долгота первой компонентой). Пример: [[[37.61, 55.75], [37.62, 55.76]], [[37.70, 55.80], [37.71, 55.81]]].
Линейное кольцо (LinearRing).
next_cursor
string
Курсор начала отсчёта.
total
integer
Общее количество записей.

Ошибки

400Некорректный запрос
application/json
object
error_type
string
ERROR_TYPE_BAD_REQUEST — HTTP 400 (request-level); ERROR_TYPE_UNAUTHORIZED — 401; ERROR_TYPE_RATE_LIMIT — 429; ERROR_TYPE_INTERNAL — 500. Поэлементные/бизнес-ошибки сущности — в HTTP 200 errors/failed, не здесь.
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string
код ошибки
message
string
сообщение
details
object
401Ошибка авторизации
application/json
object
error_type
string
ERROR_TYPE_BAD_REQUEST — HTTP 400 (request-level); ERROR_TYPE_UNAUTHORIZED — 401; ERROR_TYPE_RATE_LIMIT — 429; ERROR_TYPE_INTERNAL — 500. Поэлементные/бизнес-ошибки сущности — в HTTP 200 errors/failed, не здесь.
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string
код ошибки
message
string
сообщение
details
object
429Превышен лимит запросов
application/json
object
error_type
string
ERROR_TYPE_BAD_REQUEST — HTTP 400 (request-level); ERROR_TYPE_UNAUTHORIZED — 401; ERROR_TYPE_RATE_LIMIT — 429; ERROR_TYPE_INTERNAL — 500. Поэлементные/бизнес-ошибки сущности — в HTTP 200 errors/failed, не здесь.
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string
код ошибки
message
string
сообщение
details
object
500Внутренняя ошибка сервера
application/json
object
error_type
string
ERROR_TYPE_BAD_REQUEST — HTTP 400 (request-level); ERROR_TYPE_UNAUTHORIZED — 401; ERROR_TYPE_RATE_LIMIT — 429; ERROR_TYPE_INTERNAL — 500. Поэлементные/бизнес-ошибки сущности — в HTTP 200 errors/failed, не здесь.
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string
код ошибки
message
string
сообщение
details
object
defaultОшибка (неожиданная или прочие)
application/json
object
error_type
string
ERROR_TYPE_BAD_REQUEST — HTTP 400 (request-level); ERROR_TYPE_UNAUTHORIZED — 401; ERROR_TYPE_RATE_LIMIT — 429; ERROR_TYPE_INTERNAL — 500. Поэлементные/бизнес-ошибки сущности — в HTTP 200 errors/failed, не здесь.
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string
код ошибки
message
string
сообщение
details
object
POST/v1/polygon/list
1curl https://api.omninet.ru/v1/polygon/list \2  --request POST \3  --header 'Content-Type: application/json' \4  --data '{5  "filter": {6    "location_id": [7      "string"8    ],9    "polygon_id": [10      "string"11    ],12    "status": [13      "string"14    ]15  },16  "cursor": "string",17  "limit": 018}'
{
  "polygons": [
    {
      "polygon_id": "string",
      "location_id": "string",
      "name": "string",
      "status": "string",
      "issue": {
        "code": "string",
        "message": "string",
        "changed_at": "2026-07-02T10:25:00+02:00"
      },
      "errors": [
        {
          "field": "coordinates",
          "code": "STOREFRONT_RULE_VIOLATION",
          "message": "Полигон не прошёл модерацию витрины"
        }
      ],
      "delivery_options": [
        {
          "volume_weight_from": 0,
          "volume_weight_to": 0,
          "price": 0,
          "currency": "RUB",
          "vat": "string",
          "provider_id": "string",
          "delivery_time_minutes": 0,
          "delivery_types": [
            {
              "delivery_type": "COURIER"
            }
          ],
          "weight_from": 0,
          "weight_to": 0,
          "time_slots": [
            {
              "from": "string",
              "to": "string"
            }
          ],
          "trunk_schedule": {
            "working_schedule": [
              {
                "day": "MONDAY",
                "shipping_cutoff": "string"
              }
            ],
            "individual_schedule": [
              {
                "date": "string",
                "shipping_cutoff": "string",
                "is_works": true
              }
            ]
          }
        }
      ],
      "coordinates": [
        [
          [
            100,
            0
          ],
          [
            101,
            0
          ],
          [
            101,
            1
          ],
          [
            100,
            1
          ],
          [
            100,
            0
          ]
        ]
      ]
    }
  ],
  "next_cursor": "string",
  "total": 0
}

A successful response.