🔍 Поиск по вопросам
Найдите ответ на ваш вопрос
💡 Совет: Кликните на вопрос, чтобы увидеть подробный ответ с примерами кода
Быстрые ссылки:
Полный индекс API •
Список категорий
🔑Аутентификация и доступ
Как получить API ключи?
▼
Шаги для получения ключей:
- Войдите в личный кабинет продавца OZON
- Перейдите в Настройки → API ключи
- Нажмите "Создать ключ"
- Выберите необходимые права доступа
- Скопируйте Client ID и API Key
const api = new OzonSellerAPI({
clientId: 'your-client-id', // Client-Id из кабинета
apiKey: 'your-api-key' // Api-Key из кабинета
});
Ошибка 401 Unauthorized
▼
Причины и решения:
- Неверные ключи - проверьте Client ID и API Key
- Лишние символы - уберите пробелы в начале/конце
- Истек срок действия - создайте новые ключи
- Недостаточно прав - проверьте права доступа ключа
// Правильная инициализация
const api = new OzonSellerAPI({
clientId: process.env.OZON_CLIENT_ID?.trim(),
apiKey: process.env.OZON_API_KEY?.trim()
});
⚠️Ошибки API
Ошибка 429 - превышен лимит запросов
▼
OZON API лимиты:
- 1000 запросов в минуту
- Некоторые методы имеют отдельные лимиты
- Превышение приводит к блокировке на 1-10 минут
// Добавьте задержки между запросами
await new Promise(resolve => setTimeout(resolve, 100));
// Или используйте батчи
const batches = chunk(items, 100);
for (const batch of batches) {
await api.product.updatePrices(batch);
await delay(1000); // Пауза 1 сек
}
Ошибки валидации данных
▼
Частые ошибки:
- Неверный формат цены - используйте строку "1234.56"
- Отсутствуют обязательные поля - проверьте схему
- Некорректные ID - убедитесь в правильности идентификаторов
⚠️ Важно: Всегда проверяйте ответы API на наличие ошибок и обрабатывайте их соответствующим образом.
🚀Производительность
Как ускорить работу с API?
▼
Рекомендации по оптимизации:
- Батчинг - объединяйте запросы в группы
- Кеширование - сохраняйте данные локально
- Параллельные запросы - используйте Promise.all()
- Фильтрация - запрашивайте только нужные данные
// Параллельные запросы
const [products, orders, finance] = await Promise.all([
api.product.getList({ limit: 100 }),
api.fbs.getOrdersList({ limit: 50 }),
api.finance.getTransactionsList({ limit: 20 })
]);
// Батч обновление
const priceUpdates = products.map(p => ({
product_id: p.id,
price: calculateNewPrice(p)
}));
await api.pricesStocks.updatePrices(priceUpdates);
📦Управление товарами
Как создать новый товар?
▼
Базовый пример создания товара:
const newProduct = await api.product.create([{
name: 'Название товара',
offer_id: 'UNIQUE-OFFER-ID',
category_id: 17028922,
price: '999.00',
old_price: '1299.00',
vat: '0.20',
height: 10,
depth: 15,
width: 20,
weight: 500,
images: ['https://example.com/image1.jpg'],
attributes: [{
complex_id: 0,
id: 85,
values: [{ value: 'Значение атрибута' }]
}]
}]);
console.log('Товар создан:', newProduct.result[0].product_id);
⚠️ Важно: Обязательно укажите корректные категорию, атрибуты и изображения
Как массово обновить цены?
▼
// Получаем товары
const products = await api.product.getList({ limit: 1000 });
// Подготавливаем обновления (скидка 10%)
const priceUpdates = products.result.items
.map(p => ({
product_id: p.id,
price: (parseFloat(p.marketing_price) * 0.9).toFixed(2)
}));
// Обновляем батчами по 1000 товаров
await api.pricesStocks.updatePrices(priceUpdates);
console.log(`Обновлено цен: ${priceUpdates.length}`);
🚚Заказы и логистика
Как обработать заказы FBS?
▼
// Получаем новые заказы
const orders = await api.fbs.getOrdersList({
filter: {
status: 'awaiting_packaging',
since: '2024-01-01T00:00:00Z'
},
limit: 50
});
// Обрабатываем каждый заказ
for (const order of orders.result) {
// Упаковываем заказ
await api.fbs.packOrder({
posting_number: order.posting_number,
packages: [{
products: order.products.map(p => ({
product_id: p.product_id,
quantity: p.quantity
}))
}]
});
// Отгружаем заказ
await api.fbs.shipOrder({
posting_number: order.posting_number,
tracking_number: `TRACK${Date.now()}`
});
}
🛠️Технические вопросы
Какие версии Node.js поддерживаются?
▼
Системные требования:
- Node.js: 18.0+ (рекомендуется LTS)
- TypeScript: 4.5+ (опционально)
- Browser: ES2020+ для браузеров
✅ Совместимость: SDK работает в Node.js, браузерах и edge-функциях (Vercel, AWS Lambda, Cloudflare Workers)
Как настроить логирование?
▼
const api = new OzonSellerAPI({
clientId: 'your-client-id',
apiKey: 'your-api-key',
debug: true, // Включить логи
onRequest: (config) => {
console.log('📤 Request:', config.method, config.url);
},
onResponse: (response) => {
console.log('📥 Response:', response.status, response.statusText);
},
onError: (error) => {
console.error('❌ Error:', error.message);
}
});
🎯 Не нашли ответ?
Дополнительные ресурсы:
- 🚀 Быстрый старт - пошаговое руководство
- 📘 Официальная документация OZON
- 🐛 GitHub Issues - сообщить о проблеме
- 💬 Сообщество разработчиков
🗂️ Все страницы категорий
Показать/скрыть полный список
- 01-products.html
- 02-finance.html
- 03-analytics.html
- 04-warehouse.html
- 04-warehouse-api.html
- 05-supplier.html
- 05-supplier-api.html
- 06-barcode.html
- 07-fbs.html
- 08-review.html
- 09-beta-method.html
- 10-brand.html
- 11-category.html
- 12-certification.html
- 13-chat.html
- 14-delivery-fbs.html
- 15-delivery-rfbs.html
- 16-fbo.html
- 16-fbo-supply.html
- 16-fbo-timeslot.html
- 16-fbo-operations.html
- 17-fbo-supply-request.html
- 17-fbo-supply-request-drafts.html
- 17-fbo-supply-request-cargo.html
- 17-fbo-supply-request-warehouse.html
- 18-fbs.html
- 18-fbs-posting.html
- 18-fbs-labels.html
- 18-fbs-products.html
- 18-fbs-compliance.html
- 19-fbs-rfbs-marks.html
- 20-pass.html
- 21-premium.html
- 22-prices-stocks.html
- 22-prices-stocks-prices.html
- 22-prices-stocks-timers.html
- 22-prices-stocks-stocks.html
- 22-prices-stocks-discounted.html
- 23-finance.html
- 24-returns.html
- 25-pass.html
- 26-premium.html
- 27-analytics.html
- 28-prices-stocks.html
- 28-prices-stocks-prices.html
- 28-prices-stocks-timers.html
- 28-prices-stocks-stocks.html
- 28-prices-stocks-discounted.html
- 29-pricing-strategy.html
- 29-pricing-strategy-competitors.html
- 29-pricing-strategy-management.html
- 29-pricing-strategy-products.html
- 29-pricing-strategy-operations.html
- 30-product.html
- 30-product-catalog-management.html
- 30-product-information.html
- 30-product-creation-editing.html
- 30-product-content-management.html
- 31-questions.html
- 31-questions-answers-api.html
- 31-questions-answers-management.html
- 31-questions-workflow.html
- 31-questions-analytics.html
- 32-report.html
- 32-report-api.html
- 32-report-financial.html
- 32-report-management.html
- 32-report-business.html
- 33-return.html
- 33-return-api.html
- 33-return-giveout.html
- 33-return-analytics.html
- 34-review.html
- 34-review-api.html
- 34-review-management.html
- 34-comment-management.html
- 34-review-analytics.html
- 35-rfbs-returns.html
- 35-rfbs-returns-api.html
- 35-rfbs-returns-management.html
- 35-rfbs-returns-legacy.html
- 35-rfbs-returns-automation.html
- 36-seller-rating.html
- 36-seller-rating-api.html
- 36-seller-rating-performance.html
- 36-seller-rating-analytics.html
- categories/README.html