Public API

Public API służy do integracyjnego wykonywania operacji w Systemie przez uprawnionych Operatorów.

W celu uruchomienia usługi oraz udzielenia należy skontaktować się z Menadżerem Projektu po stronie Asseco BS.

Po uruchomieniu usługi i przydzielenia dostępu do funkcjonalności dla wybranych Operatorów należy wygenerować dla nich klucz dostępu.

Klucz dostępu można wygenerować w szczegółach danego Operatora w Panelu Administracyjnym Administracja  Konfiguracja  Operatorzy w zakładce Ustawienia ogólne w sekcji Dostęp API. Jeśli usługa jest dostępna po kliknięciu opcji Wygeneruj klucz, wyświetlone zostanie okno z wygenerowanym ID klienta oraz Kluczem API. Klucz ten należy skopiować, ponieważ po zamknięciu okna nie będzie on nigdzie prezentowany. ID klienta będzie natomiast widoczne w tej sekcji.

image1
Rysunek 1. Opcja wygenerowania klucza dostępu do API w szczegółach Operatora w Panelu Administracyjnym - przykład

Dane te są konieczne do uwierzytelnienia i umożliwienia korzystania z Public API. W tym celu uzyskać należy token dostępu (access token), wysłanie odpowiedniego zapytania POST do endpointu autoryzacji https://auth.assecobs.com/oauth2.0/accessToken przy użyciu protokołu OAuth 2.0. W odpowiedzi przesłany zostanie token o ograniczonym czasie ważności(expires_in w sekundach), który używany będzie do autoryzacji kolejnych zapytań. Każde zapytanie do endpointów powinno zawierać nagłówek: Authorization: Bearer <access_token>.

Przy korzystaniu z większości nowoczesnych bibliotek HTTP oraz narzędzi integracyjnych wspierających automatyczną obsługę OAuth 2.0 nie ma konieczności ręcznego pozyskiwania tokenu za pomocą zapytania POST oraz zarządzania jego wygaśnięciem. Narzędzia takie pozwalają na automatyczne pozyskiwanie tokenu zarówno przy pierwszym zapytaniu, jak i jego odświeżenie po wygaśnięciu oraz dołączają do kolejnych zapytań poprawny nagłówek Authorization.

Przykładowe biblioteki i narzędzia wspierające ten mechanizm:

  • Java: Spring Security OAuth2 (WebClient z ReactiveOAuth2AuthorizedClientManager)

  • Python: requests-oauthlib, Authlib

  • .NET: HttpClientFactory z OAuthMessageHandler

  • Node.js: axios-oauth-client, simple-oauth2

  • Narzędzia typu low-code/no-code do automatyzacji procesów, takie jak N8N, make.com, czy Zapier.

Szczegółowa dokumentacja Public API