Ваша корзина пока пуста,
надо срочно сюда
что-нибудь добавить
надо срочно сюда
что-нибудь добавить
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ozon Логистика для OCStore 3.0</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
line-height: 1.6;
color: #333;
background: #fff;
padding: 20px;
max-width: 1200px;
margin: 0 auto;
}
.header {
background: linear-gradient(135deg, #005BFF 0%, #0041B8 100%);
color: white;
padding: 40px 30px;
border-radius: 12px;
margin-bottom: 30px;
box-shadow: 0 4px 20px rgba(0, 91, 255, 0.2);
}
.header h1 {
font-size: 2.2em;
font-weight: 700;
margin-bottom: 15px;
line-height: 1.2;
}
.header .subtitle {
font-size: 1.1em;
line-height: 1.5;
opacity: 0.95;
font-weight: 400;
}
.section {
margin-bottom: 40px;
}
h2 {
font-size: 1.8em;
color: #005BFF;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 3px solid #005BFF;
font-weight: 600;
}
.features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 20px;
}
.feature-card {
background: #f8f9fa;
border-left: 4px solid #005BFF;
padding: 20px;
border-radius: 8px;
transition: transform 0.2s, box-shadow 0.2s;
}
.feature-card:hover {
transform: translateY(-3px);
box-shadow: 0 4px 15px rgba(0, 91, 255, 0.15);
}
.feature-card strong {
color: #005BFF;
display: block;
margin-bottom: 8px;
font-size: 1.05em;
}
.compatibility-table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
background: white;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
.compatibility-table thead {
background: linear-gradient(135deg, #005BFF 0%, #0041B8 100%);
color: white;
}
.compatibility-table th,
.compatibility-table td {
padding: 15px 20px;
text-align: left;
border-bottom: 1px solid #e9ecef;
}
.compatibility-table th {
font-weight: 600;
font-size: 1.05em;
}
.compatibility-table tbody tr:hover {
background-color: #f8f9fa;
}
.compatibility-table tbody tr:last-child td {
border-bottom: none;
}
.check-icon {
color: #28a745;
font-size: 1.2em;
font-weight: bold;
}
.tech-specs {
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
padding: 25px;
border-radius: 8px;
margin-top: 20px;
}
.tech-specs ul {
list-style: none;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 12px;
}
.tech-specs li {
padding: 10px 15px;
background: white;
border-radius: 6px;
border-left: 3px solid #005BFF;
}
.tech-specs strong {
color: #005BFF;
font-weight: 600;
}
.algorithm {
background: #fff9e6;
border: 2px solid #ffc107;
border-radius: 8px;
padding: 25px;
margin-top: 20px;
}
.algorithm h3 {
color: #ff8c00;
margin-bottom: 15px;
font-size: 1.3em;
}
.algorithm ol {
margin-left: 20px;
margin-top: 15px;
}
.algorithm li {
margin-bottom: 12px;
line-height: 1.7;
}
.algorithm strong {
color: #ff8c00;
}
.delivery-content {
background: #f0f8ff;
border-left: 4px solid #005BFF;
padding: 20px;
border-radius: 8px;
margin-top: 20px;
}
.delivery-content ul {
margin-left: 20px;
margin-top: 10px;
}
.delivery-content li {
margin-bottom: 8px;
}
.support-box {
background: linear-gradient(135deg, #F91155 0%, #d10048 100%);
color: white;
padding: 30px;
border-radius: 12px;
text-align: center;
margin-top: 30px;
box-shadow: 0 4px 20px rgba(249, 17, 85, 0.3);
}
.support-box h2 {
color: white;
border: none;
margin-bottom: 15px;
padding-bottom: 0;
}
.support-box p {
font-size: 1.1em;
margin-bottom: 10px;
}
.support-box a {
color: white;
text-decoration: none;
font-weight: 600;
border-bottom: 2px solid rgba(255, 255, 255, 0.5);
transition: border-color 0.2s;
}
.support-box a:hover {
border-bottom-color: white;
}
.divider {
height: 3px;
background: linear-gradient(90deg, #005BFF 0%, #F91155 100%);
margin: 40px 0;
border-radius: 2px;
}
.highlight-box {
background: #e7f3ff;
border: 2px solid #005BFF;
border-radius: 8px;
padding: 20px;
margin: 20px 0;
}
.highlight-box p {
margin-bottom: 10px;
line-height: 1.7;
}
@media (max-width: 768px) {
.header h1 {
font-size: 1.6em;
}
.header .subtitle {
font-size: 1em;
}
h2 {
font-size: 1.4em;
}
.features-grid {
grid-template-columns: 1fr;
}
.tech-specs ul {
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<div class="header">
<h1>???? Ozon Логистика для OCStore 3.0</h1>
<p class="subtitle">Полноценная интеграция доставки Ozon (Ozon Rocket / Ozon Логистика) в ваш интернет-магазин на OCStore 3.0. Пункты выдачи, курьер и постаматы Ozon прямо в оформлении заказа: покупатель выбирает удобный ПВЗ на интерактивной карте, а вы управляете отправлениями и статусами из админки.</p>
</div>
<div class="section">
<h2>✨ Ключевые возможности</h2>
<div class="features-grid">
<div class="feature-card">
<strong>???? 3 способа доставки Ozon</strong>
Пункт выдачи (ПВЗ), курьерская доставка, постамат — каждый включается и настраивается отдельно.
</div>
<div class="feature-card">
<strong>????️ Интерактивная карта ПВЗ</strong>
Поиск по городу и адресу на Яндекс.Картах, выбор пункта выдачи прямо в корзине/оформлении.
</div>
<div class="feature-card">
<strong>???? Гибкий расчёт стоимости</strong>
4 режима: фиксированный тариф, расчёт по весу, тарифная сетка «Посылка», режим API с автооткатом.
</div>
<div class="feature-card">
<strong>???? Объёмный (габаритный) вес</strong>
Расчёт по формуле Д×Ш×В ÷ делитель, берётся большее из фактического и объёмного веса.
</div>
<div class="feature-card">
<strong>???? Бесплатная доставка</strong>
Автоматическое применение бесплатной доставки от заданной суммы заказа.
</div>
<div class="feature-card">
<strong>⚖️ Ограничения показа</strong>
По весу, габаритам и сумме заказа: не предлагать Ozon, если товар не проходит по параметрам.
</div>
<div class="feature-card">
<strong>???? Фильтр «только товары с Ozon»</strong>
Показывать доставку лишь для товаров из вашего каталога Ozon (сопоставление по артикулу/модели).
</div>
<div class="feature-card">
<strong>????️ Управление отправлениями</strong>
Номер отправления (posting_number), расчётная и фактическая стоимость, печать этикетки.
</div>
<div class="feature-card">
<strong>???? Автосинхронизация статусов</strong>
Отслеживание доставки по cron или через webhook Ozon — статусы заказов обновляются автоматически.
</div>
<div class="feature-card">
<strong>????️ Патч геоданных для Крыма</strong>
Корректная доставка по Крыму и Севастополю в один клик.
</div>
<div class="feature-card">
<strong>???????? Русскоязычный</strong>
Полностью русскоязычный интерфейс и подробная документация.
</div>
</div>
</div>
<div class="divider"></div>
<div class="section">
<h2>✅ Совместимость</h2>
<p>Модуль разработан и протестирован для работы в реальных «боевых» условиях, в том числе с популярными расширениями:</p>
<table class="compatibility-table">
<thead>
<tr>
<th>Компонент</th>
<th>Совместимость</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>OCStore 3.0.x / OpenCart 3.0.x</strong></td>
<td><span class="check-icon">✅</span> Полная поддержка</td>
</tr>
<tr>
<td><strong>Simple (Простая регистрация и заказ) / SimplКорзина</strong></td>
<td><span class="check-icon">✅</span> Работает в одностраничном оформлении заказа</td>
</tr>
<tr>
<td><strong>FilterIt (управление доставкой и оплатой)</strong></td>
<td><span class="check-icon">✅</span> Совместим — использует стандартный механизм getQuote()</td>
</tr>
<tr>
<td><strong>Нестандартный шаблон ReMarket (OCTemplates)</strong></td>
<td><span class="check-icon">✅</span> Корректно отображается, включая Smart Checkout</td>
</tr>
<tr>
<td><strong>Стандартная тема OpenCart</strong></td>
<td><span class="check-icon">✅</span> Поддерживается</td>
</tr>
</tbody>
</table>
<div class="highlight-box">
<p><strong>Способ доставки Ozon появляется в оформлении заказа автоматически</strong> через штатный механизм способов доставки OpenCart — как в стандартном checkout, так и в ReMarket Smart Checkout / SimplКорзина.</p>
</div>
</div>
<div class="divider"></div>
<div class="section">
<h2>⚙️ Технические характеристики</h2>
<div class="tech-specs">
<ul>
<li><strong>Платформа:</strong> OCStore 3.0.x / OpenCart 3.0.x</li>
<li><strong>PHP:</strong> 7.2 – 8.2</li>
<li><strong>Расширения PHP:</strong> cURL, OpenSSL</li>
<li><strong>Формат:</strong> OCMOD (.ocmod.zip)</li>
<li><strong>База данных:</strong> MySQL/MariaDB</li>
<li><strong>API:</strong> Ozon Seller API (api-seller.ozon.ru)</li>
<li><strong>Карты:</strong> Яндекс.Карты (JavaScript API)</li>
<li><strong>Языки:</strong> русский, английский</li>
<li><strong>Лицензия:</strong> привязка к домену (RSA + SHA-256)</li>
<li><strong>Автоматизация:</strong> cron, webhook Ozon</li>
</ul>
</div>
<div class="highlight-box">
<p><strong>Установка через штатный установщик расширений OCMOD</strong> — без правки ядра системы. Создаются отдельные таблицы модуля, ядро OpenCart не затрагивается.</p>
</div>
</div>
<div class="divider"></div>
<div class="section">
<h2>???? Описание работы и алгоритм расчёта стоимости</h2>
<p>Полноценная связка магазина с логистикой Ozon: покупатель на этапе оформления заказа выбирает способ доставки Ozon и, для ПВЗ/постамата, — конкретный пункт выдачи на карте. Заказ с выбранным пунктом попадает к менеджеру, а модуль помогает вести отправления и автоматически подтягивать статусы из Ozon.</p>
<div class="algorithm">
<h3>???? Почему разработан собственный алгоритм расчёта стоимости</h3>
<p>Ozon Seller API на сегодняшний день <strong>не возвращает точную стоимость доставки в рублях</strong> — доступны только сроки и информация о доступности доставки, но не цена (это ограничение самого Ozon, подтверждённое в сообществе разработчиков).</p>
<p>Чтобы магазин всё же показывал покупателю адекватную цену доставки, в модуле реализован <strong>гибкий алгоритм локального расчёта</strong>, который вы настраиваете под свои реальные тарифы:</p>
<ol>
<li><strong>Определение расчётного веса.</strong> Суммируется вес всех товаров. При включённом объёмном весе для каждого товара считается габаритный вес <code>Д×Ш×В ÷ делитель</code> (по умолчанию 5000) и берётся большее из фактического и объёмного. Для товаров без веса применяется «вес по умолчанию».</li>
<li><strong>Проверка ограничений и фильтров.</strong> Если корзина не проходит по весу/габаритам/сумме или (при включённом фильтре) содержит товары не из каталога Ozon — доставка не предлагается.</li>
<li><strong>Бесплатная доставка.</strong> При сумме заказа выше заданного порога стоимость обнуляется.</li>
<li><strong>Расчёт цены</strong> по выбранному режиму:
<ul>
<li><em>Фиксированный</em> — постоянный тариф способа доставки;</li>
<li><em>По весу</em> — базовый тариф + надбавка за каждый килограмм сверх первого × региональный коэффициент;</li>
<li><em>«Посылка»</em> — цена из настраиваемой тарифной сетки по весовым интервалам (с надбавкой за перевес);</li>
<li><em>API</em> — попытка запроса к Ozon с автоматическим откатом на весовой расчёт.</li>
</ul>
</li>
<li><strong>Региональный коэффициент</strong> повышает стоимость для удалённых регионов.</li>
</ol>
<p style="margin-top: 15px; font-weight: 600;">Такой подход даёт <strong>предсказуемую, прозрачную и полностью управляемую</strong> стоимость доставки, которую вы приводите в соответствие с фактическими тарифами Ozon.</p>
</div>
</div>
<div class="divider"></div>
<div class="section">
<h2>???? Что входит в поставку</h2>
<div class="delivery-content">
<ul>
<li>✅ Модуль в формате OCMOD (<code>ozon_logistics.ocmod.zip</code>) — установка в пару кликов</li>
<li>✅ Подробное <strong>руководство пользователя</strong> (PDF и Word) — установка, все настройки, cron</li>
<li>✅ SQL-скрипты установки/удаления</li>
<li>✅ Лицензионный ключ на ваш домен</li>
</ul>
</div>
</div>
<div class="support-box">
<h2>???? Поддержка</h2>
<p>Разработчик и правообладатель: <strong>MPSEL</strong></p>
<p>Сайт: <a href="https://mpsel.ru/" target="_blank">mpsel.ru</a> · E-mail: <a href="/cdn-cgi/l/email-protection#d9b4b8a1abadb099b4b8b0b5f7abac"><span class="__cf_email__" data-cfemail="4a272b32383e230a272b232664383f">[email protected]</span></a></p>
<p style="margin-top: 15px;">Техническая поддержка, помощь с установкой и настройкой, выпуск и продление лицензии.</p>
</div>
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"f0f03d0605bf45f1a3b17cf7d5e6861f"}' crossorigin="anonymous"></script>
</body>
</html>