Przejdź do treści
Integracje 6 min czytania

Integracja sklepu z enova365 - REST API, moduły, praktyka

enova365 (Soneta) jest najmłodszym wiekiem z popularnych polskich ERP-ów i to widać w API. REST z OAuth2, sensowna dokumentacja, modułowa architektura - wdrożenie integracji wygląda po prostu inaczej niż przy XL czy GT. Klienci, którzy migrowali z Subiekta na enovę, najczęściej dzielą się tym samym wnioskiem: „szkoda, że dopiero teraz".

Jakub Owsianka Autor
Zaktualizowano:
Okladka artykulu: Integracja sklepu z enova365 - REST API, moduły, praktyka (kategoria: Integracje)
Okladka artykulu: Integracja sklepu z enova365 - REST API, moduły, praktyka (kategoria: Integracje)
Spis treści (9)

W skrócie

  • 1. API: REST z OAuth2 (od enova 2017+), dobrze udokumentowane
  • 2. Modularność: kupujesz tylko te moduły, które są ci potrzebne (handel, magazyn, kadry, finanse)
  • 3. Cenniki: rozbudowane (indywidualne, grupowe, progi ilościowe, promocje)
  • 4. Wdrożenie: szybsze o 30-40% wzgl. XL przy podobnym scope
  • 5. Limitacje: mniejszy ekosystem konektorów niż Comarch, ale rosnący

Czym jest enova365

ERP od krakowskiej Sonety. Modułowy - handel, magazyn, finanse, kadry, projekty, każdy moduł osobno. Wersja chmurowa (enova365 BIZNES) i on-premise. Aktywnie rozwijany, regularne aktualizacje.

Mocne strony jako baza dla sklepu B2B:

  • Czyste REST API z OAuth2
  • Solidny model cenowy (porównywalny z XL)
  • Aktualne stawki VAT, e-Faktura (KSeF) - wbudowane
  • Wsparcie dla pracy w chmurze (mniej problemów infrastrukturalnych)

Słabsze strony:

  • Mniejszy rynek wdrożeniowców e-commerce specjalizujących się w enova niż w XL
  • Mniej gotowych konektorów do platform e-commerce - częściej custom

REST API enova365

Endpoint base'owy: https://api.enova365.cloud/{tenant}/{wersja}/... (lub on-premise - adres serwera klienta).

Autoryzacja: OAuth2 Client Credentials Flow. Sklep / middleware dostaje client_id + client_secret od klienta enovy, wymienia na token, używa do każdego wywołania.

Format: REST + JSON. Endpointy nazwane po modułach enovy (/Handel/Kontrahenci, /Handel/Towary, /Handel/Dokumenty).

Limity:

  • 60 req/min na konto (domyślnie, podniesione w SLA)
  • Paginacja po 100/250/500 zależnie od endpointa
  • Webhooks - TAK, na zmiany kluczowych encji (zmiana stanu, cennika, dokumentu)

To różnica jakościowa wzgl. GT / XL. Webhooks oznaczają, że nie musisz pollować - enova powiadamia.

Architektura wdrożenia

[Sklep Magento / Shopware]
        |
        | REST
        v
[Middleware - Symfony lub Node.js]
        |
        +--- REST + OAuth2 do enova365
        +--- Redis (cache, kolejki)
        +--- Webhooks listener z enovy

Middleware potrzebny dla typowych funkcji (kolejki, cache, idempotencja). Ale prostszy niż dla XL - nie musimy obchodzić timeoutów ani problemów SOAP-u.

Bezpośrednie połączenie sklep ↔ enova ma sens dla małych sklepów (do ~3k SKU). Powyżej - middleware ratuje skórę przy złożonych transformacjach i monitoringu.

Co synchronizujemy i jak

Towary (/Handel/Towary):

  • enova → sklep, batch w nocy + delta przez webhook
  • Pełna synchronizacja 50k SKU: ~1.5h (znacznie szybciej niż XL)
  • Atrybuty filtrowalne - enova ma „cechy" towaru, sensowny model

Kontrahenci (/Handel/Kontrahenci):

  • enova → sklep on-demand (po NIP) + okresowe synchro nowych
  • Klient B2B rejestruje się w sklepie → middleware sprawdza NIP w enova → tworzy konto lub aktywuje

Ceny (/Handel/Cenniki):

  • enova ma osobny endpoint do kalkulacji ceny dla kontrahenta - wykorzystujemy
  • Cache 10-15 min, klucz (kontrahent_id, sku, ilosc)
  • Webhook na zmianę cennika → invalidacja cache

Stany magazynowe (/Handel/Stany):

  • Webhook + delta polling co 2-5 min
  • Pull on-demand dla konkretnego SKU
  • Cache 30s

Zamówienia (/Handel/Dokumenty/ZK lub bezpośrednio FS):

  • Sklep → enova z idempotencyjnym Symbol (np. WEB-2026-000123)
  • enova zwraca pełen Dokument z numerem nadanym, statusem, kosztem dostawy

Faktury:

  • enova generuje, middleware odbiera webhook, pobiera PDF, zapisuje w storage sklepu
  • E-Faktura (KSeF) - obsługiwana natywnie w enova, fakturę dostaje klient z KSeF, sklep tylko pokazuje numer

Cenniki w enova - co realnie dostajesz

enova ma rozbudowany silnik cen, porównywalny z XL:

  • Cenniki indywidualne (per kontrahent)
  • Cenniki grupowe (per grupa)
  • Progi ilościowe (od 100 szt. cena X)
  • Rabaty stałe i procentowe
  • Promocje czasowe
  • Cenniki w walutach
  • Logika hierarchiczna (najpierw indywidualny, potem grupowy, potem promocyjny - konfigurowalna)

Sklep nie liczy ceny lokalnie. Zawsze pyta enovę.

Limity kredytowe i blokady

enova ma natywne wsparcie dla limitów kredytowych kontrahenta:

  • Saldo bieżące (suma niezapłaconych faktur)
  • Limit kredytowy (kwota maksymalna)
  • Saldo + limit razem decydują o blokadzie

Endpoint /Handel/Kontrahenci/{id}/Saldo zwraca aktualne wartości. Sklep waliduje przed dopuszczeniem do checkoutu z formą „przelew z terminem".

W praktyce robimy walidację dwustopniową:

  1. Soft check w koszyku (informacja: „uwaga, przekroczysz limit o X zł")
  2. Hard check przy potwierdzaniu zamówienia (enova zwraca błąd, blokada)

Najczęstsze problemy

1. Wersje enovy - różnice między wydaniami. enova wydaje co kwartał. Aktualizacja u klienta to często okazja do zmiany pól w API. Testy integracyjne przy każdej aktualizacji.

2. Cloud vs. on-premise. Enova w chmurze Sonety ma stałe IP i dostęp. On-premise - często za firewall klienta, wymaga VPN lub IP whitelisting. Ustalanie tego trwa.

3. Webhooki z opóźnieniem. W godzinach szczytu webhook może mieć 30 s opóźnienia. Dla większości scenariuszy ok, dla rezerwacji koszyka - uzupełniamy pull on-demand.

4. Mapowanie kategorii i cech. enova ma model „grupy towarów" i „cechy" - sklep ma kategorie i atrybuty. Mapowanie 1:1 rzadko działa.

5. KSeF i faktury. Od 2026 obligatoryjne KSeF dla B2B. enova obsługuje natywnie, ale sklep musi pokazać klientowi prawidłowo numer KSeF + ewentualnie PDF (wizualizacja).

Koszt i czas

Czas:

  • MVP (produkty + ceny + stany): 4-6 tygodni
  • Pełna integracja (z zamówieniami, dokumentami, limitami kredytowymi): 10-14 tygodni
  • Stabilizacja: 3-5 tygodni

Koszt:

  • Wdrożenie: 70-160 tys. zł
  • Licencje enova (po stronie klienta) - moduł handlowy + API: zależnie od konfiguracji
  • Utrzymanie: 10-25 tys. zł rocznie

Szybciej niż XL, drożej niż Subiekt GT, znacznie taniej niż SAP. Dla większości polskich średnich B2B - najlepszy stosunek do funkcjonalności.

Kiedy enova ma sens nad XL czy GT

Nad GT - gdy:

  • Skala rośnie powyżej możliwości GT (>15k SKU + 200+ kontrahentów)
  • Potrzebujesz REST + webhooki
  • Chcesz chmurową architekturę

Nad XL - gdy:

  • Twoja firma startuje od zera (greenfield ERP)
  • Cenisz nowoczesny API i krótszy time-to-integration
  • Skala 5-80 M zł obrotu (XL od 80 M wzwyż jest mocniejszy)
  • Nie potrzebujesz głębokiej customizacji ERP po stronie procesów

Pozostań przy XL gdy:

  • Skala > 80 M zł obrotu, dużo customów ERP-owych
  • Twój dział księgowości pracował na XL latami
  • Wymagasz konkretnych modułów branżowych XL

FAQ

Czy enova365 ma gotowe konektory do Magento i Shopware? Tak, ale mniej dojrzałe niż dla XL. Najczęściej projekty robi się przez 2-3 wyspecjalizowane firmy lub custom przez middleware.

Jak enova radzi sobie z KSeF? Bardzo dobrze. Soneta wcześnie dostosowała się do KSeF, mechanizm wystawiania i odbierania faktur jest wbudowany. Dla sklepu oznacza to: enova robi KSeF, sklep dostaje numer i pokazuje klientowi.

Czy mogę zintegrować enova365 z BaseLinkerem? Tak, BaseLinker ma oficjalny moduł enova. Dla podstawowych przepływów (zamówienia z marketplace'ów, synchronizacja stanów) działa. BaseLinker w sklepie B2B.

Czy enova obsługuje multi-firma (kilka spółek w jednej instalacji)? Tak, ma multi-bazę. Sklep może rozmawiać z jedną lub wieloma bazami enovy (np. spółka PL + spółka DE).

Czy enova ma API dla raportów / BI? Tak, większość encji jest dostępna przez API. Plus enova ma natywne moduły BI (Soneta BI), które można podpiąć do dashboardów.

Co dalej

O autorze

Jakub Owsianka

Architekt rozwiązania w WiseB2B - silniku platform B2B. Zaczynał po stronie biznesu (własne sklepy), potem deweloper, dziś projektuje wdrożenia dla sklepów z katalogami w dziesiątkach tysięcy SKU. W ostatnich latach wdrożył AI-development w zespole i funkcjonalności oparte o AI bezpośrednio w silniku sklepu.

Masz pytanie do tego artykułu?

Dodatkowy kontekst, problem z własnym wdrożeniem, druga opinia - napisz wprost. Odpowiadam osobiście w 1-2 dni robocze.