Список полигонов с фильтрами и пагинацией
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.