Розробка інтернет-магазину на Saleor під ключ

Коли бізнес зростає, стандартні e-commerce платформи починають гальмувати розвиток. Ми розробляємо інтернет-магазини на Saleor — headless-рішенні з GraphQL API, яке дає свободу у створенні унікального фронтенду та легко масштабується під мультирегіональні завдання. Наша команда реалізує проєкт під ключ — від аудиту та архітектури до впровадження та подальшої підтримки, забезпечуючи надійну основу для вашого онлайн-бізнесу.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Розробка інтернет-магазину на Saleor під ключ
Складний
від 2 тижнів до 3 місяців
Часті запитання

Типова проблема під час запуску інтернет-магазину — вибір платформи, яка не гальмує зростання. Saleor вирішує це завдяки headless-архітектурі та GraphQL API. Ми використовуємо Saleor у production вже понад 10 років. Наш досвід: понад 50 успішних проєктів. Пропонуємо розробку інтернет-магазину на Saleor під ключ — від аналітики до підтримки. Saleor дозволяє запустити магазин у 2–3 рази швидше, ніж Magento або WooCommerce.

Архітектура Saleor: чому headless — це виграш

Saleor — Python/Django e-commerce платформа з GraphQL API як єдиним інтерфейсом. Стек: Django 4.x + Graphene-Django, PostgreSQL, Celery + Redis, OpenTelemetry. Архітектурно Saleor headless: бекенд надає GraphQL API, фронтенд будується окремо (офіційний starter на Next.js — saleor/storefront). Для швидкого старту достатньо клонувати репозиторій і запустити Docker Compose.

┌─────────────────────────────────────┐
│ Saleor Core (Django)                │
├──────────────┬──────────────────────┤
│ GraphQL API  │ REST Webhooks        │
│ (Graphene)   │ (Events)             │
├──────────────┴──────────────────────┤
│ Channel System (мультирегіон)       │
├──────────┬────────────┬─────────────┤
│ Products │ Checkout   │ Orders      │
│ + Attrs  │ + Payments │ + Shipping  │
├──────────┴────────────┴─────────────┤
│ PostgreSQL │ Redis │ Celery         │
└─────────────────────────────────────┘

Ключова концепція Saleor — Channel (канал): кожен канал має власну валюту, країни доставки, ціни, правила складського обліку. Один продукт може бути доступний у кількох каналах з різними цінами — це зручно для мультирегіональних магазинів.

Чому Saleor підходить для швидкого запуску?

Головна перевага Saleor — готовий GraphQL API та адмінка (Saleor Dashboard) на Next.js. Вам не потрібно писати CRUD для товарів, замовлень або користувачів. Ми налаштовуємо проєкт за тиждень: клонуємо репозиторій, піднімаємо Docker Compose, запускаємо міграції та отримуємо робочу адмінку. Після цього підключаємо фронтенд — офіційний saleor/storefront або кастомний на React/Vue. У результаті ви отримуєте магазин, який масштабується від 10 до 10 000 замовлень на день без переписування архітектури. Джерело: Saleor Documentation.

Як ми налаштовуємо мультирегіональність через Channel System

Канал (Channel) — центральний механізм для роботи з кількома ринками. Приклад: для запуску в Україні, Польщі та Німеччині створюємо три канали. Ось як це виглядає через Admin GraphQL:

mutation CreateChannel {
  channelCreate(
    input: {
      name: "Україна"
      slug: "ua"
      currencyCode: "UAH"
      defaultCountry: UA
      countries: [UA, PL, DE]
      stockSettings: {
        allocationStrategy: PRIORITIZE_HIGH_STOCK
      }
      orderSettings: {
        automaticallyConfirmAllNewOrders: false
      }
    }
  ) {
    channel {
      id
      slug
      name
      currencyCode
    }
    errors {
      field
      message
      code
    }
  }
}

Прив'язка товару до каналу з цінами виконується через Django ORM. Ми прописуємо ціни для кожного варіанта товару в кожному каналі. Це дозволяє показувати різні ціни для різних країн.

Інтеграції через webhooks та Saleor Apps

Saleor надсилає події через webhooks. Ми використовуємо їх для синхронізації з ERP, CRM, платіжними системами. Ключові події:

Подія Тригер
ORDER_CREATED Створення замовлення
ORDER_PAID Оплата замовлення
ORDER_FULFILLED Відвантаження
PRODUCT_UPDATED Зміна продукту

Реєстрація webhook через Admin API:

mutation CreateWebhook {
  webhookCreate(
    input: {
      name: "CRM Order Sync"
      targetUrl: "YOUR_CRM_WEBHOOK_URL"
      events: [ORDER_CREATED, ORDER_PAID, ORDER_CANCELLED]
      secretKey: "webhook-secret-key-here"
      isActive: true
    }
  ) {
    webhook {
      id
      name
      targetUrl
    }
    errors {
      field
      message
    }
  }
}
Обробка webhook на стороні CRM (Python)
import hashlib, hmac
from django.http import JsonResponse

def saleor_webhook(request):
    signature = request.headers.get('Saleor-Signature', '')
    secret = b'webhook-secret-key-here'
    computed = hmac.new(secret, request.body, hashlib.sha256).hexdigest()
    if not hmac.compare_digest(signature, computed):
        return JsonResponse({'error': 'Invalid signature'}, status=400)
    event_type = request.headers.get('Saleor-Event')
    payload = json.loads(request.body)
    if event_type == 'ORDER_PAID':
        sync_order_to_crm.delay(payload['order']['id'])
    return JsonResponse({'status': 'ok'})

Для платіжних інтеграцій використовуємо Saleor Apps — окремі мікросервіси, що підключаються через Synchronous Webhooks. Це дає гнучкість у виборі провайдерів.

Порівняння підходів до інтеграції:

Підхід Складність Асинхронність Приклади
Webhooks Середня Async ERP, CRM
Saleor Apps Вища Sync + Async Платежі, доставка

Як уникнути типових помилок при розробці на Saleor?

Найчастіша проблема — N+1 запити в GraphQL. Saleor використовує DataLoader та Promise, але при кастомних запитах легко створити сотню запитів до БД. Наше рішення: використовувати select_related та prefetch_related у ресолверах, а також обмежувати complexity запиту. Рекомендуємо також кешувати публічні запити через Nginx:

location /graphql/ {
    proxy_cache_valid 200 1m;
    proxy_cache_key "$request_method$request_uri$request_body";
    proxy_cache_bypass $cookie_session_id;
}

Друга помилка — неправильне налаштування каналів. Якщо не вказати stockSettings, можуть виникати конфлікти при відвантаженні. Завжди тестуємо на staging перед деплоєм.

Процес роботи над проєктом

  1. Аналітика: розбираємо бізнес-вимоги, проєктуємо схему каналів, атрибутів, типів продуктів.
  2. Проєктування: створюємо архітектуру GraphQL, webhooks, інтеграції. Готуємо технічне завдання.
  3. Реалізація: налаштування Saleor Core, кастомні атрибути, webhooks, Saleor Apps, фронтенд на Next.js.
  4. Тестування: навантажувальне тестування (до 1000 RPS), перевірка коректності цін, сценаріїв замовлення.
  5. Деплой: розгортання на production, налаштування моніторингу (OpenTelemetry, Sentry), міграція даних.
  6. Підтримка: навчання команди, документація, гарантія 1 рік на баги.

Що входить у роботу

  • Встановлення та налаштування Saleor Core під вашу інфраструктуру (Docker, Nginx, PostgreSQL, Redis).
  • Кастомізація: типи продуктів, атрибути, канали, мультивалютність.
  • Підключення платіжних систем та служб доставки через webhooks.
  • Розробка фронтенду на Next.js (або вашому стеку) з інтеграцією через GraphQL.
  • Інтеграція з 1С, CRM, ERP через Saleor Apps або вебхуки.
  • Документація з архітектури, навчання команди, передача доступів.
  • Пост-продакшн підтримка: моніторинг, виправлення помилок, консультації.

Терміни та вартість

Терміни розробки залежать від складності. Зазвичай вкладаємося в:

  • Базовий магазин (встановлення + налаштування + storefront): 2–3 тижні.
  • Магазин з кастомізацією та 2–3 каналами: 5–8 тижнів.
  • Повноцінна платформа з інтеграціями: 14–20 тижнів.

Вартість розраховується індивідуально після аудиту вимог. Отримайте консультацію щодо вашого проєкту — ми підберемо оптимальну архітектуру. Зв'яжіться з нами для обговорення деталей.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060