Интеграции 03.07.2026 1 просмотров

n8n + Ozon API: полная автоматизация маркетплейса

#n8n #ozon #маркетплейс #автоматизация #api
n8n + Ozon API: полная автоматизация маркетплейса
Как подключить n8n к Ozon API: получить ключи, выгружать заказы, обновлять цены и остатки, мониторить отзывы. Четыре готовых воркфлоу для автоматизации работы на Ozon.

Что можно автоматизировать в Ozon через API и n8n

Ozon предоставляет полноценный REST API для продавцов: управление товарами, заказами, ценами, остатками, аналитикой и рекламой. Автоматизация Ozon через n8n позволяет избавиться от ручной рутины — обновления цен, выгрузки заказов, контроля остатков — и настроить всё это один раз в виде воркфлоу.

Типичные задачи, которые решает n8n Ozon-интеграция:

  • Синхронизация остатков из 1С или Google Sheets → Ozon в реальном времени
  • Автовыгрузка новых заказов в CRM (AmoCRM, Bitrix24)
  • Ежедневные отчёты по продажам в Telegram
  • Автоматическое обновление цен при изменении закупочных
  • Уведомления о новых отзывах и оценках
  • Мониторинг позиций товаров в поиске

Получение API-ключа Ozon

Для работы с Ozon API нужны два параметра: Client-Id и Api-Key.

  1. Зайдите в личный кабинет продавца → Настройки → API-ключи.
  2. Нажмите «Создать ключ» → укажите название (например, «n8n автоматизация»).
  3. Выберите права: рекомендуется «Admin read/write» для полного доступа.
  4. Скопируйте и сохраните Client-Id и Api-Key — Api-Key показывается только один раз.

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

Подключение Ozon API в n8n

В n8n используйте HTTP Request node с заголовками аутентификации. Создайте Credentials типа «Header Auth» или просто вставляйте заголовки напрямую:

Headers:
Client-Id: ВАШ_CLIENT_ID
Api-Key: ВАШ_API_KEY
Content-Type: application/json

Сохраните Client-Id и Api-Key в n8n Credentials → Generic Credential Type, чтобы не хранить их в воркфлоу открытым текстом.

Сценарий 1: выгрузка новых заказов в Google Sheets

Самый популярный кейс автоматизации Ozon и автоматизации маркетплейса в целом — автоматическая выгрузка заказов. Воркфлоу запускается каждые 15 минут и записывает новые заказы в таблицу.

Структура воркфлоу

  1. Schedule Trigger — каждые 15 минут
  2. HTTP Request — запрос списка заказов
  3. IF Node — есть новые заказы?
  4. Code Node — форматирование данных
  5. Google Sheets — append строк
  6. Telegram — уведомление о новых заказах

Запрос заказов через Ozon API

HTTP Request node:

Method: POST
URL: https://api-seller.ozon.ru/v3/posting/fbs/list

Body:
{
  "dir": "ASC",
  "filter": {
    "since": "{{ $json.since }}",
    "to": "{{ $json.to }}",
    "status": "awaiting_approve"
  },
  "limit": 100,
  "offset": 0,
  "with": {
    "analytics_data": true,
    "financial_data": true
  }
}

В Code Node сформируйте даты для фильтра:

const now = new Date();
const since = new Date(now.getTime() - 15 * 60 * 1000); // последние 15 минут
return [{
  json: {
    since: since.toISOString(),
    to: now.toISOString()
  }
}];

Извлечение нужных полей

const postings = $input.first().json.result.postings || [];
return postings.map(p => ({
  json: {
    order_id: p.order_id,
    posting_number: p.posting_number,
    status: p.status,
    created_at: p.created_at,
    customer: p.customer?.name || '—',
    items: p.products.map(i => i.name).join(', '),
    total: p.financial_data?.posting_services?.marketplace_service_item_fulfillment || 0
  }
}));

Сценарий 2: автоматическое обновление цен и остатков

Автоматизация Ozon для обновления цен — особенно полезна при работе с большим ассортиментом или при привязке цен к курсу валюты. Воркфлоу читает актуальные цены из Google Sheets (или 1С) и обновляет их на Ozon.

Обновление цен через Ozon API

Method: POST
URL: https://api-seller.ozon.ru/v1/product/import/prices

Body:
{
  "prices": [
    {
      "offer_id": "{{ $json.offer_id }}",
      "price": "{{ $json.price }}",
      "old_price": "{{ $json.old_price }}",
      "min_price": "{{ $json.min_price }}",
      "currency_code": "RUB"
    }
  ]
}

Используйте Split In Batches node — Ozon принимает не более 1000 позиций за один запрос. При большом ассортименте разбейте массив товаров на пакеты по 500 штук.

Обновление остатков (FBS)

Method: POST
URL: https://api-seller.ozon.ru/v2/products/stocks

Body:
{
  "stocks": [
    {
      "offer_id": "{{ $json.offer_id }}",
      "stock": {{ $json.quantity }},
      "warehouse_id": {{ $json.warehouse_id }}
    }
  ]
}

Чтобы узнать ID вашего склада, сделайте GET-запрос на https://api-seller.ozon.ru/v1/warehouse/list.

Сценарий 3: мониторинг отзывов и уведомления

Новый отрицательный отзыв на Ozon — важный сигнал. Воркфлоу проверяет новые отзывы каждый час и отправляет уведомление в Telegram с текстом, оценкой и ссылкой на ответ.

Method: POST
URL: https://api-seller.ozon.ru/v1/review/list

Body:
{
  "filter": {
    "order_id": [],
    "posting_number": []
  },
  "sort_field": "REVIEW_SORT_FIELD_CREATED_AT",
  "sort_order": "DESC",
  "limit": 10,
  "offset": 0
}

В Code Node отфильтруйте только новые (созданные за последний час) и с оценкой ниже 4:

const hourAgo = Date.now() - 3600000;
const reviews = $input.first().json.reviews || [];
const newBad = reviews.filter(r => {
  const created = new Date(r.created_at).getTime();
  return created > hourAgo && r.rating < 4;
});
return newBad.map(r => ({ json: r }));

Сценарий 4: ежедневный отчёт о продажах в Telegram

Простой и полезный воркфлоу: каждое утро в 9:00 n8n запрашивает статистику продаж за вчера и отправляет сводку в Telegram-чат с командой.

Method: POST
URL: https://api-seller.ozon.ru/v1/analytics/data

Body:
{
  "date_from": "{{ $json.yesterday }}",
  "date_to": "{{ $json.yesterday }}",
  "dimension": ["day"],
  "filters": [],
  "metrics": ["revenue", "ordered_units", "returns", "cancellations"],
  "limit": 1,
  "offset": 0
}

Сформируйте текст сообщения в Code Node:

const data = $input.first().json.result.data[0];
const metrics = data.metrics;
const msg = `📊 Продажи за вчера (Ozon)\n` +
  `💰 Выручка: ${(metrics[0]/100).toFixed(0)} ₽\n` +
  `📦 Заказов: ${metrics[1]}\n` +
  `↩️ Возвраты: ${metrics[2]}\n` +
  `❌ Отмены: ${metrics[3]}`;
return [{ json: { text: msg } }];

Интеграция Ozon с AmoCRM через n8n

Полная автоматизация маркетплейса включает передачу данных покупателей в CRM. Новый заказ на Ozon → сделка в AmoCRM с контактом, суммой и товарами. Схема воркфлоу:

  1. Ozon API — получить новые заказы
  2. AmoCRM (HTTP Request) — поиск контакта по телефону/email
  3. IF — контакт существует?
  4. AmoCRM — создать или обновить контакт
  5. AmoCRM — создать сделку с позициями
  6. Telegram — уведомление менеджеру

Ozon по соображениям безопасности не передаёт полные контактные данные покупателя через основной API — только маскированные. Для получения номера телефона используйте отдельный endpoint /v1/posting/fbs/customer/info с номером отправления.

Работа с Ozon Performance API (реклама)

Для автоматизации рекламных кампаний на Ozon используется отдельный Ozon Performance API с собственной аутентификацией.

Base URL: https://performance.ozon.ru/api/client/

Получение токена:

Method: POST
URL: https://performance.ozon.ru/api/client/token

Body:
{
  "client_id": "ВАШ_PERFORMANCE_CLIENT_ID",
  "client_secret": "ВАШ_SECRET",
  "grant_type": "client_credentials"
}

Токен действует 1 час — в n8n добавьте Refresh-логику: перед каждым запросом проверяйте время жизни токена и обновляйте при необходимости через дополнительный HTTP Request.

Типичные ошибки при интеграции Ozon и n8n

ОшибкаПричинаРешение
401 Unauthorized Неверный Client-Id или Api-Key Проверьте заголовки — оба обязательны
400 validation error Неверный формат даты Используйте ISO 8601: 2026-06-19T00:00:00.000Z
429 Too Many Requests Превышен rate limit Добавьте Wait node на 1 секунду между запросами
Пустой массив products Запрос на статус без товаров Проверяйте наличие ключа через IF node

Лимиты Ozon API

Ozon ограничивает количество запросов в минуту для каждого метода. Основные лимиты:

  • Получение заказов — до 60 запросов/минуту
  • Обновление цен — до 60 запросов/минуту, до 1000 товаров за запрос
  • Обновление остатков — до 60 запросов/минуту, до 500 позиций
  • Аналитика — до 10 запросов/минуту

Используйте Rate Limit node в n8n или добавляйте Wait node (1–2 секунды) между пакетами запросов, чтобы не получить временную блокировку.

Часто задаваемые вопросы

Как получить API-ключ Ozon для интеграции с n8n?

В личном кабинете продавца Ozon перейдите в Настройки → API-ключи → Создать ключ. Выберите права Admin read/write. Скопируйте Client-Id и Api-Key — Api-Key показывается только один раз. В n8n используйте эти данные как заголовки Client-Id и Api-Key в HTTP Request node.

Можно ли автоматически обновлять остатки на Ozon через n8n?

Да. Используйте метод POST /v2/products/stocks. Передайте массив объектов с offer_id, stock и warehouse_id. Ozon принимает до 500 позиций за запрос. В n8n удобно читать остатки из 1С или Google Sheets и обновлять их на Ozon по расписанию каждые 15–30 минут.

Как настроить уведомления о новых заказах Ozon в Telegram через n8n?

Создайте воркфлоу: Schedule Trigger (каждые 15 минут) → HTTP Request к /v3/posting/fbs/list с фильтром по времени → IF (есть заказы?) → Telegram node с текстом заказа. Укажите статус awaiting_approve, чтобы получать только новые необработанные заказы.

Какой базовый URL использовать для Ozon API в n8n?

Для работы с заказами, товарами, ценами и аналитикой: https://api-seller.ozon.ru. Для рекламного кабинета (Performance API): https://performance.ozon.ru/api/client/. Все запросы к основному API — POST с заголовками Client-Id и Api-Key.

Как синхронизировать Ozon с 1С через n8n?

Настройте двустороннюю синхронизацию: n8n читает остатки из 1С (через HTTP-сервис 1С или прямое обращение к API) и обновляет их на Ozon. Новые заказы Ozon выгружаются в 1С через метод создания документа реализации. Расписание — каждые 15–30 минут. Для 1С нужен настроенный HTTP-сервис или используйте промежуточную Google Sheets как буфер.

Полезные материалы по теме