АвтопилотЛабстудия автоматизацииОбсудить задачу
Навигация по базе знаний

База знаний · Маркетплейсы и сервисы

Ozon Seller API в n8n: ключи и первые запросы

Как подключить Ozon Seller API к n8n. Client-Id и Api-Key, список товаров, остатки, отправления FBS, методы отзывов, нужная подписка и лимиты запросов.

Опубликовано 4 мин чтения

В этой статье вы получите ключи Ozon Seller API, подключите их к n8n и сделаете первые запросы: товары, остатки, отправления и отзывы. Методы сверены с документацией Ozon Seller API в октябре 2026 года.

Что понадобится

  • Доступ к личному кабинету продавца Ozon с принятой офертой.
  • n8n на своём сервере. Инструкция есть в статье об установке n8n.
  • Для отзывов: подписка «Управление отзывами» или Premium Pro.

Шаг 1. Получить Client-Id и Api-Key

  1. В личном кабинете откройте «Настройки» → «Seller API».
  2. Нажмите «Сгенерировать ключ».
  3. Задайте название и уровень доступа.
  4. Выберите цель «для личного пользования» и нажмите «Сгенерировать».

Client-Id указан в том же разделе. Ключ показывается один раз, восстановить его нельзя. Срок действия ключа три месяца.

Выдавайте ключу минимальные права. Если сценарий только читает данные, выберите уровень доступа только на чтение. В инструкциях интеграторов он называется Admin read only, проверьте название в своём кабинете. Ещё в настройках ключа можно ограничить разрешённые сети: укажите IP-адрес сервера с n8n.

Ozon может отозвать ключ, если увидит подозрительную активность или слишком большую нагрузку.

Шаг 2. Создать доступ в n8n

Ozon ждёт два заголовка, поэтому в Credentials создайте доступ типа Custom Auth:

{
  "headers": {
    "Client-Id": "123456",
    "Api-Key": "ВАШ_КЛЮЧ"
  }
}

Базовый адрес всех методов https://api-seller.ozon.ru. Почти все методы вызываются через POST с JSON-телом. Проверьте ключ методом /v1/roles:

curl -X POST https://api-seller.ozon.ru/v1/roles \
  -H "Client-Id: 123456" \
  -H "Api-Key: $OZON_KEY"

В ответе будут роли ключа, доступные методы и дата окончания в expires_at.

Шаг 3. Получить список товаров

POST https://api-seller.ozon.ru/v3/product/list

{
  "filter": { "visibility": "ALL" },
  "last_id": "",
  "limit": 100
}

limit от 1 до 1000. Товары лежат в result.items: product_id, offer_id, has_fbo_stocks, has_fbs_stocks, archived. Чтобы получить следующую страницу, передайте last_id из ответа. В узле HTTP Request это делает настройка Pagination в режиме Update a Parameter in Each Request со значением:

{{ $response.body.result.last_id }}

Для общего числа товаров используйте total_items. Параметр result.total Ozon отключит 23 ноября 2026 года.

Шаг 4. Получить остатки

POST https://api-seller.ozon.ru/v4/product/info/stocks

{
  "cursor": "",
  "filter": { "visibility": "ALL" },
  "limit": 100
}

Метод возвращает остатки по схемам FBO, FBS, rFBS и FBP. У каждого товара есть offer_id и массив stocks, где type это схема, present в наличии, reserved в резерве. Свободный остаток FBS:

{{ $json.stocks.filter(s => s.type === 'fbs').reduce((sum, s) => sum + s.present - s.reserved, 0) }}

Следующую страницу запрашивайте с cursor из ответа. Остатки по конкретным складам FBS и rFBS отдаёт отдельный метод /v1/product/info/warehouse/stocks.

Шаг 5. Получить отправления FBS

Методы /v3/posting/fbs/list и /v3/posting/fbs/unfulfilled/list отключены с 31 августа 2026 года. Используйте версии v4:

POST https://api-seller.ozon.ru/v4/posting/fbs/unfulfilled/list

{
  "sort_dir": "ASC",
  "limit": 100,
  "cursor": "",
  "filter": {
    "cutoff_from": "{{ $now.toISO() }}",
    "cutoff_to": "{{ $now.plus({ days: 2 }).toISO() }}",
    "statuses": ["awaiting_packaging"]
  }
}

Фильтруйте либо по времени сборки (cutoff_from и cutoff_to), либо по дате передачи в доставку (delivering_date_from и delivering_date_to). Оба фильтра сразу вызовут ошибку. Период не больше года, limit до 100. В ответе массив postings с posting_number и status.

Шаг 6. Отзывы

Метод /v1/review/list устаревает, переходите на /v2/review/list:

POST https://api-seller.ozon.ru/v2/review/list

{
  "limit": 100,
  "sort_dir": "DESC"
}

limit от 20 до 100. В reviews приходят id, sku, text, rating, status и published_at, дальше листайте по last_id, пока has_next равно true. В объекте filters можно отобрать отзывы по статусу, SKU и дате публикации. Допустимые значения статусов сверьте с описанием метода.

Ответ на отзыв:

POST https://api-seller.ozon.ru/v1/review/comment/create

{
  "review_id": "{{ $json.id }}",
  "text": {{ JSON.stringify($json.answer) }},
  "mark_review_as_processed": true
}

Оба метода доступны только продавцам с подпиской «Управление отзывами» или Premium Pro. Готовый сценарий с согласованием негативных ответов описан на странице автоответов на отзывы.

Пуш-уведомления вместо опроса

Ozon умеет сам отправлять события, например о новых сообщениях в чатах с покупателями. Полный список событий есть в разделе документации «Пуш-уведомления». Включите их в разделе «Настройки» → «Уведомления» на вкладке Push-уведомлений и укажите адрес узла Webhook в n8n. Уведомления приходят с адресов 195.34.21.0/24, 185.73.192.0/22 и 91.223.93.0/24, а ваш сервис должен отвечать в формате из документации. Иначе Ozon может приостановить отправку. Как принимать события, описано в статье о вебхуках в n8n.

Лимиты

  • Не больше 50 запросов в секунду на все методы с одного Client-Id.
  • У некоторых методов свой лимит, он указан в описании метода.
  • В ответах есть заголовок Ratelimit-Remaining, а при ошибке 429 приходит Retry-After с числом секунд до повтора.
  • Если от вас идёт много одинаковых или ошибочных запросов, Ozon может ограничить доступ без предупреждения.

В узле HTTP Request включите Retry On Fail и не запускайте опрос чаще, чем меняются данные.

Частые ошибки

  • Ошибка авторизации после нескольких месяцев работы. Истёк срок ключа. Создайте новый и обновите доступ в n8n.
  • 403 на отдельных методах. У ключа нет нужной роли или запрос пришёл не из разрешённой сети. Проверьте /v1/roles.
  • Ошибка на методах отзывов. Нет подписки «Управление отзывами» или Premium Pro.
  • Отправления перестали приходить. Сценарий вызывает отключённую версию v3. Переведите его на v4.
  • Ошибка фильтра отправлений. В запросе одновременно указаны cutoff и delivering_date.

Частые вопросы

Сколько действует API-ключ Ozon?

Три месяца. Дату окончания можно получить в поле expires_at метода /v1/roles и заранее напомнить себе о замене ключа.

Почему методы отзывов Ozon возвращают ошибку доступа?

По документации они доступны продавцам с подпиской «Управление отзывами» или Premium Pro. Без подписки сценарий автоответов на Ozon не заработает.

Можно ли получать события от Ozon без постоянного опроса?

Да, у Ozon есть пуш-уведомления. Их включают в личном кабинете в разделе «Настройки», «Уведомления», на вкладке Push-уведомлений, и указывают адрес вашего сервиса.

Готовые модули по теме