Skip to content

Модуль marketplace

Путь: app/marketplace/
Django app: app.marketplace

Назначение

Интеграция с маркетплейсами: Wildberries, Ozon, Яндекс Маркет. Синхронизация остатков, заказов, цен и аналитики.

Поддерживаемые маркетплейсы

МаркетплейсФайлФункционал
Wildberrieswb_service.py, wb_marketing.pyОстатки, заказы, цены, реклама
Ozonozon_service.py, ozon_view.pyОстатки, заказы, цены
Яндекс Маркетyandex_market.pyОстатки, заказы
Сбер Мегамаркетв разработке
Магнитв разработке

Ключевые модели

MarketPlace

python
class MarketPlace(Model):
    name = CharField()           # "Wildberries", "Ozon"
    code = CharField()           # wb, ozon, ym
    api_key = CharField()        # API-ключ
    warehouse_id = CharField()   # ID склада маркетплейса
    is_active = BooleanField()

MarketPlaceToAssortiment

Привязка товара к SKU маркетплейса:

python
class MarketPlaceToAssortiment(Model):
    marketplace = FK(MarketPlace)
    assortiment = FK(Assortiment)
    external_id = CharField()    # nmID (WB) / product_id (Ozon)
    external_sku = CharField()   # артикул продавца
    barcode = CharField()
    price = DecimalField()       # цена на площадке
    stock_quantity = IntegerField()  # остаток, отправленный на МП

API

EndpointОписание
GET /api/v2/market-place/Список маркетплейсов
GET /api/v2/market-place/wb/orders/Заказы WB
POST /api/v2/market-place/wb/stocks/Обновить остатки WB
GET /api/v2/market-place/ozon/orders/Заказы Ozon
POST /api/v2/market-place/ozon/stocks/Обновить остатки Ozon

ViewSets

  • WildberiesProxyViewSet — проксирование запросов к WB API
  • OzonAPIViewSet — работа с Ozon API

Синхронизация через Celery

Остатки и заказы обновляются автоматически через задачи:

python
# app/marketplace/tasks.py
@app.task
def sync_wb_stocks():
    """Синхронизация остатков с Wildberries"""
    ...

@app.task
def sync_ozon_orders():
    """Загрузка новых заказов с Ozon"""
    ...

Связи

  • app.document — заказы от маркетплейсов превращаются в документы
  • app.stock — остатки, отправляемые на МП

Подробнее об интеграции: Маркетплейсы