ERPower.pl

Dokumentacja zaktualizowana · wrzesień 2026

OptimAPI — REST API dla Comarch ERP Optima

Comarch ERP Optima otwarta na sklepy, aplikacje i BI.

Gotowa warstwa integracyjna, która daje systemom zewnętrznym bezpieczny dostęp do danych ERP — od kartotek i dokumentów, przez rozrachunki i rejestry VAT, po księgowość i kadry. Bez modyfikacji Comarch Optima.

129operacji REST
28grup zasobów
52zakresy uprawnień (scope)
OAuth2.0 · client credentials
JSONżądania i odpowiedzi
.NET 8usługa Windows w Twojej sieci
01ZastosowaniaCo zbudujesz

Koniec z przepisywaniem danych między systemami.

API otwiera Optimę na dowolne integracje — bez eksportów plików i bez ingerencji w kod Comarch.

01

Sklep internetowy

Synchronizuj produkty, stany magazynowe i ceny z WooCommerce, Shoperem, PrestaShopem lub własną platformą. Zamówienia wracają do Optimy jako dokumenty.

02

Aplikacja mobilna

Handlowiec w terenie widzi kartoteki klientów, stany i należności oraz wystawia dokumenty — z telefonu lub tabletu.

03

Business Intelligence

Zasilaj Power BI, Tableau lub własne raporty danymi sprzedaży, rozrachunków, obrotów i sald — prosto z ERP.

04

Magazyn i WMS

Zewnętrzny system magazynowy przyjmuje dostawy, wystawia WZ i PZ, generuje z nich faktury i śledzi stany przez API.

05

Finanse i księgowość

Zapisy kasowo-bankowe, rozliczenia należności, rejestry VAT, plan kont, dekrety i obroty — zautomatyzuj cykl należności i zobowiązań.

06

Portal B2B i kadry

Udostępnij kontrahentom zamówienia, faktury i salda, a działowi HR — kartoteki, dodatki, plan i czas pracy.

02MożliwościNajważniejsze funkcje

Więcej niż odczyt kartotek.

API obsługuje pełny obieg dokumentów i operacje, które w Optimie robi się ręcznie — z tą samą walidacją, bo zapisy idą przez COM Optimy.

DOK

Obieg dokumentów

Tworzenie i edycja dokumentów (FS, FZ, WZ, PZ, RO, ZD, MM i inne), zatwierdzanie z bufora, anulowanie, generowanie FS z WZ, FZ z PZ i odwrotnie, przekształcanie rezerwacji odbiorcy (RO) w FS, PA, WZ, RW, ZD lub pro formę, dokumenty powiązane.

FK

Księgowość

Plan kont, obroty i salda, dekrety z elementami Wn/Ma, dzienniki cząstkowe i okresy obrachunkowe — do raportów i uzgodnień.

VAT

Rejestry VAT

Dodawanie, edycja i usuwanie dokumentów w rejestrach zakupu i sprzedaży, także walutowych i z numerem KSeF.

KP

Kadry i płace

Kartoteki pracowników, etaty, dodatki płacowe, plan i czas pracy oraz limity urlopowe; wydziały, centra kosztów i projekty.

JOB

Zadania wsadowe

Setki dokumentów, kontrahentów, wpisów VAT lub pracowników w jednym zleceniu: 202 Accepted, a stan każdej pozycji odczytasz po jobId.

GUS

Rejestry publiczne i wiele firm

Dane z GUS REGON, Biała lista VAT i VIES. Obsługa wielu baz: klienta API można przypisać do firmy albo przełączać kontekst.

03Mapa API129 operacji · 28 grup

Wszystkie zasoby w jednym miejscu.

Zestawienie wygenerowane z kodu źródłowego API. Szczegóły parametrów, pól i odpowiedzi znajdziesz w interaktywnej dokumentacji.

GET 60 · POST 31 · PUT 19 · DEL 19

Handel i magazyn

57 operacji
ZasóbŚcieżkaOpisMetody
Dokumenty HaMag16 operacji/dokumentyDokumenty handlowo-magazynowe: tworzenie, edycja, zatwierdzanie z bufora, anulowanie, generowanie FS/FZ/WZ/PZ, przekształcanie rezerwacji odbiorcy (RO), płatności i rozliczenia.GETPOSTPUTDEL
Towary15 operacji/towaryKartoteka towarów i usług: ceny, kody EAN, atrybuty i przypisanie do grup.GETPOSTPUTDEL
Grupy towarowe5 operacji/grupy-towaroweWielopoziomowa hierarchia grup towarowych — odczyt i zarządzanie.GETPOSTPUTDEL
Atrybuty9 operacji/atrybutyDefinicje atrybutów i ich wartości dla towarów, kontrahentów i dokumentów (również wsadowo).GETPOSTPUTDEL
Magazyny4 operacje/magazynyMagazyny — odczyt, dodawanie, edycja i usuwanie.GETPOSTPUTDEL
Stany magazynowe2 operacje/stany-magazynoweStany ilościowe towarów w magazynach.GET
Cennik1 operacja/cennikCennik zbiorczy: towary ze wszystkimi cenami.GET
Definicje cen4 operacje/defcenyDefinicje cen (Cena1…CenaN) — odczyt i zarządzanie.GETPOSTPUTDEL
Raporty1 operacja/raporty/sprzedazRaport sprzedaży z agregacją wartości dokumentów.GET

Kontrahenci

14 operacji
ZasóbŚcieżkaOpisMetody
Kontrahenci14 operacji/kontrahenciKartoteka kontrahentów, grupy, rozrachunki, zapisy kasowo-bankowe i rachunki bankowe.GETPOSTPUTDEL

Finanse

19 operacji
ZasóbŚcieżkaOpisMetody
Kasa i bank6 operacji/kasa-bankRejestry i raporty kasowo-bankowe oraz zapisy KP/KW.GETPOSTPUTDEL
Rozliczenia2 operacje/rozliczeniaZdarzenia płatnicze (należności i zobowiązania) oraz rozliczanie zapisów kasowo-bankowych.GETPOST
Rejestry VAT6 operacji/rejestry-vatRejestry VAT zakupu i sprzedaży: wyszukiwanie, dodawanie, edycja i usuwanie dokumentów — także walutowych i z numerem KSeF.GETPOSTPUTDEL
Kategorie3 operacje/kategorieKategorie kosztów i przychodów (ogólne i szczegółowe).GETPOSTPUT
Słowniki2 operacje/formy-platnosci/walutyWaluty z bieżącymi kursami i formy płatności.GET

Księgowość

7 operacji
ZasóbŚcieżkaOpisMetody
Konta2 operacje/kontaPlan kont oraz obroty i salda.GET
Dekrety3 operacje/dekretyDekrety księgowe i ich elementy (Wn/Ma).GET
Dzienniki1 operacja/dziennikiDzienniki cząstkowe okresu obrachunkowego.GET
Okresy obrachunkowe1 operacja/okresy-obrachunkoweOkresy obrachunkowe firmy.GET

Kadry i płace

16 operacji
ZasóbŚcieżkaOpisMetody
Pracownicy13 operacji/pracownicyKartoteki pracowników, etaty, dodatki płacowe, plan i czas pracy, limity urlopowe.GETPOSTPUTDEL
Wydziały1 operacja/wydzialyDrzewo wydziałów (działów) firmy.GET
Centra1 operacja/centraDrzewo centrów kosztów.GET
Projekty1 operacja/projektyDrzewo aktywnych projektów.GET

Dane zewnętrzne

4 operacje
ZasóbŚcieżkaOpisMetody
GUS / MF4 operacje/gusDane firm z GUS REGON, Biała lista podatników VAT (MF) i walidacja numerów VAT w VIES.GETPUT

Autoryzacja i administracja

12 operacji
ZasóbŚcieżkaOpisMetody
OAuth2 — autoryzacja1 operacja/oauth/tokenToken dostępu Bearer (OAuth 2.0, grant client_credentials). Klientów API zakładasz w panelu administracyjnym instancji.POST
Bazy1 operacja/bazyLista aktywnych baz firmowych.GET
Kontekst firmy3 operacje/context/firmaPrzełączanie firmy (bazy), w której kontekście działają kolejne żądania.GETPOSTDEL
Batch — zadania7 operacji/api/jobsAsynchroniczne zadania wsadowe (dokumenty, kontrahenci, rejestry VAT, pracownicy) ze śledzeniem postępu.GETPOST
04BezpieczeństwoKontrola dostępu

Dane ERP są krytyczne. Tak je traktujemy.

Każda warstwa ma własną kontrolę dostępu, a każde żądanie zostawia ślad.

  1. 01

    OAuth 2.0 client credentials

    Każdy system dostaje własny client_id i client_secret. Token Bearer jest ważny godzinę i sprawdzany przy każdym żądaniu.

  2. 02

    Zakresy per zasób

    52 zakresy w postaci zasób.read, zasób.write i zasób.read.write — sklep może czytać towary i ceny, nie mając prawa do zapisu dokumentów.

  3. 03

    Lista dozwolonych adresów IP

    Klient API może mieć przypisane adresy IP. Żądania z innych adresów są odrzucane, zanim dotrą do logiki biznesowej.

  4. 04

    Przypisanie do firmy

    Klienta można związać z konkretną bazą — wszystkie jego żądania działają wtedy tylko w kontekście tej firmy.

  5. 05

    Zapisy przez COM Optimy i log żądań

    Dokumenty przechodzą walidację Optimy, tak jak przy ręcznej pracy. Każde żądanie jest rejestrowane: klient, endpoint, metoda, status i czas odpowiedzi.

05Przykładycurl · dowolny język

Integracja w kilku żądaniach.

API mówi zwykłym JSON-em przez HTTP, więc zadziała z każdym językiem i platformą: PHP, C#, Pythonem, Node.js czy Power Query.

POST /oauth/token → GET /towarycurl
# 1. token dostępu (ważny 3600 s)
curl -X POST https://api.firma.pl/oauth/token \
  -H "Content-Type: application/json" \
  -d '{"grant_type":"client_credentials",
       "client_id":"3f9c2a7be41d8a05",
       "client_secret":"••••••••",
       "scope":"towary.read cennik.read"}'

# 2. towary z grupy, strona 1
curl "https://api.firma.pl/towary?kodGrupy=KARTONY" \
  -H "Authorization: Bearer q8ZxV3…"

# 200 OK
{ "dane": [ { "Twr_Kod": "KART-40",
             "Twr_Nazwa": "Karton 40×30×30",
             "Twr_EAN": "5901234123457" } ],
  "strona": 1, "lacznie": 1247, "stron": 25 }
Rys. 1Standardowy przepływ OAuth 2.0: token, a potem dowolny endpoint. Adres i dane są przykładowe — API działa na serwerze w Twojej sieci.
POST /dokumentyfaktura sprzedaży
curl -X POST https://api.firma.pl/dokumenty \
  -H "Authorization: Bearer q8ZxV3…" \
  -H "Content-Type: application/json" \
  -d '{
    "typ": "FS",
    "kontrahentKod": "HURT-KRK",
    "magazynSymbol": "MAG",
    "formaPlatnosci": "przelew",
    "termin": "2026-10-09",
    "pozycje": [
      { "towarKod": "KART-40", "ilosc": 120,
        "cenaJednostkowa": 3.85, "stawkaVat": 23 }
    ]
  }'

# 200 OK
{ "success": true, "id": 4521,
  "numerPelny": "FS/41/2026" }
Rys. 2Dokument powstaje przez COM Optimy, z pełną walidacją. Z "bufor": true trafi do bufora, a zatwierdzisz go przez POST /dokumenty/{id}/zatwierdz.
POST /api/jobs/dokumenty → GET /api/jobs/{jobId}batch
# zlecenie paczki dokumentów
curl -X POST https://api.firma.pl/api/jobs/dokumenty \
  -H "Authorization: Bearer q8ZxV3…" \
  -H "Content-Type: application/json" \
  -d @zamowienia-z-dnia.json

# 202 Accepted
{ "jobId": "7c1e…", "dokumentow": 240 }

# stan zadania i każdej pozycji
curl https://api.firma.pl/api/jobs/7c1e… \
  -H "Authorization: Bearer q8ZxV3…"
Rys. 3Duże paczki nie blokują integracji: API od razu zwraca jobId, a pozycje przetwarza w tle. Każda pozycja ma własny wynik — numer dokumentu albo komunikat błędu.
POST /dokumenty/ro/przeksztalcRO → WZ
# dwie rezerwacje odbiorcy → jedno wydanie zewnętrzne (typy docelowe: FS, PA, WZ, RW, ZD, FPF)
curl -X POST https://api.firma.pl/dokumenty/ro/przeksztalc   -H "Authorization: Bearer q8ZxV3…"   -H "Content-Type: application/json"   -d '{ "typDocelowy": "WZ", "numeryPelne": ["RO/12/2026", "RO/13/2026"] }'

# 200 OK
{ "success": true, "typDocelowy": "WZ",
  "dokumenty": [ { "id": 4533, "numerDokumentu": "WZ/88/2026", "typDokumentu": "WZ" } ] }
Rys. 4Odpowiednik „generuj dokument” z rezerwacji w Optimie. Kilka RO z tego samego magazynu łączy się w jeden dokument; pozostałe warunki (ten sam kontrahent, dostępność towaru) sprawdza Optima i zwraca jako błąd.
06Jak zacząć4 kroki

Instalujemy u Ciebie, obok Optimy.

API działa na Twoim serwerze, w tej samej sieci co Comarch ERP Optima. Konfiguracja odbywa się w panelu webowym, bez zmian w Optimie.

  1. Instalacja

    Instalujemy API jako usługę Windows na serwerze z Optimą. Wymagany jest .NET 8 Runtime — całość trwa kilkanaście minut.

  2. Połączenie z Optimą

    W panelu administracyjnym podajesz dane serwera SQL z bazą Optimy oraz operatora, na którym API będzie wykonywać operacje.

  3. Klient API

    Tworzysz klienta OAuth 2.0: nazwa, zakresy, opcjonalnie dozwolone adresy IP i przypisana firma. Otrzymujesz client_id i client_secret.

  4. Pierwsze żądanie

    Pobierasz token i wywołujesz dowolny endpoint. Dokumentacja jest dostępna na każdej instancji pod /swagger i /docs.

07KontaktZapytaj o API

Gotowy na integrację z Optimą?

Omówimy wymagania integracyjne Twojej firmy i zaproponujemy rozwiązanie dopasowane do Twojego środowiska.

Kontakt
Jacek Mosior
Adres
ul. Warszawska 184H/1, 32‑086 Węgrzce
Obszar
Klienci z całej Polski
Godziny
Pn–Pt, 8:00⁠–⁠17:00