Dokumentacja zaktualizowana · wrzesień 2026
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.
Koniec z przepisywaniem danych między systemami.
API otwiera Optimę na dowolne integracje — bez eksportów plików i bez ingerencji w kod Comarch.
Sklep internetowy
Synchronizuj produkty, stany magazynowe i ceny z WooCommerce, Shoperem, PrestaShopem lub własną platformą. Zamówienia wracają do Optimy jako dokumenty.
Aplikacja mobilna
Handlowiec w terenie widzi kartoteki klientów, stany i należności oraz wystawia dokumenty — z telefonu lub tabletu.
Business Intelligence
Zasilaj Power BI, Tableau lub własne raporty danymi sprzedaży, rozrachunków, obrotów i sald — prosto z ERP.
Magazyn i WMS
Zewnętrzny system magazynowy przyjmuje dostawy, wystawia WZ i PZ, generuje z nich faktury i śledzi stany przez API.
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ń.
Portal B2B i kadry
Udostępnij kontrahentom zamówienia, faktury i salda, a działowi HR — kartoteki, dodatki, plan i czas pracy.
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.
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.
Księgowość
Plan kont, obroty i salda, dekrety z elementami Wn/Ma, dzienniki cząstkowe i okresy obrachunkowe — do raportów i uzgodnień.
Rejestry VAT
Dodawanie, edycja i usuwanie dokumentów w rejestrach zakupu i sprzedaży, także walutowych i z numerem KSeF.
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.
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.
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.
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żka | Opis | Metody |
|---|---|---|---|
| Dokumenty HaMag16 operacji | /dokumenty | Dokumenty 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 | /towary | Kartoteka towarów i usług: ceny, kody EAN, atrybuty i przypisanie do grup. | GETPOSTPUTDEL |
| Grupy towarowe5 operacji | /grupy-towarowe | Wielopoziomowa hierarchia grup towarowych — odczyt i zarządzanie. | GETPOSTPUTDEL |
| Atrybuty9 operacji | /atrybuty | Definicje atrybutów i ich wartości dla towarów, kontrahentów i dokumentów (również wsadowo). | GETPOSTPUTDEL |
| Magazyny4 operacje | /magazyny | Magazyny — odczyt, dodawanie, edycja i usuwanie. | GETPOSTPUTDEL |
| Stany magazynowe2 operacje | /stany-magazynowe | Stany ilościowe towarów w magazynach. | GET |
| Cennik1 operacja | /cennik | Cennik zbiorczy: towary ze wszystkimi cenami. | GET |
| Definicje cen4 operacje | /defceny | Definicje cen (Cena1…CenaN) — odczyt i zarządzanie. | GETPOSTPUTDEL |
| Raporty1 operacja | /raporty/sprzedaz | Raport sprzedaży z agregacją wartości dokumentów. | GET |
Kontrahenci
14 operacji| Zasób | Ścieżka | Opis | Metody |
|---|---|---|---|
| Kontrahenci14 operacji | /kontrahenci | Kartoteka kontrahentów, grupy, rozrachunki, zapisy kasowo-bankowe i rachunki bankowe. | GETPOSTPUTDEL |
Finanse
19 operacji| Zasób | Ścieżka | Opis | Metody |
|---|---|---|---|
| Kasa i bank6 operacji | /kasa-bank | Rejestry i raporty kasowo-bankowe oraz zapisy KP/KW. | GETPOSTPUTDEL |
| Rozliczenia2 operacje | /rozliczenia | Zdarzenia płatnicze (należności i zobowiązania) oraz rozliczanie zapisów kasowo-bankowych. | GETPOST |
| Rejestry VAT6 operacji | /rejestry-vat | Rejestry VAT zakupu i sprzedaży: wyszukiwanie, dodawanie, edycja i usuwanie dokumentów — także walutowych i z numerem KSeF. | GETPOSTPUTDEL |
| Kategorie3 operacje | /kategorie | Kategorie kosztów i przychodów (ogólne i szczegółowe). | GETPOSTPUT |
| Słowniki2 operacje | /formy-platnosci/waluty | Waluty z bieżącymi kursami i formy płatności. | GET |
Księgowość
7 operacji| Zasób | Ścieżka | Opis | Metody |
|---|---|---|---|
| Konta2 operacje | /konta | Plan kont oraz obroty i salda. | GET |
| Dekrety3 operacje | /dekrety | Dekrety księgowe i ich elementy (Wn/Ma). | GET |
| Dzienniki1 operacja | /dzienniki | Dzienniki cząstkowe okresu obrachunkowego. | GET |
| Okresy obrachunkowe1 operacja | /okresy-obrachunkowe | Okresy obrachunkowe firmy. | GET |
Kadry i płace
16 operacji| Zasób | Ścieżka | Opis | Metody |
|---|---|---|---|
| Pracownicy13 operacji | /pracownicy | Kartoteki pracowników, etaty, dodatki płacowe, plan i czas pracy, limity urlopowe. | GETPOSTPUTDEL |
| Wydziały1 operacja | /wydzialy | Drzewo wydziałów (działów) firmy. | GET |
| Centra1 operacja | /centra | Drzewo centrów kosztów. | GET |
| Projekty1 operacja | /projekty | Drzewo aktywnych projektów. | GET |
Dane zewnętrzne
4 operacje| Zasób | Ścieżka | Opis | Metody |
|---|---|---|---|
| GUS / MF4 operacje | /gus | Dane 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żka | Opis | Metody |
|---|---|---|---|
| OAuth2 — autoryzacja1 operacja | /oauth/token | Token dostępu Bearer (OAuth 2.0, grant client_credentials). Klientów API zakładasz w panelu administracyjnym instancji. | POST |
| Bazy1 operacja | /bazy | Lista aktywnych baz firmowych. | GET |
| Kontekst firmy3 operacje | /context/firma | Przełączanie firmy (bazy), w której kontekście działają kolejne żądania. | GETPOSTDEL |
| Batch — zadania7 operacji | /api/jobs | Asynchroniczne zadania wsadowe (dokumenty, kontrahenci, rejestry VAT, pracownicy) ze śledzeniem postępu. | GETPOST |
Dane ERP są krytyczne. Tak je traktujemy.
Każda warstwa ma własną kontrolę dostępu, a każde żądanie zostawia ślad.
-
01
OAuth 2.0 client credentials
Każdy system dostaje własny
client_idiclient_secret. Token Bearer jest ważny godzinę i sprawdzany przy każdym żądaniu. -
02
Zakresy per zasób
52 zakresy w postaci
zasób.read,zasób.writeizasób.read.write— sklep może czytać towary i ceny, nie mając prawa do zapisu dokumentów. -
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.
-
04
Przypisanie do firmy
Klienta można związać z konkretną bazą — wszystkie jego żądania działają wtedy tylko w kontekście tej firmy.
-
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.
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.
# 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 }
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" }
"bufor": true trafi do bufora, a zatwierdzisz go przez POST /dokumenty/{id}/zatwierdz.# 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…"
jobId, a pozycje przetwarza w tle. Każda pozycja ma własny wynik — numer dokumentu albo komunikat błędu.# 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" } ] }
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.
-
Instalacja
Instalujemy API jako usługę Windows na serwerze z Optimą. Wymagany jest .NET 8 Runtime — całość trwa kilkanaście minut.
-
Połączenie z Optimą
W panelu administracyjnym podajesz dane serwera SQL z bazą Optimy oraz operatora, na którym API będzie wykonywać operacje.
-
Klient API
Tworzysz klienta OAuth 2.0: nazwa, zakresy, opcjonalnie dozwolone adresy IP i przypisana firma. Otrzymujesz
client_idiclient_secret. -
Pierwsze żądanie
Pobierasz token i wywołujesz dowolny endpoint. Dokumentacja jest dostępna na każdej instancji pod
/swaggeri/docs.
Gotowy na integrację z Optimą?
Omówimy wymagania integracyjne Twojej firmy i zaproponujemy rozwiązanie dopasowane do Twojego środowiska.
