Comarch ERP Optima · REST API i webhooki
Konektor Comarch ERP Optima
Kontrahenci, salda, faktury i wydruki PDF z Optimy dostępne dla innych aplikacji przez zwykłe żądania HTTP
CRM, sklep internetowy czy aplikacja własna potrzebują danych z Optimy: czy klient ma zaległości, jaką fakturę dostał, czy ją opłacił. Zwykle kończy się to zapytaniami pisanymi prosto do bazy albo przepisywaniem danych ręcznie. Pierwsze wiąże system zewnętrzny ze strukturą bazy Optimy, drugie zajmuje czas i daje nieaktualne dane.
Konektor udostępnia dane z Optimy przez REST API i sam powiadamia system zewnętrzny o nowych i opłaconych fakturach.
2
zdarzenia webhook: nowa faktura i zmiana statusu
~60 s
cykl sprawdzania zmian w dokumentach
3
ponowienia wysyłki powiadomienia
0
usług pośredniczących, dane zostają na serwerze klienta
Dwa sposoby na dane z Optimy
Bez konektora
Zapytania SQL pisane bezpośrednio do bazy Optimy
Kontrahenci przepisywani ręcznie między systemami
System zewnętrzny sam musi sprawdzać, czy pojawiła się nowa faktura albo płatność
Wydruki faktur zapisywane i przesyłane osobno
Z konektorem
Standardowe REST API w formacie JSON, opisane w dokumentacji OpenAPI
Kontrahent zakładany w Optimie jednym żądaniem, powiązany z rekordem zewnętrznym przez UUID
Powiadomienie webhook o nowej fakturze i o zmianie jej statusu
Plik PDF faktury pobierany jednym żądaniem
Czym to jest
Zestaw narzędzi instalowany na serwerze klienta, przy jego bazie Optimy. Konektor nie jest przypisany do konkretnego programu. Odbiorcą danych może być CRM, sklep internetowy, aplikacja własna albo platforma automatyzacji. W skład rozwiązania wchodzi też generator wydruków PDF, który korzysta z mechanizmu wydruków Optimy.
Co udostępnia konektor
Kontrahenci
Pobieranie kontrahenta po NIP i zakładanie nowego na podstawie nazwy, NIP, adresu i UUID. Akronim tworzony jest automatycznie, NIP jest walidowany, a numer bez prefiksu kraju traktowany jako polski. Duplikaty kontrolowane są po NIP i po UUID.
Salda i rozrachunki
Bieżące saldo kontrahenta wyliczone z rozrachunków księgowych, w podziale na waluty: ile kontrahent jest winien firmie, ile firma jemu, ile zostało do rozliczenia i saldo końcowe.
Faktury sprzedaży
Pełne dane faktury z pozycjami, statusem rozrachowania i danymi KSeF: numer, status, data wysłania, data UPO, data przyjęcia i link weryfikacyjny. Lista ze stronicowaniem, sortowaniem i filtrem dat, wyszukiwanie po numerze faktury i po UUID kontrahenta.
Powiadomienia webhook
Zdarzenie „invoice.created” przy nowej fakturze i „invoice.changedStatus” przy zmianie statusu dokumentu lub rozrachunku, na przykład po płatności. Adres odbiorcy ustawiany osobno dla każdego zdarzenia.
Generator wydruków PDF
Wydruki faktur tworzone mechanizmem wydruków Optimy, z osobnym wzorcem dla faktury, korekty ilościowej i korekty wartościowej. Wydruki własne klienta podpina się w konfiguracji, bez zmian w kodzie.
Dokumentacja API
Interaktywna dokumentacja OpenAPI (Swagger) pod adresem /docs, z parametrami, przykładami i kodami odpowiedzi. Żądania można wykonywać z przeglądarki, a plik JSON zaimportować do Postmana. Do tego changelog zmian.
Wartość dodatnia salda oznacza zaległość kontrahenta, ujemna zobowiązanie firmy, na przykład nadpłatę. Sposób liczenia salda ustawia się w konfiguracji: konta księgowe brane pod uwagę, minimalną kwotę istotnego rozrachunku i walutę domyślną.
Wydruki zgodne z tym, co dostał klient
✓ Status KSeF: plik PDF powstaje dopiero po odebraniu UPO. Dla faktur sprzed wdrożenia KSeF można wskazać datę, od której warunek obowiązuje.
✓ Folder „Wysłane”: opcjonalnie generator przeszukuje skrzynkę przez IMAP i, jeśli znajdzie wysłany wcześniej załącznik, archiwizuje dokładnie ten dokument, który otrzymał kontrahent.
✓ Status każdego pliku kontrolowany po stronie API: wygenerowany, oczekujący albo zakończony błędem.
Logi i powiadomienia o błędach
✓ Każde żądanie zapisywane jest w bazie z metodą, adresem, statusem odpowiedzi, czasem wykonania, treścią żądania i odpowiedzi.
✓ Panel administracyjny pokazuje osobno logi zapytań i logi błędów.
✓ Nieudany webhook jest ponawiany trzy razy z rosnącym odstępem, a potem trafia do logu błędów i do powiadomienia e-mail.
✓ Błędy krytyczne zgłaszane są e-mailem, ten sam rodzaj błędu najwyżej raz na godzinę.
✓ Gdy zapis logu do bazy się nie uda, trafia do pliku i jest dopisywany do bazy przy najbliższej okazji.
Bezpieczeństwo
Każde żądanie autoryzowane jest kluczem w nagłówku X-API-KEY, a panel administracyjny chroniony logowaniem. Połączenie HTTPS konfigurowane jest przy wdrożeniu, na serwerze IIS albo serwerze pośredniczącym. Konektor łączy się bezpośrednio z bazą firmową klienta, więc dane nie przechodzą przez żadną zewnętrzną usługę.
Dla kogo
✓ Firm pracujących na Comarch ERP Optima, które chcą widzieć faktury i salda klientów w CRM.
✓ Sklepów internetowych i portali klienta, które udostępniają kupującym faktury w PDF.
✓ Zespołów budujących własne aplikacje, które potrzebują danych z Optimy bez pisania zapytań do jej bazy.
✓ Użytkowników platform automatyzacji, które reagują na webhooki o nowych i opłaconych fakturach.
Co ustawia się przy wdrożeniu
Parametry wdrożeniowe są w plikach konfiguracyjnych, bez ingerencji w kod:
✓ Połączenie z bazą danych, dane operatora i firmy w Optimie, typ dokumentu sprzedaży.
✓ Klucz API i adresy webhooków.
✓ Kod atrybutu z identyfikatorem kontrahenta, konta księgowe, próg kwoty i waluta domyślna dla salda.
✓ Katalog plików PDF, mapowanie wzorców wydruku, serwer SMTP i skrzynka IMAP.
Wymagania: Comarch ERP Optima, serwer klienta z dostępem do bazy firmowej Optimy, serwer IIS lub serwer pośredniczący do obsługi HTTPS. Opcjonalnie serwer SMTP do powiadomień o błędach i skrzynka IMAP do archiwizacji wysłanych faktur.