REST API

Ingenes Studio QMS udostępnia REST API umożliwiające integrację z aplikacjami zewnętrznymi, systemami ERP/MES oraz automatyzację procesów.

Autoryzacja

API używa autoryzacji Bearer Token (JWT):

Authorization: Bearer <token>

Uzyskanie tokenu

POST /api/auth/token
Content-Type: application/json

{
  "username": "api_user@firma.pl",
  "password": "hasło"
}

Odpowiedź:

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expiresIn": 3600,
  "tokenType": "Bearer"
}

Token jest ważny przez 1 godzinę. Po wygaśnięciu należy pobrać nowy.

Wskazówka: W środowisku produkcyjnym zalecamy tworzenie dedykowanego konta API z ograniczonymi uprawnieniami.

Wersjonowanie API

Aktualna wersja: v1

Wersja przekazywana w URL:

https://qms.firma.pl/api/v1/...

Główne zasoby

Reklamacje (RKL)

Pobierz listę reklamacji

GET /api/v1/reklamacje

Parametry query:

ParametrTypOpis
pageintNumer strony (domyślnie 1)
pageSizeintRozmiar strony (max 100)
statusstringFiltr statusu (Otwarta/Zamknięta)
oddateData od (YYYY-MM-DD)
dodateData do (YYYY-MM-DD)

Pobierz reklamację

GET /api/v1/reklamacje/{id}

Utwórz reklamację

POST /api/v1/reklamacje
Content-Type: application/json

{
  "klientId": "guid-klienta",
  "tytul": "Niezgodność wymiaru części X",
  "opis": "Część nie spełnia wymagań rysunku technicznego",
  "priorytet": "Wysoki",
  "numerPartii": "BATCH-2024-001"
}

Dokumenty (QMD)

GET /api/v1/dokumenty
GET /api/v1/dokumenty/{id}
GET /api/v1/dokumenty/{id}/plik        # Pobierz plik dokumentu
POST /api/v1/dokumenty
PUT /api/v1/dokumenty/{id}

Działania CAPA (KDK)

GET /api/v1/capa
GET /api/v1/capa/{id}
POST /api/v1/capa
PATCH /api/v1/capa/{id}/status

Audyty (AUD)

GET /api/v1/audyty
GET /api/v1/audyty/{id}
GET /api/v1/audyty/{id}/niezgodnosci
POST /api/v1/audyty

Format odpowiedzi

Wszystkie odpowiedzi zwracane są w formacie JSON.

Sukces (lista)

{
  "data": [...],
  "totalCount": 142,
  "page": 1,
  "pageSize": 20
}

Sukces (pojedynczy obiekt)

{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "sygnatura": "RKL/2024/0042",
  "tytul": "Niezgodność wymiaru",
  "status": "Otwarta",
  "dataUtworzenia": "2024-05-15T10:30:00Z"
}

Błąd

{
  "error": "NotFound",
  "message": "Reklamacja o podanym ID nie istnieje",
  "statusCode": 404
}

Kody HTTP

KodZnaczenie
200Sukces
201Zasób utworzony
400Błędne żądanie (walidacja)
401Brak autoryzacji
403Brak uprawnień
404Zasób nie znaleziony
429Zbyt wiele żądań (rate limiting)
500Błąd serwera

Rate Limiting

API jest ograniczone do 1000 żądań / godzinę per token. Nagłówki odpowiedzi:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1716811200

Webhooks

System obsługuje webhooks — powiadomienia HTTP wysyłane do Twojego systemu przy wystąpieniu zdarzeń:

  • Nowa reklamacja
  • Zmiana statusu CAPA
  • Niezgodność z audytu
  • Dokument zatwierdzony

Konfiguracja webhooków: Administracja → Integracje → Webhooks.

Swagger / OpenAPI

Interaktywna dokumentacja API dostępna pod adresem:

https://qms.firma.pl/api/swagger