REST APIComarch OptimaIntegracja

Czy Comarch Optima posiada API? Dlaczego nie ma publicznego REST API do Optimy

Robert Mońka · · Zaktualizowano:

Comarch ERP Optima — jeden z najpopularniejszych systemów ERP w Polsce — nie udostępnia publicznego REST API. Firmy, które chcą zintegrować Optimę z e-commerce, CRM, narzędziami AI lub innymi systemami, stają przed ścianą. Ten artykuł wyjaśnia dlaczego Comarch nie oferuje REST API, jakie alternatywy istnieją i jak Optima API od WebArm rozwiązuje ten problem dla firm pracujących z systemem Comarch ERP Optima, e-commerce i oprogramowaniem zewnętrznym.

Najważniejsze informacje

  • Czy Comarch Optima posiada API? Tak, ale nie w formie publicznego REST API z JSON i dokumentacją OpenAPI.
  • Oficjalne mechanizmy to przede wszystkim lokalne interfejsy programu, COM objects, Web API/SOAP w wybranych zakresach oraz narzędzia ekosystemu Comarch.
  • Największa luka dotyczy prostego połączenia Optimy ze sklepem, WMS, CRM, aplikacją webową albo agentem AI przez HTTP/JSON.
  • Optima API od WebArm wypełnia tę lukę jako warstwa REST instalowana przy Optimie, z walidacją biznesową i dokumentacją Swagger.
Zamknięty ekosystem ERP — przejście przez mur dzięki API

Stan obecny: co oferuje Comarch

Comarch udostępnia kilka metod integracji z Optimą. WebAPI działa jako usługa sieciowa oparta o SOAP, XML i protokół RPC, a lokalne mechanizmy programu obsługują część wymiany danych. Żadna z tych metod nie jest jednak publicznym REST API w rozumieniu, do jakiego przyzwyczaił nas współczesny rynek SaaS.

COM objects

Obiekty COM (Component Object Model) to najstarszy i najbardziej rozpowszechniony interfejs integracyjny Optimy. Działają wyłącznie na Windows, wymagają zainstalowanej Optimy na maszynie, na której uruchamiasz kod, i nie mają oficjalnej dokumentacji.

Programiści uczą się API metodą prób i błędów, dekompilacji DLL-ek lub informacji przekazywanych ustnie na forach i w grupach partnerskich. Szczegółowe porównanie COM objects z innymi metodami integracji — z przykładami kodu — znajdziesz w artykule REST API vs COM objects.

Web API Comarch

Comarch ERP Optima WebAPI istnieje, ale jest to web service oparty na protokole SOAP z komunikacją XML/RPC. Obsługuje moduły handlowe, księgowe, kadrowe i CRM, wymaga jednak dodatkowej licencji. Nie jest to REST API — brak formatu JSON, brak dokumentacji OpenAPI/Swagger, brak prostoty integracji, jaką daje standardowy interfejs HTTP/JSON. Dla firm, które chcą łatwo zintegrować własne rozwiązania e-commerce, CRM albo WMS, Comarch ERP Optima WebAPI nie rozwiązuje całego problemu.

Comarch ERP XL SDK i inne ułatwienia pracy

Comarch ERP XL (większy ERP dla średnich i dużych firm) ma rozbudowane SDK oraz inne ułatwienia pracy dla integratorów. Optima — skierowana do małych i średnich firm — takiego publicznego zestawu SDK nie posiada, dlatego program Comarch ERP Optima nadal wymaga lokalnych mechanizmów integracji albo warstwy pośredniej.

Dlaczego Comarch nie buduje publicznego REST API

Comarch nigdy oficjalnie nie wyjaśnił tej decyzji. Można jednak wskazać prawdopodobne przyczyny:

Model biznesowy — Comarch zarabia na licencjach i ekosystemie. Publiczne API umożliwiłoby integrację z konkurencyjnymi rozwiązaniami, zmniejszając uzależnienie od ekosystemu Comarch.

Architektura — Optima jest aplikacją desktopową z wieloletnią historią. Jej architektura opiera się na COM objects i bezpośrednim dostępie do bazy SQL Server. Budowa REST API wymagałaby fundamentalnych zmian architektonicznych, implementacji integracji z istniejącymi modułami i budowy warstwy pośredniej dopasowanej do potrzeb konkretnego przedsiębiorstwa.

Priorytetyzacja — Comarch rozwija Optima w wielu kierunkach jednocześnie (Optima w Chmurze, BI, iZam, e-Commerce). REST API dla developerów zewnętrznych może nie być najwyżej na liście priorytetów.

Wsparcie — publiczne API oznacza publiczną dokumentację, wersjonowanie, backward compatibility i wsparcie techniczne dla programistów trzecich. To znaczące zobowiązanie dla firmy, której głównym klientem jest księgowa i magazynier, nie programista.

Trzy ścieżki integracji — COM, SQL i REST API

Co robią firmy dzisiaj

W praktyce firmy muszą wykonywać operacje przez obejścia: własne wrappery COM, bezpośredni SQL, importy plikowe albo integracje z serwerem WebAPI. Każde podejście wymaga osobnej konfiguracji, testów i utrzymania, zwłaszcza gdy aplikacja zewnętrzna ma wymieniać dane z programem ERP jakim jest Comarch ERP Optima.

Wariant 1: COM objects wrapper

Programista .NET pisze wrapper wokół COM objects, wystawiając własne REST API. To najczęstsze podejście wśród partnerów Comarch.

Problemy:

  • Miesiące pracy na budowę i utrzymanie
  • Każda aktualizacja Optimy może wymagać zmian we wrapperze
  • Brak standaryzacji — każdy partner buduje własne rozwiązanie
  • Sesyjność COM objects ogranicza wydajność

Wariant 2: Bezpośredni SQL

Czytanie i pisanie do bazy danych SQL Server, w której Optima przechowuje dane. Szybkie, ale ryzykowne — omija walidację biznesową, nie jest wspierane przez Comarch i może uszkodzić dane.

Wariant 3: Optima API od WebArm

Gotowe REST API do Comarch ERP Optima, zbudowane na COM objects z pełną walidacją biznesową. Standardowy interfejs HTTP + JSON z dokumentacją Swagger/OpenAPI.

GET /api/kontrahenci?szukaj=FIRMA
X-Api-Key: twoj-klucz
X-Optima-Firma: FIRMA-DB
{
  "data": [
    {
      "kod": "FIRMA-001",
      "nazwa1": "Przykładowa Firma Sp. z o.o.",
      "nip": "1234567890",
      "email": "[email protected]"
    }
  ]
}

Różnica: nie musisz pisać wrappera, nie musisz utrzymywać kodu, nie musisz testować kompatybilności po każdej aktualizacji Comarch. WebArm robi to za Ciebie. Jeśli prowadzisz sklep internetowy, sprawdź praktyczny przewodnik po integracji sklepu z Optimą.

Porównanie opcji

KryteriumCOM wrapper (DIY)Bezpośredni SQLOptima API (WebArm)
Czas budowy2–6 miesięcy1–4 tygodnie0 (gotowe)
UtrzymanieTyTyWebArm
Kompatybilność z aktualizacjamiRęcznaBrak gwarancjiWebArm testuje
Walidacja biznesowaTak (COM)BrakTak
DokumentacjaTwojaBrakSwagger/OpenAPI
Platforma klientaTylko WindowsDowolnaDowolna

Jakie operacje blokuje brak REST API w Comarch ERP Optima

Problem nie kończy się na jednym endpointcie. Firmy zwykle potrzebują zestawu operacji: pobieranie informacji, pobieranie listy kontrahentów, dodawanie dokumentów, aktualizacja kontrahentów, faktury sprzedaży, dokumentów magazynowych i księgowych oraz wyszukiwanie rekordów po NIP, numerze obcym albo dacie wystawienia. Przy dokumentach ważne jest też tworzenie dokumentów powiązanych, np. WZ do faktury sprzedaży.

OperacjaDlaczego jest potrzebnaCo daje warstwa REST
Pobieranie kontrahentów i towarówCRM, sklep, WMS i aplikacja zewnętrzna muszą znać aktualne daneGET z filtrami, paginacją i jasnym formatem komunikatów
Dodawanie dokumentów handlowychZamówienia, WZ i faktury powinny powstawać bez ręcznego przepisywaniazapis przez COM z walidacją numeracji, rejestru VAT i daty płatności
Faktury sprzedaży i korektyKsięgowość wymaga zgodności stawek, rozrachunków i datjeden payload zamiast wielu ręcznych kroków
Dokumentów magazynowychE-commerce i WMS potrzebują stanów, wydań i przyjęćspójna automatyzacja magazynowych operacji w Optimie
Dane kadrowo-płacoweIntegracje HR i raporty często wymagają odczytu limitów urlopowych pracownikakontrolowany dostęp zamiast bezpośredniego SQL

To są dokładnie te obszary, w których oprogramowanie przeznaczone do integracji powinno oferować automatyzację integracji: pobieranie listy kontrahentów, modyfikację dokumentów, eksport dokumentów, obsługę dokumentów księgowych, datę wystawienia, datę kursu, numer obcy, jednostkę miary oraz komunikaty w przewidywalnym formacie. Jeśli format tworzenia komunikatów jest XML/SOAP i zależy od lokalnych mechanizmów udostępnianych przez program, wdrożenie staje się trudniejsze niż prosty kontrakt REST.

Web API w praktyce: e-commerce, dokumenty i księgowość

W praktyce Web API i lokalne obiekty COM wystarczają tylko części rozwiązań. Gdy firma ma e-commerce, magazyn, księgowość i aplikację zewnętrzną, potrzebuje spójnego sposobu na pobieranie informacji, dodawanie dokumentów, faktury sprzedaży, rejestr VAT, datę płatności oraz raporty z modułów kadrowo płacowych. Brak publicznego REST API oznacza, że każde z tych rozwiązań trzeba składać osobno, zamiast utrzymywać jeden program Comarch ERP Optima połączony z resztą systemów przez jasny kontrakt.

Czy Web API Comarch ERP Optima wystarczy do e-commerce?

Web API może obsłużyć część scenariuszy, ale e-commerce zwykle potrzebuje REST API, które łączy sklep, magazyn, faktury sprzedaży i kontrahentów jednym protokołem. Jeśli sklep ma działać bez ręcznego przepisywania, ważne jest pobieranie informacji, wyszukiwanie rekordów i dodawanie dokumentów handlowych w przewidywalnym formacie.

Czy Web API rozwiązuje dodawanie dokumentów handlowych?

Nie zawsze. Dodawanie dokumentów, korekty, rejestr VAT, data płatności i dokumentów magazynowych wymagają walidacji Optimy. Właśnie dlatego Optima API od WebArm zostawia zapis po stronie Comarch ERP Optima, ale na zewnątrz daje prostszy interfejs dla innych rozwiązań.

Dla partnerów Comarch

Jeśli jesteś partnerem Comarch i Twoi klienci pytają o integrację — nie musisz budować własnego API. Optima API od WebArm to gotowe rozwiązanie, które możesz zaoferować swoim klientom. Skupiasz się na wdrożeniu i konfiguracji, nie na pisaniu i utrzymaniu kodu integracyjnego.

Czy Comarch kiedyś wyda REST API?

Nie wiadomo. Comarch rozwija Optimę w Chmurze, co teoretycznie mogłoby ułatwić budowę API. Ale nawet gdyby REST API pojawiło się jutro — migracja z dotychczasowych integracji zajęłaby czas, a firmy potrzebują rozwiązania teraz, nie za rok.

Optima API od WebArm jest dostępne dzisiaj, z dokumentacją, wsparciem i aktualizacjami.


Masz pytania o integrację z Comarch Optima? Sprawdź odpowiedzi na najczęstsze pytania lub skontaktuj się z nami.


Robert Mońka, WebArm

Robert Mońka

Programista, właściciel firmy produkcyjno-handlowej, lider zespołu WebArm. Wraz z zespołem rozwija Optima API i VerSync: REST API oraz synchronizatory do Comarch ERP Optima używane też w jego własnych firmach.

LinkedIn →

Masz pytania o integrację z Comarch Optima?