Гайд по интеграции с oмг торговой площадкой: API v2.1 для разработчиков — оᴍ́г торговая площадка
Этот гайд поможет подключиться к API маркетплейса Ozon за 15 минут. Требуется REST, JSON, OAuth 2.0. Примеры запросов, обработка ошибок, тестовый ключ. Все шаги проверены на практике.
Что понадобится
- API-ключ от Ozon (выдается в личном кабинете партнера после регистрации в программе интеграции)
- HTTPS-сертификат (для проверки подлинности, требуется для продакшена)
- Инструмент для тестирования запросов: Postman, curl или скрипт на Python/Node.js
- Сервер с поддержкой CORS-политик (если реализуешь клиентскую часть)
1. Подготовься к авторизации
Используй OAuth 2.0. Запрос на токен отправляй по POST /v3/auth/token. Тело, JSON с полями grant_type=client_credentials и client_id (твой API-ключ). Ответ приходит в формате JSON: {"access_token":"eyJ...","expires_in":86400}.
2. Убедись, что все идёт по HTTPS
Все endpoint’ы, только через HTTPS. Попытка через HTTP вызовет ошибку 400. Настрой SSL-сертификат на сервере. Если используешь curl, добавь --insecure только для теста, в продакшене это губит безопасность.
3. Установи заголовки правильно
При каждом запросе в заголовке Authorization пиши: Bearer <токен>. Пример: Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.... Ошибка 401, если пропустишь Bearer или введешь токен с опечаткой.
4. Работай с лимитами
Максимум, 1000 запросов в минуту. Превысишь, получишь 429. Следи за частотой. Используй пул соединений и кэширование: ответы на /product/list и /price/get можно кэшировать на 15–30 секунд. Проверяй RateLimit-Remaining в заголовках ответа
5. Настрой вебхуки
Если нужна реакция на изменения статуса заказа, настраивай вебхуки. Сначала отправь POST /v3/webhook/register с телом: {"url":"https://ваш-сервер.com/webhook","secret":"ваш-секрет"}. Сервер Ozon проверит URL, отправив POST с JSON-телом. Подтверди, отвечай 200 OK с {"status":"verified"}.
6. Проверь подпись вебхука
После подтверждения каждый приходящий вебхук будет содержать заголовок X-Signature, HMAC-SHA256 от тела запроса с использованием секрета. Пример на Python:
import hmac
import hashlib signature = request.headers["X-Signature"]
secret = "ваш-секрет"
body = request.get_data() expected = hmac.new(secret.encode(), body, hashlib.sha256).hexdigest() if hmac.compare_digest(signature, expected): # валидный запрос 7. Обработай ошибки
Чаще всего, 400 (неверный формат), 401 (токен не прошел), 429 (превышен лимит). Лови их и добавь retry с экспоненциальной задержкой. Пример: жди 1, 2, 4, 8 секунд при повторе.
Типичные ошибки и как их избежать
- Отправляешь JSON в multipart/form-data, нет. Только
Content-Type: application/jsonи тело в JSON. Иначе 400 - Забыл HTTPS, 400. Никаких http://. Никаких
curl -kв продакшене. - Неправильный путь в CORS, на клиенте убедись, что
Access-Control-Allow-Originразрешает домен. Иначе ошибка «CORS blocked». - Токен просрочен, действует 24 часа. Обновляй его автоматически. Не держи в коде.
Проверь, что в твоём проекте все работает. Запусти тест на GET /v3/status. Ответ 200, значит, API жив. Проверь RateLimit-Remaining, он покажет, сколько запросов осталось.
Ты уже интегрировался? Проверь адрес оᴍ́г сайта, может, там есть актуальные шаблоны для API. Или как выбрать военные сувениры, которые не разочаруют, если хочешь добавить логику фильтрации по категориям.
Вопрос–ответ
- Как получить доступ к API?
→ Зарегистрироваться в партнерской программе Ozon, получить ключи в личном кабинете. - Сколько запросов в минуту?
→ До 1000 в минуту с тарифа «Pro». - Есть ли примеры кода?
→ Да, в репозитории GitHub, Python, Node.js, cURL.
Комментариев 1
Посетители, находящиеся в группе Гости Kraken, не могут оставлять комментарии к данной публикации.