System¶
Definicja systemu jest podstawową częścią integracji i stanowi wejście dla reszty konfiguracji w pliku system.json:
Parametr | Opis | Wymagane | Uwagi |
---|---|---|---|
id | Unikalny identyfikator systemu | TAK | Maksymalnie 32 znaki A-Z, a-z, 0-9, -, _ |
name | Nazwa systemu wyświetlana w panelu integracji | TAK | Maksymalnie 255 znaków |
logo | Url do loga wyświetlanego w panelu integracji | NIE | Maksymalnie 255 znaków |
description | Opis systemu | NIE | |
version | Wersja konfiguracji integracji | TAK | Wersja w formacie Major.Minor.Patch lub Major.Minor |
authorization | Obiekt zawierający konfigurację autoryzacji integracji | TAK | Opis szczegółowy poniżej |
vars | Obiekt zawierający globalne wartości do użycia w konfiguracji | NIE | Mogą zostać nadpisane indywidualnie dla klienta w systemie. |
modules | Tablica zawierająca definicje modułów | TAK | Lista definicji modułów |
Przykład:
{
"id": "id_systemu",
"name": "Nazwa systemu",
"logo": "test.pl/logo.png",
"description": "Opis systemu",
"version": "1.0.0",
"authorization" : {"...": "..."},
"vars": {
"var1": "test val",
"var2": 1
},
"modules": []
}
Autoryzacja systemu - authorization¶
Konfiguracja określa kilka możliwości integracji i autoryzacji systemu zewnętrznego.
Parametr | Opis | Wymagane | Uwagi |
---|---|---|---|
type | Określenie typu | TAK | Typy opisane poniżej |
config | Dodatkowa konfiguracja dla typu autoryzacji | NIE | Zależnie od typu |
restrictions | Ustawienia ograniczeń dla integracji | NIE | Opisane poniżej |
{
"type": "authorization_type",
"config": {},
"restrictions": {}
}
Typy autoryzacji - type¶
- Brak - none
Przy typie none użytkownik nie może sam wykonać integracji systemu w jego koncie i musi być uruchomiona ręcznie przez administratora lub automatycznie przy włączeniu integracji. Pole config jest ignorowane.
- OAUTH 2 - oauth
Pozwala na autoryzację systemu SAREhub z integrowanym systemem którą może wykonać użytkownik systemu. Wykorzystuje protokół oauth2. Konfiguracja typu MUSI zawierać następujące parametry:
Parametr | Opis | Wymagane | Uwagi |
---|---|---|---|
clientId | Id określone w konfiguracji serwera OAUTH | TAK | Musi byc zgodne z serwerem OAUTH |
clientSecret | Secret określony w konfiguracji serwera OAUTH | TAK | Musi byc zgodne z serwerem OAUTH |
urlAuthorize | Url pod którym uruchamiana jest autoryzacja(panel logowania) | TAK | |
urlAccessToken | Url pod którym SAREhub może pobrać nowe tokeny | TAK | |
urlResourceOwnerDetails | Url pod którym SAREhub może pobrać dane konta z którym jest wykonywana integracja | TAK | |
provider | Określenie silnika integracji oauth | NIE | Domyślnie sarehub_generic lub nieokreślone, chyba, że wskazano inaczej |
Przykład:
{
"clientId": "idKlientaOauth",
"clientSecret": "secretKlientaOauth",
"urlAuthorize": "https://system.pl/oauth/authorize",
"urlAccessToken": "https://system.pl/oauth/token",
"urlResourceOwnerDetails": "https://system.pl/oauth/account"
}
Restrykcje dla integracji - restrictions¶
Pozwala na wskazanie ograniczeń dla danej integracji
Parametr | Opis | Wymagane | Uwagi |
---|---|---|---|
count | Ograniczenie liczby integracji jakie może wykonać użytkownik z integrowanym systemem | Nie |
Przykład:
{
"count": 1
}