1. Краткое описание проекта

Заказчик: интернет-магазин товаров для дома с ежемесячным оборотом более 10 000 заказов.

Проблема: логистика компании через сторонние службы (СДЭК, Почта России) не всегда устраивала клиентов по срокам и стоимости. Бизнес решил подключить логистический сервис Ozon как дополнительный способ доставки для привлечения новых клиентов и повышения конверсии. При этом ключевым требованием было одновременно решить две задачи в рамках одного кабинета Ozon Seller: интегрировать товары сайта с Ozon (синхронизация каталога и остатков) и подключить Ozon Доставку для заказов с собственного сайта. Однако стандартного решения для связи WooCommerce и Ozon не существовало.

Цель: разработать кастомное решение для интеграции API службы доставки Ozon (Ozon Логистика) с WooCommerce, обеспечив автоматический расчёт стоимости и отображение доступных способов доставки на checkout-странице, выгрузку заказов, генерацию накладных и интеграцию статусов доставки — параллельно с интеграцией товаров сайта с Ozon.

2. Особенности работы службы доставки Ozon и вызовы проекта

2.1. Предварительное условие: полная синхронизация ассортимента

Ключевая особенность запроса клиента заключается в том, что требовался не изолированный метод доставки. Требовалась предварительная полноценная интеграция товарного каталога сайта с магазином на Ozon. Это означает, что:

  • Все товары, которые потенциально могут быть отправлены через доставку Ozon, должны быть созданы и активированы в системе Ozon.
  • Необходима постоянная двусторонняя синхронизация остатков между сайтом и Ozon, чтобы исключить ситуации, когда товар заказан через доставку Ozon, но физически отсутствует на складе.
  • Требуется передача характеристик товаров (вес, габариты), так как именно эти параметры используются для расчёта стоимости доставки.

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

2.2. Управление видимостью товаров на витрине Ozon

В ходе анализа бизнес-процессов клиента выявилось критическое ограничение: клиент не был готов выставлять на Ozon весь свой ассортимент для продажи. Причины были разные:

  • Некоторые товары имели низкую маржинальность, и продажа через Ozon с учётом комиссий становилась невыгодной.
  • Часть товаров была эксклюзивной и предназначена только для продажи через собственный сайт.

Это потребовало разработки решения, которое позволяло бы управлять видимостью товаров на самой площадке Ozon. Ранее Ozon требовал, чтобы все товары, передаваемые в доставку, одновременно были доступны для покупки на витрине маркетплейса. Однако в мае 2026 года Ozon изменил правила для сервиса Ozon Доставка:

  • Продавцы получили возможность скрывать отдельные карточки товаров от покупателей на витрине Ozon, оставляя их только для логистики заказов со своего сайта.
  • Такие товары помечаются в личном кабинете специальным бейджем «Ozon Доставка».
  • При этом карточки товаров обязательно должны оставаться в личном кабинете — без них отправка через Ozon Доставку невозможна.

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

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

Важно: интеграция товаров с Ozon и подключение Ozon Доставки решались одновременно и в одном кабинете. Решение не затрагивает и не блокирует другие сценарии работы клиента с Ozon — оно лишь добавляет новый сценарий использования того же кабинета Ozon Seller.

2.3. Обязательная верификация клиента по номеру телефона

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

  • Для отслеживания заказа клиенту необходима авторизация в мобильном приложении или на сайте Ozon.
  • Уведомления о статусе доставки и коды для получения заказа в ПВЗ приходят именно через экосистему Ozon.

Для выполнения этого требования мы внедрили следующий механизм:

  • На странице оформления заказа (checkout) добавлен этап предварительной проверки номера телефона.
  • При вводе номера телефона система отправляет запрос в Ozon API для проверки, зарегистрирован ли этот номер в системе Ozon.
  • Если номер не найден, клиенту отображается информативное сообщение о необходимости регистрации на Ozon, и способ доставки Ozon становится недоступным для выбора.
  • Для зарегистрированных пользователей проверка выполняется автоматически при входе в личный кабинет, а для гостевых заказов — непосредственно перед выбором способа доставки.

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

3. Этап 1: Архитектурное проектирование

3.1. Отказ от готовых решений

На рынке не существует готового плагина для интеграции службы доставки Ozon с WooCommerce, который бы полностью закрывал все бизнес-требования. Существующие решения (например, плагины для синхронизации товаров и заказов с Ozon Seller) не предназначены для работы с логистическим сервисом Ozon Доставка и не предоставляют функционала расчёта доставки, отображения ПВЗ и проверки клиентов по номеру телефона.

Поэтому мы приняли решение разработать собственный плагин с нуля, который:

  • Напрямую взаимодействует с Ozon Seller API для получения данных о тарифах, пунктах выдачи и проверки клиентов.
  • Полностью интегрируется в экосистему WooCommerce как стандартный метод доставки, с возможностью управления через зоны доставки.
  • Реализует собственную логику расчёта стоимости на основе тарифных сеток Ozon, а не полагается на API для получения точной цены заказа.
  • Одновременно обеспечивает интеграцию товаров сайта с Ozon и работу Ozon Доставки в одном кабинете Ozon Seller.

3.2. Интеграция методов доставки в WooCommerce

Мы спроектировали решение, которое целиком интегрируется в стандартные механизмы WooCommerce:

  • Метод доставки Ozon регистрируется как полноценный способ доставки в зонах WooCommerce, что позволяет управлять его доступностью по регионам, сортировкой и приоритетом относительно других методов.
  • Проверка доступности доставки осуществляется комплексно: учитывается не только адрес получателя, но и наличие у клиента аккаунта Ozon (проверка по номеру телефона через API), а также состав корзины (только товары, разрешённые для доставки Ozon).
  • На странице оформления заказа метод отображается или скрывается динамически на основе результатов всех проверок, выполняемых в реальном времени через AJAX-запросы к API Ozon.

3.3. Реализация формулы расчёта стоимости

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

Вместо этого мы реализовали механизм формулы расчёта:

  • Плагин получает из API Ozon актуальные тарифные сетки.
  • На основе этих данных и параметров заказа (вес, габариты, адрес доставки, категория товара) плагин самостоятельно вычисляет стоимость доставки по формуле, воспроизводящей логику расчёта Ozon.
  • Это позволяет получать точную стоимость доставки без задержек на внешние API-запросы и без риска превышения лимитов.

3.4. Реализация карты ПВЗ Ozon и курьерской доставки

Для удобства клиентов на странице оформления заказа мы реализовали:

  • Интерактивную карту пунктов выдачи Ozon (ПВЗ) с возможностью выбора ближайшего пункта. Данные о ПВЗ (координаты, адреса, режим работы) загружаются из API Ozon и отображаются на карте.
  • Курьерскую доставку как альтернативный вариант с расчётом стоимости и срока доставки по адресу клиента.
  • При выборе конкретного ПВЗ или курьерского адреса плагин фиксирует эти данные в заказе и передаёт их в Ozon при создании отправления.

4. Результаты и эффект для бизнеса

  • Решение двух задач одновременно: товары сайта интегрированы с Ozon, и при этом Ozon Доставка работает для заказов с собственного сайта — всё в одном кабинете Ozon Seller.
  • Расширение логистических возможностей: на сайте появился новый востребованный способ доставки, что привлекло клиентов, привыкших к сервису Ozon.
  • Повышение конверсии: прозрачный расчёт стоимости доставки на этапе оформления заказа снизил количество брошенных корзин.
  • Стабильность: отказ от стандартного плагина и wp-cron решил проблемы с отображением доставки и сделал работу метода Ozon предсказуемой.
  • Масштабируемость: решение легко адаптируется под изменения в API Ozon и может быть расширено для работы с несколькими складами отгрузки.

5. Используемые технологии

  • Backend: PHP 8.0+, WordPress 7.01, WooCommerce 10.9.4
  • Интеграция: REST API Ozon Seller API
  • Безопасность: шифрование API-ключей, валидация данных

6. Заключение

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