Opis mechanizmu
Endpoint służy do analizy zapytań SQL zaszytych w pliku szablonu (.sp) i wyciągania z nich nazw wszystkich tabel bazodanowych, które biorą udział w generowaniu raportu. System skanuje zarówno raport główny, jak i wszystkie podraporty (subreports).
Jest to kluczowy krok diagnostyczny i walidacyjny. Pozwala programiście upewnić się, czy usługa sPrint API ma dostęp do wszystkich wymaganych tabel systemu ERP oraz czy struktura zapytania nie odwołuje się do nieistniejących obiektów bazodanowych przed faktycznym uruchomieniem procesu wydruku.
- Wersja:
v0 - Metoda HTTP:
POST - Format danych:
application/json
Struktura żądania (Request Body)
{
"operationId": "string",
"data": {
"server": "string",
"key": "string",
"port": 0,
"type": "string",
"sqlLogin": "string",
"sqlPassword": "string"
},
"report": {
"dataFormat": "string",
"path": "string"
}
}
- operationId (string): Wymagany. Unikalny identyfikator biznesowy operacji (np. GUID lub unikalny ciąg tekstowy), generowany przez system integrujący. Służy do śledzenia cyklu życia żądania.
data (object): sekcja odpowiedzialna za autoryzację żądania w menedżerze kluczy sPrint oraz definicję parametrów bramki dostępowej.
- server (string): Wymagany. Adres sieciowy IP lub nazwa domenowa serwera, na którym uruchomiona jest instancja menedżera licencji sPrint.
- key (string): Wymagany. Klucz licencyjny przypisany do danej instalacji lub partnera integracji, warunkujący dostęp do zasobów silnika renderującego.
- port (integer): Wymagany. Port sieciowy, na którym nasłuchuje usługa uwierzytelniająca (wartość liczbowa, np. 5150).
- type (string): Wymagany. Typ komunikacji i autoryzacji z menedżerem kluczy (np. wartość WebApi).
- sqlLogin (string): Opcjonalny. Login autoryzacyjny użytkownika używany w przypadku specyficznych połączeń bazodanowych przechodzących przez bramkę.
- sqlPassword (string): Opcjonalny. Hasło autoryzacyjne przypisane do konta zdefiniowanego w polu sqlLogin.
report (object): Sekcja definiująca format oraz fizyczną lokalizację wejściowego pliku szablonu z rozszerzeniem .sp, który ma zostać poddany analizie strukturalnej.
- dataFormat (string): Wymagany. Określa format, w jakim dostarczany jest plik szablonu do silnika sPrint. Przyjmuje wartości słownikowe, takie jak Bytes (dla strumienia zakodowanego w Base64) lub Path (dla fizycznej ścieżki dyskowej).
- source (string): Warunkowy. Zawiera pełny plik szablonu .sp przekonwertowany do surowego ciągu tekstowego Base64. Pole jest wymagane, jeżeli w parametrze dataFormat wybrano tryb Bytes.
- path (string): Warunkowy. Pełna ścieżka dostępu do pliku szablonu na dysku serwera (np. lokalna lub sieciowa ścieżka UNC). Pole jest wymagane, jeżeli w parametrze dataFormat wybrano tryb Path.
- url (string): Warunkowy. Zewnętrzny adres URL, pod którym silnik sPrint API może bezpośrednio pobrać plik szablonu. Używany w architekturach rozproszonych.
Kody odpowiedzi (Responses)
? HTTP 200 OK
- Format odpowiedzi
{
"reports": [
{
"reportId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string",
"tableNames": [
"string"
]
}
]
}
reports (array): Lista wszystkich sekcji oraz podraportów wykrytych w analizowanym pliku makiety.
-
reportId (string): Unikalny identyfikator GUID konkretnej sekcji lub podraportu, zdefiniowany w strukturze makiety sPrint.
-
name (string): Nazwa własna danej sekcji nadana przez projektanta w Edytorze sPrint.
-
tableNames (array of strings): Lista nazw tabel fizycznych (np. z bazy MS SQL), które zostały wykryte przez parser wewnątrz zapytania SQL skojarzonego z tą sekcją.
? HTTP 401 Unauthorized
Brak autoryzacji. Przekazany klucz licencyjny Comarch jest nieprawidłowy, nieaktywny lub wygasł.
Format odpowiedzi: application/json (string)
? HTTP 422 Unprocessable Content
Błąd biznesowy przetwarzania makiety (np. błąd ładowania pliku, niepoprawna ścieżka lub uszkodzona struktura pliku).
Format odpowiedzi:application/json (string)
Przykład wywołania:
Żądanie:
{
"operationId": "info-tables-test-guid-2026",
"data": {
"server": "jelcz",
"port": 5150,
"key": "5000311484",
"type": "WebApi"
},
"report": {
"dataFormat": "Path",
"path": "C:\\sPrintSzablony\\szablon.sp"
}
}
Odpowiedź:
{
"reports": [
{
"reportId": "bf1fca04-e53e-4000-88d9-108f51e1596a",
"name": "glowny_szablon",
"tableNames": [
"tranag"
]
},
{
"reportId": "862f5203-159f-4fff-99f1-eeaf9dbdcc96",
"name": "podszablon",
"tableNames": [
"traelem"
]
}
]
}