Ozon Delivery API

Ozon Delivery API — справочник методов

Базовый URL: https://api-delivery.ozon.ru

Все методы — POST, тело и ответ в JSON, авторизация — заголовок Authorization: Bearer <access_token>.

Во всех ответах приходит заголовок x-o3-trace-id — идентификатор запроса для обращения в поддержку.

Сгенерировано из официальной OpenAPI-спеки Ozon Delivery API: ozon-delivery-openapi.json.

Содержание#

  • Оформление заказа
    • /v1/delivery/check-client — Проверить доступность доставки для покупателя
    • /v1/delivery/location — Рассчитать предварительный срок доставки до локации покупателя
    • /v1/order/checkout — Проверить доступность доставки и расчёт условий по заказу
    • /v1/order/create — Создать заказ
  • Пункты выдачи заказов
  • Отгрузка отправлений
  • Обработка отправлений
  • Обработка возвратов

Оформление заказа#

Проверить доступность доставки для покупателя#

POST /v1/delivery/check-client

operationId: DeliveryCheckClient

Тело запроса (application/json)

Параметр Тип Обяз. Описание
phone_number string да Номер телефона покупателя.

Пример запроса

{
  "phone_number": "+79000000000"
}

Ответы

Код Описание
200 Доступность доставки для покупателя
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
can_be_delivered boolean да true, если доставка доступна.

Пример ответа 200

{
  "can_be_delivered": true
}

Рассчитать предварительный срок доставки до локации покупателя#

POST /v1/delivery/location

operationId: DeliveryLocation

Тело запроса (application/json)

Параметр Тип Обяз. Описание
coordinates object да Координаты.
  coordinates.latitude number (double) да Широта. Пример: 55.7558.
  coordinates.longitude number (double) да Долгота. Пример: 37.6176.
shipment_methods array of object да Методы доставки. мин. элементов: 1. макс. элементов: 100.
  shipment_methods.shipment_method_id integer (int64) да Идентификатор метода доставки.
  shipment_methods.cutoff_at string (date-time) — Плановая дата и время отгрузки в UTC.

Пример запроса

{
  "coordinates": {
    "latitude": 55.7558,
    "longitude": 37.6176
  },
  "shipment_methods": [
    {
      "shipment_method_id": 1,
      "cutoff_at": "2026-07-16T09:00:00Z"
    }
  ]
}

Ответы

Код Описание
200 Срок доставки до покупателя
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
results array of object да Информация о сроке доставки.
  results.shipment_method_id integer (int64) да Идентификатор метода доставки.
  results.cutoff_at string (date-time) да Плановая дата и время отгрузки в UTC.
  results.estimated_delivery_days integer (int32) — Предварительный срок доставки в днях.
  results.error object — Информация об ошибке.
    results.error.code string — Код ошибки.
    results.error.message string да Описание ошибки.

Пример ответа 200

{
  "results": [
    {
      "shipment_method_id": 1,
      "estimated_delivery_days": 1
    }
  ]
}

Проверить доступность доставки и расчёт условий по заказу#

POST /v1/order/checkout

operationId: OrderCheckout

Тело запроса (application/json)

Параметр Тип Обяз. Описание
recipient object да Информация о получателе.
  recipient.phone_number string да Телефон получателя.
postings array of object да Состав отправлений для предварительного расчёта. мин. элементов: 1. макс. элементов: 100.
  postings.request_id integer (int64) да Идентификатор запроса.
  postings.shipment_method_id integer (int64) да Идентификатор метода доставки.
  postings.cutoff_at string (date-time) — Плановая дата и время отгрузки в UTC.
  postings.declared_value object да Объявленная стоимость отправления.
    postings.declared_value.amount string да Сумма.
    postings.declared_value.currency_code string да Валюта.
  postings.dimensions object да Объёмно-весовые характеристики отправления.
    postings.dimensions.weight_g integer (int32) да Вес отправления в граммах.
    postings.dimensions.length_mm integer (int32) да Длина отправления в миллиметрах.
    postings.dimensions.width_mm integer (int32) да Ширина отправления в миллиметрах.
    postings.dimensions.height_mm integer (int32) да Высота отправления в миллиметрах.
delivery object да Информация о доставке.
  delivery.delivery_point object — Доставка в пункт выдачи заказов или постамат.
    delivery.delivery_point.delivery_point_id integer (int64) да Идентификатор пункта выдачи заказов или постамата.
  delivery.courier object — Доставка курьером.
    delivery.courier.coordinates object да Координаты точки доставки.
      delivery.courier.coordinates.latitude number (double) да Широта.
      delivery.courier.coordinates.longitude number (double) да Долгота.

Пример запроса

{
  "recipient": {
    "phone_number": "+79991234567"
  },
  "postings": [
    {
      "request_id": 101,
      "shipment_method_id": 1,
      "cutoff_at": "2026-07-16T12:00:00Z",
      "declared_value": {
        "amount": "1250.50",
        "currency_code": "RUB"
      },
      "dimensions": {
        "weight_g": 1000,
        "length_mm": 200,
        "width_mm": 150,
        "height_mm": 100
      }
    }
  ],
  "delivery": {
    "delivery_point": {
      "delivery_point_id": 1
    }
  }
}

Ответы

Код Описание
200 Доступность доставки и расчёт условий по заказу
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
results array of object да Результат проверки доступности и условий доставки.
  results.request_id integer (int64) да Идентификатор запроса.
  results.posting object — Информация об отправлении.
    results.posting.estimated_delivery_cost object да Предварительная стоимость доставки.
      results.posting.estimated_delivery_cost.amount string да Сумма.
      results.posting.estimated_delivery_cost.currency_code string да Валюта.
    results.posting.estimated_insurance_cost object да Предварительная стоимость страховки.
      results.posting.estimated_insurance_cost.amount string да Сумма.
      results.posting.estimated_insurance_cost.currency_code string да Валюта.
    results.posting.estimated_delivery_days integer (int32) да Предварительный срок доставки в днях.
    results.posting.cutoff_at string (date-time) да Плановая дата и время отгрузки в UTC.
  results.error object — Информация об ошибке.
    results.error.code string — Код ошибки.
    results.error.message string да Описание ошибки.

Пример ответа 200

{
  "results": [
    {
      "request_id": 101,
      "posting": {
        "estimated_delivery_cost": {
          "amount": "1250.50",
          "currency_code": "RUB"
        },
        "estimated_insurance_cost": {
          "amount": "1250.50",
          "currency_code": "RUB"
        },
        "estimated_delivery_days": 2,
        "cutoff_at": "2026-07-16T12:00:00Z"
      }
    }
  ]
}

Создать заказ#

POST /v1/order/create

operationId: OrderCreate

Параметры запроса (header/query/path)

Параметр Где Тип Обяз. Описание
Idempotency-Key header string (uuid) — Ключ идемпотентности — UUID. Повторный запрос с тем же ключом возвращает исходный ответ.

Тело запроса (application/json)

Параметр Тип Обяз. Описание
order_external_id string — Идентификатор заказа в системе продавца.
recipient object да Информация о получателе.
  recipient.phone_number string да Телефон получателя.
  recipient.full_name string — ФИО получателя.
delivery object да Информация о доставке.
  delivery.delivery_point object — Доставка в пункт выдачи заказов или постамат.
    delivery.delivery_point.delivery_point_id integer (int64) да Идентификатор пункта выдачи заказов или постамата.
  delivery.courier object — Доставка курьером.
    delivery.courier.coordinates object да Координаты точки доставки.
      delivery.courier.coordinates.latitude number (double) да Широта.
      delivery.courier.coordinates.longitude number (double) да Долгота.
    delivery.courier.zip_code string да Почтовый индекс.
    delivery.courier.country string да Страна.
    delivery.courier.region string да Регион.
    delivery.courier.city string да Город.
    delivery.courier.street string да Улица.
    delivery.courier.house_number string — Номер дома.
    delivery.courier.entrance string — Подъезд.
    delivery.courier.floor string — Этаж.
    delivery.courier.apartment string — Квартира.
    delivery.courier.intercom string — Домофон.
postings array of object да Информация об отправлениях в заказе. мин. элементов: 1. макс. элементов: 100.
  postings.request_id integer (int64) да Идентификатор запроса.
  postings.posting_external_id string — Идентификатор отправления в системе продавца.
  postings.shipment_method_id integer (int64) да Идентификатор метода доставки.
  postings.description string да Описание содержимого отправления. мин. длина: 1. макс. длина: 500.
  postings.declared_value object да Объявленная стоимость отправления.
    postings.declared_value.amount string да Сумма.
    postings.declared_value.currency_code string да Валюта.
  postings.cutoff_at string (date-time) — Плановая дата и время отгрузки в UTC.
  postings.dimensions object да Объёмно-весовые характеристики отправления.
    postings.dimensions.weight_g integer (int32) да Вес отправления в граммах.
    postings.dimensions.length_mm integer (int32) да Длина отправления в миллиметрах.
    postings.dimensions.width_mm integer (int32) да Ширина отправления в миллиметрах.
    postings.dimensions.height_mm integer (int32) да Высота отправления в миллиметрах.

Пример запроса

{
  "order_external_id": "shop-order-42",
  "recipient": {
    "phone_number": "+79991234567",
    "full_name": "Иванов Иван Иванович"
  },
  "delivery": {
    "delivery_point": {
      "delivery_point_id": 1
    }
  },
  "postings": [
    {
      "request_id": 101,
      "posting_external_id": "shop-posting-42-1",
      "shipment_method_id": 1,
      "description": "Смартфон и чехол",
      "declared_value": {
        "amount": "1250.50",
        "currency_code": "RUB"
      },
      "cutoff_at": "2026-07-16T12:00:00Z",
      "dimensions": {
        "weight_g": 1000,
        "length_mm": 200,
        "width_mm": 150,
        "height_mm": 100
      }
    }
  ]
}

Ответы

Код Описание
200 Заказ и отправления созданы
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
order_number string да Номер заказа.
order_external_id string — Идентификатор заказа в системе продавца.
postings array of object да Созданные отправления.
  postings.request_id integer (int64) да Идентификатор запроса.
  postings.posting_number string да Номер отправления.
  postings.posting_external_id string — Идентификатор отправления в системе продавца.
  postings.estimated_delivery_cost object да Предварительная стоимость доставки.
    postings.estimated_delivery_cost.amount string да Сумма.
    postings.estimated_delivery_cost.currency_code string да Валюта.
  postings.estimated_insurance_cost object да Предварительная стоимость страховки.
    postings.estimated_insurance_cost.amount string да Сумма.
    postings.estimated_insurance_cost.currency_code string да Валюта.
  postings.estimated_delivery_days integer (int32) да Предварительный срок доставки в днях.
  postings.cutoff_at string (date-time) да Плановая дата и время отгрузки в UTC.

Пример ответа 200

{
  "order_number": "YY-123BE456PY78-90YY",
  "order_external_id": "shop-order-42",
  "postings": [
    {
      "request_id": 101,
      "posting_number": "123BE456PY78-90YY",
      "posting_external_id": "shop-posting-42-1",
      "estimated_delivery_days": 2,
      "cutoff_at": "2026-07-16T12:00:00Z"
    }
  ]
}

Пример ошибки 400

{
  "error": {
    "message": "Не удалось создать заказ."
  },
  "details": [
    {
      "item_id": "1",
      "error": {
        "code": "recipient_error",
        "message": "Невозможно доставить заказ получателю."
      }
    }
  ]
}

Пункты выдачи заказов#

Получить список всех пунктов выдачи#

POST /v1/delivery-point/list

operationId: DeliveryPointList

Тело запроса (application/json)

Параметр Тип Обяз. Описание
pagination object да Разделение ответа метода.
  pagination.cursor string — Указатель для выборки следующих данных.
  pagination.limit integer (int32) да Максимальное количество элементов в ответе. макс.: 100.

Пример запроса

{
  "pagination": {
    "cursor": "string",
    "limit": 100
  }
}

Ответы

Код Описание
200 Список пунктов выдачи
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
delivery_points array of object да Список пунктов выдачи с методами доставки в эти пункты.
  delivery_points.delivery_point_id integer (int64) да Идентификатор пункта выдачи.
  delivery_points.shipment_method_ids array of integer да Идентификаторы методов доставки, которыми можно передать отправление в пункт выдачи.
next_cursor string — Указатель для выборки следующей страницы.

Пример ответа 200

{
  "delivery_points": [
    {
      "delivery_point_id": 1,
      "shipment_method_ids": 1
    }
  ],
  "next_cursor": "string"
}

Проверить доступность доставки отправлений в конкретные пункты выдачи#

POST /v1/delivery-point/check-availability

operationId: DeliveryPointCheckAvailability

Тело запроса (application/json)

Параметр Тип Обяз. Описание
delivery_point_ids array of integer да Идентификаторы пунктов выдачи для проверки. мин. элементов: 1. макс. элементов: 100. Пример: 1.
shipment_method_id integer (int64) да Идентификатор метода доставки. Пример: 1.
postings array of object да Отправления для проверки доступности доставки. мин. элементов: 1. макс. элементов: 100.
  postings.request_id integer (int64) да Идентификатор запроса.
  postings.cutoff_at string (date-time) — Плановая дата и время отгрузки в UTC.
  postings.declared_value object да Объявленная стоимость отправления.
    postings.declared_value.amount string да Сумма.
    postings.declared_value.currency_code string да Валюта.
  postings.dimensions object да Объёмно-весовые характеристики отправления.
    postings.dimensions.weight_g integer (int32) да Вес в граммах.
    postings.dimensions.length_mm integer (int32) да Длина в миллиметрах.
    postings.dimensions.width_mm integer (int32) да Ширина в миллиметрах.
    postings.dimensions.height_mm integer (int32) да Высота в миллиметрах.

Пример запроса

{
  "delivery_point_ids": 1,
  "shipment_method_id": 1,
  "postings": [
    {
      "request_id": 101,
      "cutoff_at": "2026-07-16T09:00:00Z",
      "declared_value": {
        "amount": "1250.50",
        "currency_code": "RUB"
      },
      "dimensions": {
        "weight_g": 1000,
        "length_mm": 200,
        "width_mm": 150,
        "height_mm": 100
      }
    }
  ]
}

Ответы

Код Описание
200 Информация о доступности доставки
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
results array of object да Результат проверки доступности доставки.
  results.request_id integer (int64) да Идентификатор запроса.
  results.delivery_point_id integer (int64) да Идентификатор доступного пункта выдачи.
  results.cutoff_at string (date-time) — Плановая дата и время отгрузки в UTC.
  results.error object — Информация об ошибке.
    results.error.code string — Код ошибки.
    results.error.message string да Описание ошибки.

Пример ответа 200

{
  "results": [
    {
      "request_id": 101,
      "cutoff_at": "2026-07-16T12:00:00Z",
      "delivery_point_id": 1,
      "error": {
        "code": "DeliveryPointNotFound",
        "message": "Не удалось найти информацию о пункте выдачи."
      }
    }
  ]
}

Получить информацию о пунктах выдачи#

POST /v1/delivery-point/info

operationId: DeliveryPointInfo

Тело запроса (application/json)

Параметр Тип Обяз. Описание
delivery_point_ids array of integer да Идентификаторы пунктов выдачи. мин. элементов: 1. макс. элементов: 100.

Пример запроса

{
  "delivery_point_ids": "1"
}

Ответы

Код Описание
200 Информация о пунктах выдачи
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
delivery_points array of object да Пункты выдачи.
  delivery_points.delivery_point_id integer (int64) да Идентификатор пункта выдачи.
  delivery_points.name string да Название пункта выдачи.
  delivery_points.delivery_point_number string — Номер пункта выдачи.
  delivery_points.type string да Тип пункта выдачи: - unknown — не определён; - pvz — пункт выдачи заказов — ПВЗ; - postamat — постамат. Значения: unknown, pvz, postamat.
  delivery_points.full_address string да Адрес пункта выдачи.
  delivery_points.coordinates object — Координаты пункта выдачи.
    delivery_points.coordinates.latitude number (double) да Широта.
    delivery_points.coordinates.longitude number (double) да Долгота.
  delivery_points.schedule array of object да Расписание работы пункта.
    delivery_points.schedule.date string (date) да Дата работы пункта.
    delivery_points.schedule.periods array of object да График работы пункта в его часовом поясе. Если список пустой — выходной.
      delivery_points.schedule.periods.from_local string (time) да Время начала работы.
      delivery_points.schedule.periods.to_local string (time) да Время окончания работы.
  delivery_points.is_active boolean да true, если пункт выдачи работает.
  delivery_points.storage_period_days integer (int32) — Срок хранения отправлений в пункте выдачи в днях.
  delivery_points.fitting_rooms_count integer (int32) — Количество примерочных.
  delivery_points.is_bulky boolean да true, если пункт выдачи работает c крупногабаритным товаром.
  delivery_points.restrictions object — Ограничения на отправления, которые принимает пункт выдачи.
    delivery_points.restrictions.min_weight_g integer (int32) да Минимальный вес отправления в граммах.
    delivery_points.restrictions.max_weight_g integer (int32) да Максимальный вес отправления в граммах.
    delivery_points.restrictions.max_width_mm integer (int32) да Максимальная ширина отправления в миллиметрах.
    delivery_points.restrictions.max_length_mm integer (int32) да Максимальная длина отправления в миллиметрах.
    delivery_points.restrictions.max_height_mm integer (int32) да Максимальная высота отправления в миллиметрах.
    delivery_points.restrictions.min_price object да Минимальная стоимость отправления.
      delivery_points.restrictions.min_price.amount string да Сумма.
      delivery_points.restrictions.min_price.currency_code string да Валюта.
    delivery_points.restrictions.max_price object да Максимальная стоимость отправления.
      delivery_points.restrictions.max_price.amount string да Сумма.
      delivery_points.restrictions.max_price.currency_code string да Валюта.

Пример ответа 200

{
  "delivery_points": [
    {
      "delivery_point_id": 1,
      "name": "ПВЗ Москва Ленина 1",
      "delivery_point_number": "MSK-001",
      "type": "pvz",
      "full_address": "г. Москва, ул. Ленина, д. 1",
      "coordinates": {
        "latitude": 55.7558,
        "longitude": 37.6176
      },
      "schedule": [
        {
          "date": "2026-07-14",
          "periods": [
            {
              "from_local": "09:00:00",
              "to_local": "21:00:00"
            }
          ]
        }
      ],
      "is_active": true,
      "storage_period_days": 7,
      "fitting_rooms_count": 2,
      "is_bulky": false,
      "restrictions": {
        "min_weight_g": 10,
        "max_weight_g": 25000,
        "max_width_mm": 600,
        "max_length_mm": 1200,
        "max_height_mm": 800,
        "min_price": {
          "amount": "1250.50",
          "currency_code": "RUB"
        },
        "max_price": {
          "amount": "1250.50",
          "currency_code": "RUB"
        }
      }
    }
  ]
}

Отгрузка отправлений#

Подтвердить отправление к отгрузке#

POST /v1/posting/approve

operationId: PostingApprove

Тело запроса (application/json)

Параметр Тип Обяз. Описание
posting_number string да Номер отправления.

Пример запроса

{
  "posting_number": "123BE456PY78-90YY"
}

Ответы

Код Описание
200 Отправление подтверждается
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Получить этикетку отправления#

POST /v1/posting/label

operationId: PostingLabel

Ответ 200 — PDF-файл с этикеткой (бинарные данные, не JSON). Этикетку можно получить только для отправлений в статусе ready_for_shipping; она обязательна для приёмки в логистику Ozon.

Тело запроса (application/json)

Параметр Тип Обяз. Описание
posting_number string да Номер отправления.

Пример запроса

{
  "posting_number": "123BE456PY78-90YY"
}

Ответы

Код Описание
200 Этикетка отправления
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Обработка отправлений#

POST /v1/posting/search

operationId: PostingSearch

Тело запроса (application/json)

Параметр Тип Обяз. Описание
filters object — Фильтры поиска отправлений.
  filters.statuses array of string — Фильтр по статусам отправления: - unknown — не определён; - created — создано; - forming — в процессе подтверждения; - forming_failed — ошибка при подтверждении; - ready_for_shipping — готово к отгрузке; - in_container — добавлено в грузоместо; - acceptance_in_progress — идёт приёмка; - on_way — доставляется; - not_accepted_to_delivery — не принято на сортировочном центре; - in_delivery_point — в пункте выдачи; - in_courier_service — у курьера Ozon; - delivered — доставлено; - canceled — отменено. Значения: unknown, created, forming, forming_failed, ready_for_shipping, in_container, acceptance_in_progress, on_way, not_accepted_to_delivery, in_delivery_point, in_courier_service, delivered, canceled.
  filters.shipment_method_id integer (int64) — Фильтр по методам доставки.
  filters.created_at_from string (date-time) — Фильтр по дате и времени начала периода создания отправления.
  filters.created_at_to string (date-time) — Фильтр по дате и времени окончания периода создания отправления.
pagination object да Разделение ответа метода.
  pagination.cursor string — Указатель для выборки следующих данных.
  pagination.limit integer (int32) да Количество элементов в ответе. макс.: 100.

Пример запроса

{
  "filters": {
    "statuses": [
      "created"
    ],
    "shipment_method_id": 1,
    "created_at_from": "2026-07-01T00:00:00Z",
    "created_at_to": "2026-07-14T00:00:00Z"
  },
  "pagination": {
    "cursor": "example",
    "limit": 100
  }
}

Ответы

Код Описание
200 Список отправлений
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
postings array of object да Найденные отправления.
  postings.posting_number string да Номер отправления.
  postings.posting_external_id string — Идентификатор отправления в системе продавца.
  postings.order_number string да Номер заказа.
  postings.created_at string (date-time) да Дата и время создания отправления.
  postings.status string да Статус отправления: - unknown — не определён; - created — создано; - forming — в процессе подтверждения; - forming_failed — ошибка при подтверждении; - ready_for_shipping — готово к отгрузке; - in_container — добавлено в грузоместо; - acceptance_in_progress — идёт приёмка; - on_way — доставляется; - not_accepted_to_delivery — не принято на сортировочном центре; - in_delivery_point — в пункте выдачи; - in_courier_service — у курьера Ozon; - delivered — доставлено; - canceled — отменено. Значения: unknown, created, forming, forming_failed, ready_for_shipping, in_container, acceptance_in_progress, on_way, not_accepted_to_delivery, in_delivery_point, in_courier_service, delivered, canceled.
  postings.status_changed_at string (date-time) да Дата и время последнего изменения статуса отправления в UTC.
  postings.description string да Описание содержимого отправления.
  postings.delivery object да Информация о доставке отправления до получателя.
    postings.delivery.shipment_method_id integer (int64) да Идентификатор метода доставки.
    postings.delivery.type string да Тип доставки отправления: - unknown — не определён; - courier — курьером; - pvz — в пункт выдачи заказов — ПВЗ; - postamat — в постамат. Значения: unknown, courier, pvz, postamat.
    postings.delivery.delivery_point_id integer (int64) — Идентификатор пункта выдачи заказов или постамата.
    postings.delivery.full_address string да Адрес доставки.
  postings.estimated_delivery_days integer (int32) — Предварительный срок доставки в днях.
  postings.original_delivery_at string (date-time) — Дата и время доставки отправления после приёма в пункте отгрузки в UTC.
  postings.delivery_at string (date-time) — Дата и время доставки отправления в UTC.
  postings.dimensions object да Объёмно-весовые характеристики отправления.
    postings.dimensions.weight_g integer (int32) да Вес в граммах.
    postings.dimensions.length_mm integer (int32) да Длина в миллиметрах.
    postings.dimensions.width_mm integer (int32) да Ширина в миллиметрах.
    postings.dimensions.height_mm integer (int32) да Высота в миллиметрах.
  postings.estimated_delivery_cost object — Предварительная стоимость доставки.
    postings.estimated_delivery_cost.amount string да Сумма.
    postings.estimated_delivery_cost.currency_code string да Валюта.
  postings.estimated_insurance_cost object — Предварительная стоимость страховки.
    postings.estimated_insurance_cost.amount string да Сумма.
    postings.estimated_insurance_cost.currency_code string да Валюта.
  postings.declared_value object — Объявленная стоимость отправления.
    postings.declared_value.amount string да Сумма.
    postings.declared_value.currency_code string да Валюта.
  postings.recipient object да Информация о получателе отправления.
    postings.recipient.full_name string да ФИО получателя.
next_cursor string — Указатель для выборки следующих данных.

Пример ответа 200

{
  "postings": [
    {
      "posting_number": "123BE456PY78-90YY",
      "posting_external_id": "ext-posting-42",
      "order_number": "YY-123BE456PY78-90YY",
      "created_at": "2026-07-14T09:30:00Z",
      "status": "created",
      "status_changed_at": "2026-07-14T09:30:00Z",
      "description": "Смартфон и чехол",
      "delivery": {
        "shipment_method_id": 1,
        "type": "courier",
        "delivery_point_id": 1,
        "full_address": "г. Москва, ул. Ленина, д. 1"
      },
      "estimated_delivery_days": 3,
      "original_delivery_at": "2026-07-14T09:30:00Z",
      "delivery_at": "2026-07-22T09:30:00Z",
      "dimensions": {
        "weight_g": 1000,
        "length_mm": 200,
        "width_mm": 150,
        "height_mm": 100
      },
      "estimated_delivery_cost": {
        "amount": "1250.50",
        "currency_code": "RUB"
      },
      "estimated_insurance_cost": {
        "amount": "1250.50",
        "currency_code": "RUB"
      },
      "declared_value": {
        "amount": "1250.50",
        "currency_code": "RUB"
      },
      "recipient": {
        "full_name": "Иванов И. И."
      }
    }
  ],
  "next_cursor": "example"
}

Получить информацию об отправлении#

POST /v1/posting/info

operationId: PostingInfo

Тело запроса (application/json)

Параметр Тип Обяз. Описание
posting_numbers array of string да Номера отправлений. мин. элементов: 1. макс. элементов: 100.

Пример запроса

{
  "posting_numbers": [
    "123BE456PY78-90YY"
  ]
}

Ответы

Код Описание
200 Информация об отправлении
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
postings array of object да Отправления.
  postings.posting_number string да Номер отправления.
  postings.posting_external_id string — Идентификатор отправления в системе продавца.
  postings.order_number string да Номер заказа.
  postings.created_at string (date-time) да Дата и время создания отправления.
  postings.status string да Статус отправления: - unknown — не определён; - created — создано; - forming — в процессе подтверждения; - forming_failed — ошибка при подтверждении; - ready_for_shipping — готово к отгрузке; - in_container — добавлено в грузоместо; - acceptance_in_progress — идёт приёмка; - on_way — доставляется; - not_accepted_to_delivery — не принято на сортировочном центре; - in_delivery_point — в пункте выдачи; - in_courier_service — у курьера Ozon; - delivered — доставлено; - canceled — отменено. Значения: unknown, created, forming, forming_failed, ready_for_shipping, in_container, acceptance_in_progress, on_way, not_accepted_to_delivery, in_delivery_point, in_courier_service, delivered, canceled.
  postings.status_changed_at string (date-time) да Дата и время последнего изменения статуса отправления в UTC.
  postings.description string да Описание содержимого отправления.
  postings.delivery object да Информация о доставке отправления до получателя.
    postings.delivery.shipment_method_id integer (int64) да Идентификатор метода доставки.
    postings.delivery.type string да Тип доставки отправления: - unknown — не определён; - courier — курьером; - pvz — в пункт выдачи заказов — ПВЗ; - postamat — в постамат. Значения: unknown, courier, pvz, postamat.
    postings.delivery.delivery_point_id integer (int64) — Идентификатор пункта выдачи заказов или постамата.
    postings.delivery.full_address string да Адрес доставки.
  postings.estimated_delivery_days integer (int32) — Предварительный срок доставки в днях.
  postings.original_delivery_at string (date-time) — Дата и время доставки отправления после приёма в пункте отгрузки в UTC.
  postings.delivery_at string (date-time) — Дата и время доставки отправления в UTC.
  postings.dimensions object да Объёмно-весовые характеристики отправления.
    postings.dimensions.weight_g integer (int32) да Вес в граммах.
    postings.dimensions.length_mm integer (int32) да Длина в миллиметрах.
    postings.dimensions.width_mm integer (int32) да Ширина в миллиметрах.
    postings.dimensions.height_mm integer (int32) да Высота в миллиметрах.
  postings.estimated_delivery_cost object — Предварительная стоимость доставки.
    postings.estimated_delivery_cost.amount string да Сумма.
    postings.estimated_delivery_cost.currency_code string да Валюта.
  postings.estimated_insurance_cost object — Предварительная стоимость страховки.
    postings.estimated_insurance_cost.amount string да Сумма.
    postings.estimated_insurance_cost.currency_code string да Валюта.
  postings.declared_value object — Объявленная стоимость отправления.
    postings.declared_value.amount string да Сумма.
    postings.declared_value.currency_code string да Валюта.
  postings.recipient object да Информация о получателе отправления.
    postings.recipient.full_name string да ФИО получателя.

Пример ответа 200

{
  "postings": [
    {
      "posting_number": "123BE456PY78-90YY",
      "posting_external_id": "ext-posting-42",
      "order_number": "YY-123BE456PY78-90YY",
      "created_at": "2026-07-14T09:30:00Z",
      "status": "created",
      "status_changed_at": "2026-07-14T09:30:00Z",
      "description": "Смартфон и чехол",
      "delivery": {
        "shipment_method_id": 1,
        "type": "courier",
        "delivery_point_id": 1,
        "full_address": "г. Москва, ул. Ленина, д. 1"
      },
      "estimated_delivery_days": 3,
      "original_delivery_at": "2026-07-14T09:30:00Z",
      "delivery_at": "2026-07-22T09:30:00Z",
      "dimensions": {
        "weight_g": 1000,
        "length_mm": 200,
        "width_mm": 150,
        "height_mm": 100
      },
      "estimated_delivery_cost": {
        "amount": "1250.50",
        "currency_code": "RUB"
      },
      "estimated_insurance_cost": {
        "amount": "1250.50",
        "currency_code": "RUB"
      },
      "declared_value": {
        "amount": "1250.50",
        "currency_code": "RUB"
      },
      "recipient": {
        "full_name": "Иванов И. И."
      }
    }
  ]
}

Получить историю статусов отправления#

POST /v1/posting/status-history

operationId: PostingStatusHistory

Тело запроса (application/json)

Параметр Тип Обяз. Описание
posting_number string да Номер отправления.

Пример запроса

{
  "posting_number": "123BE456PY78-90YY"
}

Ответы

Код Описание
200 История статусов отправления
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
history array of object да История изменений статусов отправления.
  history.status string да Статус отправления: - unknown — не определён; - created — создано; - forming — в процессе подтверждения; - forming_failed — ошибка при подтверждении; - ready_for_shipping — готово к отгрузке; - in_container — добавлено в грузоместо; - acceptance_in_progress — идёт приёмка; - on_way — доставляется; - not_accepted_to_delivery — не принято на сортировочном центре; - in_delivery_point — в пункте выдачи; - in_courier_service — у курьера Ozon; - delivered — доставлено; - canceled — отменено. Значения: unknown, created, forming, forming_failed, ready_for_shipping, in_container, acceptance_in_progress, on_way, not_accepted_to_delivery, in_delivery_point, in_courier_service, delivered, canceled.
  history.status_changed_at string (date-time) да Дата и время последнего изменения статуса отправления в UTC.

Пример ответа 200

{
  "history": [
    {
      "status": "created",
      "status_changed_at": "2026-07-14T09:30:00Z"
    }
  ]
}

Запустить процесс отмены отправления#

POST /v1/posting/cancel

operationId: PostingCancel

Тело запроса (application/json)

Параметр Тип Обяз. Описание
posting_number string да Номер отправления.

Пример запроса

{
  "posting_number": "123BE456PY78-90YY"
}

Ответы

Код Описание
200 Отправление отменяется
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Обработка возвратов#

POST /v1/return/search

operationId: ReturnSearch

Тело запроса (application/json)

Параметр Тип Обяз. Описание
pagination object да Разделение ответа метода.
  pagination.cursor string — Указатель для выборки следующих данных.
  pagination.limit integer (int32) да Максимальное количество элементов в ответе. макс.: 100.

Пример запроса

{
  "pagination": {
    "cursor": "string",
    "limit": 100
  }
}

Ответы

Код Описание
200 Список возвратов
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
returns array of object да Возвраты.
  returns.return_number string да Номер возврата.
  returns.return_external_id string — Идентификатор возврата в системе продавца.
  returns.created_at string (date-time) да Дата и время создания возврата или отмены в UTC.
  returns.barcode string — Штрихкод возврата.
  returns.return_type string да Тип возврата: - unknown — не определён; - client_return — возврат; - cancellation — отмена. Значения: unknown, client_return, cancellation.
  returns.description string да Описание содержимого возврата.
  returns.dimensions object да Объёмно-весовые характеристики отправления.
    returns.dimensions.weight_g integer (int32) да Вес в граммах.
    returns.dimensions.length_mm integer (int32) да Длина в миллиметрах.
    returns.dimensions.width_mm integer (int32) да Ширина в миллиметрах.
    returns.dimensions.height_mm integer (int32) да Высота в миллиметрах.
  returns.declared_value object да Объявленная стоимость возврата.
    returns.declared_value.amount string да Сумма.
    returns.declared_value.currency_code string да Валюта.
  returns.status string да Статус возврата: - unknown — не определён; - moving — доставляется по логистике Ozon к продавцу; - at_pickup_point — ожидает продавца в пункте выдачи; - received — получен продавцом; - utilization — отправлен на утилизацию; - utilized — утилизирован; - written_off — списан в логистике; - looking_for — ищем в логистике. Значения: unknown, moving, at_pickup_point, received, utilization, utilized, written_off, looking_for.
  returns.status_changed_at string (date-time) да Дата и время последнего изменения статуса отправления в UTC.
  returns.shipment_method_id integer (int64) да Идентификатор метода доставки.
  returns.return_delivery_type string да Тип доставки возврата: - unknown — не определён; - courier — курьером; - return_point — в пункт выдачи заказов; - postamat — в постамат. Значения: unknown, courier, return_point, postamat.
  returns.current_placement_name string — Местоположение возврата: название сортировочного центра или пункта выдачи.
  returns.current_placement_address string — Адрес местоположения возврата.
  returns.cancellation_responsible string — Инициатор отмены: - unknown — не определён; - ozon — Ozon; - principal — продавец; - client — покупатель. Значения: unknown, ozon, principal, client.
  returns.cancellation_reason string — Причина отмены.
next_cursor string — Указатель для выборки следующих данных. Если параметр пустой, данных больше нет.

Пример ответа 200

{
  "returns": [
    {
      "return_number": "123BE456PY78-90YY",
      "return_external_id": "ext-posting-42",
      "created_at": "2026-07-15T09:30:00Z",
      "barcode": "123456789101112",
      "return_type": "cancellation",
      "description": "Смартфон и чехол",
      "dimensions": {
        "weight_g": 1000,
        "length_mm": 200,
        "width_mm": 150,
        "height_mm": 100
      },
      "declared_value": {
        "amount": "1250.50",
        "currency_code": "RUB"
      },
      "status": "moving",
      "status_changed_at": "2026-07-14T09:30:00Z",
      "shipment_method_id": 1,
      "return_delivery_type": "return_point",
      "current_placement_name": "МОСКВА_2034",
      "current_placement_address": "г. Москва, ул. Ленина, д. 1",
      "cancellation_responsible": "client",
      "cancellation_reason": "Покупатель отказался при вручении: товар не подошел."
    }
  ],
  "next_cursor": "string"
}

Получить информацию о возвратах#

POST /v1/return/info

operationId: ReturnInfo

Тело запроса (application/json)

Параметр Тип Обяз. Описание
return_numbers array of string да Номера возвратов. мин. элементов: 1. макс. элементов: 100.

Пример запроса

{
  "return_numbers": [
    "string"
  ]
}

Ответы

Код Описание
200 Информация о возвратах
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
returns array of object да Возвраты.
  returns.return_number string да Номер возврата.
  returns.return_external_id string — Идентификатор возврата в системе продавца.
  returns.barcode string — Штрихкод возврата.
  returns.return_type string да Тип возврата: - unknown — не определён; - client_return — возврат; - cancellation — отмена. Значения: unknown, client_return, cancellation.
  returns.description string да Описание содержимого возврата.
  returns.dimensions object да Объёмно-весовые характеристики отправления.
    returns.dimensions.weight_g integer (int32) да Вес в граммах.
    returns.dimensions.length_mm integer (int32) да Длина в миллиметрах.
    returns.dimensions.width_mm integer (int32) да Ширина в миллиметрах.
    returns.dimensions.height_mm integer (int32) да Высота в миллиметрах.
  returns.declared_value object да Объявленная стоимость возврата.
    returns.declared_value.amount string да Сумма.
    returns.declared_value.currency_code string да Валюта.
  returns.status string да Статус возврата: - unknown — не определён; - moving — доставляется по логистике Ozon к продавцу; - at_pickup_point — ожидает продавца в пункте выдачи; - received — получен продавцом; - utilization — отправлен на утилизацию; - utilized — утилизирован; - written_off — списан в логистике; - looking_for — ищем в логистике. Значения: unknown, moving, at_pickup_point, received, utilization, utilized, written_off, looking_for.
  returns.shipment_method_id integer (int64) да Идентификатор метода доставки.
  returns.return_delivery_type string да Тип доставки возврата: - unknown — не определён; - courier — курьером; - return_point — в пункт выдачи заказов; - postamat — в постамат. Значения: unknown, courier, return_point, postamat.
  returns.current_placement_name string — Местоположение возврата: название сортировочного центра или пункта выдачи.
  returns.current_placement_address string — Адрес местоположения возврата.
  returns.cancellation_reason string — Причина отмены.

Пример ответа 200

{
  "returns": [
    {
      "return_number": "123BE456PY78-90YY",
      "return_external_id": "ext-posting-42",
      "barcode": "123456789101112",
      "return_type": "cancellation",
      "description": "Смартфон и чехол",
      "dimensions": {
        "weight_g": 1000,
        "length_mm": 200,
        "width_mm": 150,
        "height_mm": 100
      },
      "declared_value": {
        "amount": "1250.50",
        "currency_code": "RUB"
      },
      "status": "moving",
      "shipment_method_id": 1,
      "return_delivery_type": "return_point",
      "current_placement_name": "МОСКВА_2034",
      "current_placement_address": "г. Москва, ул. Ленина, д. 1",
      "cancellation_reason": "Покупатель отказался при вручении: товар не подошел."
    }
  ]
}

Получить историю статусов возврата#

POST /v1/return/status-history

operationId: ReturnStatusHistory

Тело запроса (application/json)

Параметр Тип Обяз. Описание
return_number string да Номер возврата.

Пример запроса

{
  "return_number": "123BE456PY78-90YY"
}

Ответы

Код Описание
200 История изменений
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
status_history array of object да История изменений статусов возврата.
  status_history.return_status string да Статус возврата: - unknown — не определён; - moving — доставляется по логистике Ozon к продавцу; - at_pickup_point — ожидает продавца в пункте выдачи; - received — получен продавцом; - utilization — отправлен на утилизацию; - utilized — утилизирован; - written_off — списан в логистике; - looking_for — ищем в логистике. Значения: unknown, moving, at_pickup_point, received, utilization, utilized, written_off, looking_for.
  status_history.changed_at string (date-time) да Дата и время изменения статуса в UTC.

Пример ответа 200

{
  "status_history": [
    {
      "return_status": "moving",
      "changed_at": "2026-07-30T00:00:00Z"
    }
  ]
}

Скачать штрихкод получения возвратов в формате PDF#

POST /v1/return/download_barcode

operationId: ReturnDownloadBarcode

Ответ 200 — PDF-файл со штрихкодом (бинарные данные, не JSON). Срок действия штрихкода указан в файле; запрашивайте его непосредственно перед получением возвратов.

Ответы

Код Описание
200 Штрихкод скачан
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Сбросить штрихкод получения возвратов#

POST /v1/return/reset_barcode

operationId: ReturnResetBarcode

Ответы

Код Описание
200 Штрихкод сброшен
400 Неверный параметр
401 Ошибка аутентификации
403 Доступ запрещён
404 Ответ не найден
429 Слишком много запросов
500 Внутренняя ошибка сервера

Тело ответа 200 (application/json)

Параметр Тип Обяз. Описание
barcode_content object да Информация о штрихкоде.
  barcode_content.barcode string да Штрихкод получения возвратов.
  barcode_content.expires_at string (date-time) да Дата и время истечения срока действия штрихкода в UTC. Пример: 2026-07-14T09:30:00Z.

Пример ответа 200

{
  "barcode_content": {
    "barcode": "123456789101112",
    "expires_at": "2026-07-14T09:30:00Z"
  }
}