https://github.com/wtx-labs/symfonia-erp-webapi-client-java
Klient WebAPI systemu Symfonia ERP umożliwia szybką i łatwą integrację z aplikacjami wykorzystującymi język Java.
https://github.com/wtx-labs/symfonia-erp-webapi-client-java
api api-client api-clients erp integration rest rest-api symfonia symfonia-erp symfonia-handel symfonia-webapi system-integration webapi
Last synced: 12 months ago
JSON representation
Klient WebAPI systemu Symfonia ERP umożliwia szybką i łatwą integrację z aplikacjami wykorzystującymi język Java.
- Host: GitHub
- URL: https://github.com/wtx-labs/symfonia-erp-webapi-client-java
- Owner: wtx-labs
- License: mit
- Created: 2025-06-10T10:55:42.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-23T09:32:40.000Z (about 1 year ago)
- Last Synced: 2025-06-23T10:32:20.529Z (about 1 year ago)
- Topics: api, api-client, api-clients, erp, integration, rest, rest-api, symfonia, symfonia-erp, symfonia-handel, symfonia-webapi, system-integration, webapi
- Language: Java
- Homepage:
- Size: 229 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Klient Symfonia ERP WebAPI dla aplikacji Java
### Symfonia ERP WebAPI client for Java
***
[](https://opensource.org/licenses/MIT)
[](https://www.java.com)
Lekka biblioteka kliencka w języku Java do integracji z Symfonia WebAPI. Stworzona dla programistów Java, którzy potrzebują zintegrować swoje aplikacje z API systemu Symfonia ERP. 🚀
Ten klient API zapewnia interfejsy Java dla Symfonia WebAPI, umożliwiając płynne zarządzanie:
- Towarami i stanami magazynowymi
- Kontrahentami i zamówieniami
- Dokumentami sprzedaży
- Operacjami systemowymi poprzez API
## ✨ Dlaczego warto wybrać tego klienta?
- 💡 **Typowane interfejsy Java** – w pełni typowane interfejsy dla endpointów Symfonia WebAPI
- 🛡️ **Uwierzytelnianie sesyjne** – bezpieczny dostęp do API Symfonii
- 📚 **Przejrzysta dokumentacja** – kompleksowe przykłady integracji w Javie
- 🚀 **Nowoczesne wsparcie Java** – kompatybilność z Java 17 i nowszymi wersjami
## 🎯 Zaimplementowane funkcje
- ✅ API systemowe
- Endpoint ping do sprawdzenia statusu systemu
- Informacje o modułach
- Aktywne instancje HMF
- ✅ API sesji
- Otwieranie nowej sesji
- Pobieranie informacji o sesji
- ✅ API kontrahentów
- Lista/wyszukiwanie kontrahentów
- Pobieranie szczegółów kontrahenta po ID, kodzie lub NIP
- ✅ API towarów
- Lista/wyszukiwanie towarów
- Pobieranie szczegółów towaru po ID lub kodzie kreskowym
- Filtrowanie towarów przy użyciu kryteriów SQL
- Pobieranie wymiarów towaru
- ✅ API cen towarów
- Pobieranie cen zamówień
- Obliczanie cen na podstawie kryteriów
- ✅ API stanów magazynowych
- Pobieranie wszystkich stanów magazynowych
- Pobieranie stanów magazynowych dla towaru
- ✅ API zamówień
- Pobieranie szczegółów zamówienia
- Pobieranie faktur dla zamówienia
- ✅ API wystawiania zamówień
- Tworzenie nowych zamówień
- ✅ API sprzedaży
- Pobieranie dokumentów sprzedaży
- Filtrowanie sprzedaży według zakresu dat i nabywcy
## 🚨 Status projektu
> ⚠️ **Uwaga: To jest wczesna wersja rozwojowa!**
>
> Aktywnie implementujemy kolejne funkcje Symfonia ERP WebAPI.
> Zapraszamy do współpracy i zgłaszania uwag na GitHubie!
## 📦 Informacje o wersji
- **Aktualna wersja**: `0.1.0`
- **Wymagana wersja Java**: Java 17+
## 🔓 Licencja
**Licencja MIT**
Niniejszym udziela się zgody na bezpłatne korzystanie z tego oprogramowania i powiązanych plików dokumentacji ("Oprogramowanie"), do korzystania z Oprogramowania bez ograniczeń, w tym bez ograniczeń praw do używania, kopiowania, modyfikowania, łączenia, publikowania, dystrybuowania, sublicencjonowania i/lub sprzedaży kopii Oprogramowania.
Jedynym wymogiem jest zachowanie oryginalnych informacji o autorze w kodzie źródłowym i dokumentacji.
## 🚀 Szybki start
### 1️⃣ Instalacja
Sklonuj i zbuduj bibliotekę ze źródeł:
```sh
git clone https://github.com/wtx-labs/symfonia-erp-webapi-client-java.git
cd symfonia-erp-webapi-client-java
mvn clean install
```
Następnie dodaj zbudowany artefakt do swojego projektu:
```xml
pl.wtx.symfonia
symfonia-erp-webapi-client
0.1.0
```
### 2️⃣ Przykład integracji w Javie
Oto jak używać klienta Symfonia ERP WebAPI:
```java
package pl.wtx.symfonia;
import pl.wtx.symfonia.api.client.SystemApi;
import pl.wtx.symfonia.api.client.invoker.ApiException;
import pl.wtx.symfonia.api.client.model.PingResponse;
public class SymfoniaWebApiClientUsageDemo {
// TODO: Set your Symfonia ERP WebAPI base path!
private static final String API_BASE_PATH = "http://127.0.0.1:9000/api";
public static void main(String[] args) {
System.out.println(">>> Start running the SymfoniaWebApiClientUsageDemo...");
// Use SymfoniaWebApiClient(true) if you need to log API communication messages.
SymfoniaWebApiClient apiClient = new SymfoniaWebApiClient();
apiClient.setBasePath(API_BASE_PATH);
// TODO: If you need to invoke an API that requires authorization, provide a valid session token as shown below:
// apiClient.addDefaultHeader("Authorization", "Session 2ab29954-ca2d-4c6b-873b-9b136e892d7d");
// The System API does not require authorization, so there is no need to provide a session token in the Authorization header.
SystemApi systemApi = new SystemApi(apiClient);
try {
PingResponse pingResponse = systemApi.pingSymfoniaApi();
System.out.println("Number of open sessions: " + pingResponse.getOpenSessionsNumber());
} catch (ApiException e) {
System.err.println("Error occurred during API call: " + e);
}
System.out.println("<<< The SymfoniaWebApiClientUsageDemo has been finished.");
}
}
```
## 📚 Dokumentacja API
Klient udostępnia następujące główne interfejsy API:
### API systemowe
- `pingSymfoniaApi()` - Sprawdzenie statusu systemu i pobranie informacji o modułach
### API sesji
- `openNewSession(deviceName)` - Otwarcie nowej sesji
- `getSessionInformation()` - Pobranie szczegółów bieżącej sesji
### API kontrahentów
- `getContractors(id, code, nip)` - Pobranie informacji o kontrahencie
### API towarów
- `getProducts(id, barcode)` - Pobranie informacji o towarze
- `getProductsByFilterSql(productCriteriaFilter)` - Filtrowanie towarów przy użyciu kryteriów SQL
- `getProductDimensions(productId)` - Pobranie wymiarów towaru
### API cen towarów
- `getOrderPrices(priceOrderCriteria)` - Obliczanie cen zamówień
### API stanów magazynowych
- `getInventoryStates()` - Pobranie wszystkich stanów magazynowych
- `getInventoryStatesByProduct(id, code)` - Pobranie stanów magazynowych dla towaru
### API zamówień
- `getOrder(number)` - Pobranie szczegółów zamówienia
- `getInvoicesForOrder(orderNumber)` - Pobranie faktur dla zamówienia
### API wystawiania zamówień
- `addNewOrdersIssue(orderIssue, issue)` - Utworzenie nowego zamówienia
### API sprzedaży
- `getSaleDocument(id, number)` - Pobranie dokumentu sprzedaży
- `getSalesByBuyerAndDateRange(buyerId, dateFrom, dateTo)` - Filtrowanie dokumentów sprzedaży
## 🤝 Współpraca
- ✨ Sprawdź nasze [GitHub Issues](https://github.com/wtx-labs/symfonia-erp-webapi-client-java/issues) po najnowsze aktualizacje
- 💡 Masz sugestie? Otwórz zgłoszenie lub dołącz do projektu
- 🌟 Oznacz to repozytorium gwiazdką, jeśli uważasz je za pomocne
## 📝 Licencja
Ten projekt jest udostępniany na licencji MIT - szczegóły znajdują się w pliku [LICENSE](LICENSE).