API — это не просто интерфейс, а полноценный продукт с живыми пользователями

Когда слышишь слово «API», первое, что приходит в голову — это технический набор функций для программистов. Но в нашей работе с Ozon Seller API я убедился, что API — это целый продукт, в котором нужно думать не только о коде, но и о двух разных аудиториях, метриках, бизнес-логике и даже внутренней политике большой компании.

Seller API обслуживает сотни тысяч активных продавцов, а также тысячи разработчиков и интеграторов, которые строят на его основе свои решения. При этом у нас есть серьёзный вызов — сделать так, чтобы API был удобен и надёжен для обеих аудиторий, при этом оставаясь прозрачным и стабильным интерфейсом.

Меня зовут Лев Савельев, я старший менеджер по продукту Ozon Seller API. В этой статье расскажу, как мы развиваем Seller API как продукт, с какими вызовами столкнулись, какие ошибки сделали и чему научились, и как вся работа связана с экосистемой Ozon — порталом dev.ozon.ru и существующим Магазином приложений для селлеров.

Две аудитории: разработчики и пользователи — почему это важно

Распространённое заблуждение — считать, что API нужен только разработчикам. На самом деле, у нас две главные аудитории, и обе из которых требуют разного подхода:

  • Разработчики — они интегрируются с API, хотят понятную документацию, стабильность, понятные ошибки и их решение, быстрый отклик и поддержку;

  • Продавцы — конечные пользователи продуктов, которые работают через интеграции. Им важно, чтобы автоматизация помогала увеличить продажи и не ломалась. 

При развитии такого продукта нельзя акцентировать внимание на решение задач только для одних пользователей, необходимо искать баланс. Примечательно, что разработчики могут создавать собственные рыночные продукты или работать в крупных компаниях-продавцах, что практически стирает границы между аудиториями «разработчики» и «продавцы». Это, конечно, не всё, и аудитории ещё сегментируются. Разработчики, работающие над интеграцией с продавцом, и разработчики, создающие свой продукт на основе API для продавцов, имеют свои нюансы. Продавцы бывают крупные и мелкие, для них, как правило, приоритетен разный функционал. Для продавцов из других стран изменения в бизнес-процессах накладывает законодательство.

Для разработчиков мы стараемся делать понятную, структурированную и максимально прозрачную документацию, развиваем нашу платформу и отлаживаем механизм мониторинга качества.

Для продавцов — строим экосистему решений, которые помогают им автоматизировать процессы, снижать ручной труд и быстрее расти. Сложность продукта обусловлена разнообразием процессов у продавцов, что требует от нас максимальной гибкости. Особенно это касается логистики: некоторые продавцы маркируют товар после физической сборки, другие печатают этикетки заранее. Наш продукт должен быть максимально гибким, чтобы поддерживать любые офлайн-процессы на стороне продавца.

Помимо готовых решений, естественно, мы развиваем API как продукт, также исходя из потребностей самих продавцов. Условно, необходимо автоматизировать поставки на склады FBO или же ответы на вопросы покупателей, мы «упаковываем» этот функционал в методы API, не забывая про консистентность названия полей, типов пагинации, лимиты и фильтры.

Кроме того, Seller API развивается в рамках проекта «Магазин приложений». Мы стремимся к тому, чтобы компании, разрабатывающие продукты на базе Seller API, могли предлагать свои решения конечным пользователям. Таким образом, мы создаём продукт, который способствует прямому взаимодействию двух наших аудиторий, используя Seller API в качестве основного инструмента.

Sergeev Aleksey Kirillovich > Статья от @levsavelev для Хабра > Две аудитории API.jpg

Как мы развиваем Seller API в Ozon

Развитие внешнего API в Ozon представляет собой интересный процесс, учитывая, что в компании насчитывается несколько тысяч сервисов со своей логикой и спецификой.

Реализация новых или единичных методов может осуществляться по двум основным направлениям.

Направление 1. Инициатива команды Seller API

  • Мы постоянно собираем обратную связь от крупных и мелких продавцов, при этом ключевое значение имеет частота обращений;

  • На основе этой обратной связи и обращений в службу поддержки формируется наш внутренний бэклог;

  • Далее мы ищем команду менеджеров по продукту, отвечающую за нужный нам функционал, и приоритизируем задачу;

  • Если задача требует доработок в сервисе, её реализация занимает больше времени. Однако часто у команды уже есть необходимые методы, которые способны выдерживать высокие нагрузки, что критично для Ozon как высоконагруженной системы;

  • В любом случае вне зависимости от необходимости доработок в сервисе, мы согласовываем «рейт-лимиты» и контракты;

  • Подготавливаем аналитику;

  • Существует процесс груминга этой аналитики (согласование решения с нашей разработкой);

  • Оцениваем трудозатраты;

  • Приоритизируем задачу внутри нашей команды;

  • Аналитик также готовит задачи для команды технических писателей по созданию документации;

  • Однако этого недостаточно, необходимо уведомить наших пользователей — для этого используются все доступные инструменты: рассылки, баннеры, статьи, кейсы, информация о порядке вызова методов и т.д. Эту работу выполняют наши аналитики, комьюнити-менеджеры, PR-специалисты и другие.

Направление 2. Инициатива бизнес-заказчика или внутреннего сервиса

По сути, процесс аналогичен, но инициатором развития методов может быть сам бизнес-заказчик функционала или сервис, находящийся в нашем ведении. В таком случае мы фиксируем изменения, приоритизируем задачу у себя и реализуем её по тому же пути.

Важно отметить, что API — это живой организм, и методы постоянно дорабатываются по запросам продавцов, в результате обнаружения багов и по другим причинам.

Вне зависимости от направления, релизная политика одинакова — каждый новый метод или новая версия метода выпускается в разделе «Бета». URL метода при этом остаётся таким же, как и у продуктовой версии. Однако потребителям следует учитывать, что сам контракт может быть изменён (хотя это происходит редко). Мы используем бета-версию как тестовый период для выявления пограничных случаев.

Push-модель в Seller API: почему это важно

Ранее интеграции часто работали только на основе периодического опроса (polling) — когда клиентские приложения регулярно «спрашивали» сервер о новых данных. Это создавало излишнюю нагрузку и задержки.

Мы активно развиваем push-модель, когда события (новый заказ, изменение статуса, возврат и прочее) сразу отправляются в сторонние системы через webhook. Это позволяет:

  • снизить нагрузку на API и серверы;

  • уменьшить задержки — события обрабатываются моментально;

  • повысить стабильность и качество интеграций;

  • и более рационально пользоваться связкой Push-сервиса и Seller API.

Push-модель развивается, но уже приносит значительные улучшения в стабильности и отзывчивости систем.

Метрики, на которые мы ориентируемся

Есть некоторый набор основных показателей, которые мы отслеживаем для контроля качества и развития продукта.

  • Процент ошибок (Failure rate): количество неудачных запросов и ошибок — это критически важно для стабильности.

  • Время безотказной работы (Uptime): сколько времени API работает без сбоев.

  • Задержка отклика (Latency): время, которое требуется API для ответа.

  • Количество активных приложений и интеграций: сколько приложений и интеграций активно используют наш API.

  • Процент ошибок по конкретным конечным точкам (Error rate по конкретным эндпоинтам): помогает выявлять проблемные зоны в API.

  • Время подключения нового разработчика (time to first call): насколько быстро разработчики могут начать пользоваться API.

  • Валовый объём продаж продавцов (GMV продавцов): объём продаж, который проходит через интеграции с нашим API. Это самая важная метрика для продавцов, хотя есть и другие метрики покрытия.

Эти метрики позволяют нам видеть как реальные бизнес-эффекты, так и технологические проблемы.

Монетизация API: сложный баланс

API сам по себе — это интерфейс, и монетизировать его напрямую сложно. 

Как мы смотрим на монетизацию:

  • Прямо сейчас Seller API не приносит прямой выручки — доступ к нему бесплатен для разработчиков и продавцов. Исключение — несколько групп методов, которые доступны только для премиум-подписки, например, методы чатов и отзывов. Однако это не прямая монетизация, а скорее способ ограничить доступ к сенситивной информации.

  • У магазина приложений есть возможность внедрить монетизацию, но мы её не используем, так как хотим дать лучший сервис продавцам и разработчикам, чтобы Ozon рассматривался как ультимативная и максимально функциональная площадка для торговли. Разработчики могут предлагать платные сервисы, а продавцы — напрямую оплачивать подписки и услуги.

  • Есть ещё один путь – премиальные тарифы с расширенными SLA и лимитами, но это требует очень аккуратного подхода, чтобы не ухудшить опыт пользователей.

Как мы выстраиваем экосистему продуктов

Магазин приложений — витрина решений на Ozon

Как это работает.

1. API как фундамент 

Весь Магазин приложений построен на базе Seller API. Это означает, что разработчики используют те же инструменты и методы, что и мы внутри компании, обеспечивая единый стандарт взаимодействия решений с системами Озон. Мы предоставляем обширную документацию, проектируем SDK, чтобы минимизировать порог входа.

2. Двусторонняя выгода

  • Для продавцов Магазин приложений предлагает широкий спектр готовых решений: от инструментов для автоматизации маркетинга и управления запасами до сложных аналитических систем и интеграций с другими сервисами. Продавцы могут легко найти и установить приложения, которые помогут им оптимизировать бизнес-процессы, увеличить продажи и улучшить взаимодействие с клиентами, не прибегая к дорогостоящим индивидуальным разработкам.

  • Для разработчиков Магазин приложений открывает доступ к огромной аудитории наших продавцов. Разработчики могут монетизировать свои решения, предлагая платные подписки (у большинства приложений есть ещё пробный бесплатный тариф). Это создаёт мощный стимул для создания инновационных и полезных приложений, что, в свою очередь, обогащает функционал Seller API.

3. Контроль качества и безопасность 

Мы обеспечиваем строгий контроль качества и безопасности приложений, размещённых в Магазине. Каждое приложение проходит процесс ревью, проверяется функциональность и соответствие нашим стандартам. Это гарантирует, что продавцы получают надёжные и безопасные инструменты.

4. Вовлечение сообщества

Мы активно работаем над созданием сообщества разработчиков вокруг нашего API и Магазина приложений. Проводятся воркшопы, вебинары, создаются статьи и кейсы для обмена опытом и идеями. Это способствует не только развитию API, но и появлению новых, востребованных решений.

Магазин приложений стал не просто дополнением, а ключевым элементом нашей стратегии «API как продукт». Он демонстрирует практическую ценность API, привлекая как разработчиков, так и конечных пользователей (продавцов). Это позволяет постоянно расширять функционал платформы, реагировать на меняющиеся потребности рынка и поддерживать динамичное развитие бизнеса, не наращивая штат внутренних разработчиков до бесконечности. Магазин приложений — яркий пример того, как правильно выстроенный API может стать основой для создания целой экосистемы продуктов и услуг, приносящих взаимную выгоду всем участникам.

Ozon for developers — центр управления интеграциями

Платформе для разработчиков в следующем году исполнится уже 3 года! Мы продолжаем поддерживать её всеми возможными способами — выкатываем полезные обновления, добавляем важный функционал и, самое главное, постоянно наполняем её контентом, в большинстве случаев уникальным. На платформе находится и Личный кабинет разработчика, позволяющий управлять приложениями, которые разработчики разместили в Магазине приложений. 

Каналы в Telegram

Когда экосистема уже функционирует, присутствие на всех платформах, включая Telegram, становится необходимым. У команды Seller API есть два ключевых канала: канал push-уведомлений об обновлениях Seller API и канал Ozon for Dev. В последнем мы делимся новостями, касающимися API Ozon, и взаимодействуем с нашим сообществом разработчиков. Ошибки и баги часто обнаруживаются, когда несколько разработчиков обращаются к нам в чат с сообщением: «Метод X перестал работать, исправьте!». Это позволяет оперативно вносить исправления в наши системы.

Sergeev Aleksey Kirillovich > Статья от @levsavelev для Хабра > Экосистема вокруг API.jpg

Заключение

API перестали быть просто техническим интерфейсом и превратились в полноценный продукт, который может стать ключевым конкурентным преимуществом для компаний. Пример Ozon Seller API демонстрирует, как комплексный подход к разработке и поддержке API, ориентированный на удобство как разработчиков, так и конечных пользователей (продавцов), позволяет создавать мощные инструменты для автоматизации и масштабирования бизнеса.

Комментарии (8)


  1. buratino
    27.11.2025 18:31

    Мы постоянно собираем обратную связь от крупных и мелких продавцов, при этом ключевое значение имеет частота обращений;

    да неужели?
    Расскажите, сколько раз к вам обращались по поводу рекомендуемого времени в прошлом, за которое еще и дают скидку?

    И вообще, расскажите, где к вам можно обратиться напрямую, а не через тупого ассистента без элементов ИИ? Может у вас есть канал поддержки в телеге?


    1. Arhammon
      27.11.2025 18:31

      в прошлом, за которое еще и дают скидку?

      Может так оно и задумано?) Иначе же скидку давать придётся...


    1. mowc Автор
      27.11.2025 18:31

      Да, обращений было много. В результате, мы действительно добавили параметр "shipment_date_without_delay" в методы /v3/posting/fbs/get, /v3/posting/fbs/list, и /v3/posting/fbs/unfulfilled/list. Это было сделано, как только сервис был готов к тому чтобы отдавать этот параметр и мы смогли его поддержать.

      У нас в API более 200 методов с разной бизнес-логикой, и не всегда удается учесть все сценарии на старте проекта. Мы стараемся собирать доработки уже по ходу интеграций. Возможно, этот параметр добавили не сразу, но как команда API мы в первую очередь ориентируемся на потребности продавцов и учитываем их пожелания.

      Обращаться за поддержкой и предложениями можно на dev.ozon.ru, а также в наш Telegram-чат (https://t.me/OZON_int). Там активно участвуют пользователи, которые оперативно сообщают нам о проблемах. Это настоящее сообщество, которое модерируется, в том числе, его членами. Чтобы быть в курсе всех новостей, рекомендуем подписаться также на дайджест для разработчиков (https://dev.ozon.ru/?subscribe=true) и на уведомления Seller API в Telegram(https://t.me/OzonSellerAPI)


      1. buratino
        27.11.2025 18:31

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

        Обращаться за поддержкой и предложениями можно на dev.ozon.ru, а также в наш Telegram-чат (https://t.me/OZON_int). Там активно участвуют пользователи, которые оперативно сообщают нам о проблемах.

        там две группы - одна новости, другая #general и в этом #general действительно есть какое-то общение, но совсем не тех, на кого, как вы утверждаете, ориентируетесь в первую очередь.

        Мы постоянно собираем обратную связь от крупных и мелких продавцов, при этом ключевое значение имеет частота обращений;

        разработчики там есть, а продавцов нет, ну а раз нет продавцов, то и частоты обращений нет
        А вот комментарии канала https://t.me/ozonmarketplace с потребностями продавцов вы явно игнорируете. Скажете, что я не я и зона ответственности не моя, а другой команды? Кстати, канала для сообщений об ошибках тоже нет

        Скрытый текст


  1. yoma4100
    27.11.2025 18:31

    кайф! озон могёт!


  1. denfil
    27.11.2025 18:31

    Раз такая пьянка. Можно тоже высказать пару пожеланий. Хочется новый метод в перфоманс api. Суть методика такова. Получить список рекламных компаний по которым были начисления за указанный период. А то приходиться по всем компаниям заказывать отчёт, что явно нагружает процесс. . Когда тусуете колонки в csv отчётах, тоже бы предупреждали об этом. И в отчёте по товарам в оплате по заказ добавить возможность группировки по дням. А то приходиться за каждый день отдельно заказывать. Чтобы скачать месяц уходить как минимум час и 30 запросов, а можно было бы одним обойтись.


    1. mowc Автор
      27.11.2025 18:31

      Performance API - наши коллеги, то есть это другая команда, попробуем им донести инфо по доработкам, ну и рекомендуем через dev.ozon.ru тоже достучатся, коллеги следят за тематическим топиком на форуме


  1. Anterex
    27.11.2025 18:31

    Спасибо за проделанную работу! Реализовывал интеграцию и не совсем понимаю, что мешало подготовить полноценную OpenAPI-спецификацию, которая позволила бы разработчикам просто сгенерировать HTTP-клиент. Документация, конечно, есть — спасибо за неё, но назвать это действительно удобным сложно.

    Сам API выглядит неполным: например, FBO поставки посмотреть можно, статус тоже доступен, но увидеть расхождения между заявленными и фактически принятыми товарами — невозможно. Хотя для этого потребовалось бы всего одно дополнительное поле.