Prosta biblioteka służąca do komunikacji z serwerem bazodanowym przygotowanym do obsługi pobierania i wystawiania obiektów biznesowych.
UWAGI do dokumentacji!
- w dokumentacji założono dołączenie przestrzenie nazw NSAPI
- znak * w tabeli parametrów oznacza wymagalność danego parametru
| Nazwa | Typ | Opis |
|---|---|---|
| API.Query | metoda | Służy do połączenia z serwerem danych i pobrania danych lub wykonania operacji na danych |
| API.RawResponse | string | Przechowuje dane w postaci sformatowanego obiektu JSON jakie zostały zwrócone przez metodę Query |
| API.LogChanged | zdarzenie | Uruchamiane podczas wystąpienia operacji związanych z wysyłaniem/pobieraniem danych z serwera |
| Nazwa parametru | Typ danych | Opis |
|---|---|---|
| Data | dynamic | Dane zwracane przez funkcję API, różne w zależności od wykonywanej funkcji |
| Info | string | Informacja na temat wykonania danej funkcji |
| Status | enum | SUCCESS - w przypadku sukcesu ERROR - w przypadku występienia błędu, dodatkowa informacja o błędzie przechowywana jest w zmiennej Info |
Aktualnie dostępne są obiekty typu CONFIG, USER, MESSAGE
Wszystkie wymienione powyżej obiekty obługiwane są w ten sam sposób i posiadają funkcje:
- get - Pobieranie danych wg wskazanego parametru id
- put - Dodawanie danych (gdy parametr id nie istnieje lub nie ma takiego w bazie) / aktualizowanie danych (gdy istnieje rekord o wskazanym parametrze id)
- del - Usuwanie danych wg wskazanego parametru id
- filter - Filtrowanie danych wg wskazanych parametrów
Wywałanie funkcji dla danego obiektu polega na wpisaniu jego nazwy a następnie po kropce funkcji, która ma zostać wykonana. W przypadku podania nieobsługiwanego obiektu lub funkcji zostanie zwrócony stosowny komunikat.
W celu uzyskania dostępu to API, przed jakąkolwiek pracą należy użyć funkcji autoryzującej np:
Params p = new Params {
{ "code", "N-SOFT" },
{ "key", "{D0950D32-0AAF-46BD-9AC2-93AF7290E6F6}" }
};
dynamic d = API.Query("API.auth", p);
Przykład wywołania innych funkcji np:
dynamic d = API.Query("API.version");dynamic d = API.Query("USER.del", new Params { {"id", 9} } );-
OBJECT.put
Dodaje nowy lub edytuje istniejący obiekt o ścisle określonych parametrach. Parametry dla każdego obiektu są szczegółowo opisane w niniejszej dokumentacji w sekcji Obiekty i funkcje. Warunkiem edycji jest podanie parametru o nazwie id
-
OBJECT.del
Usuwa istniejący obiekt o ścisle określonym parametrze o nazwie id.
-
OBJECT.get
Zwraca istniejący obiekt o ścisle określonym parametrze o nazwie id.
-
OBJECT.filter
Pobieranie danych z nałożonym filtrowaniem, sortowaniem i limitowaniem.
Ogólnie zasady są takie same jak w MySQLObiekt oczekiwany:
Nazwa parametru Typ danych Opis where Params Parametry wyszukiwania, gdzie
Name = "nazwa parametru"
Value = "operator wartość"
np: { "id", "> 3" }limit int Ile rekodrów ma zwracać (domyslnie 1000)
np: 10offset int Od którego ma zacząć zwracać (domyślnie 0)
np: 0order string[] Lista parametrów w kolejności sortowania łącznie z kierunkiem sortowania
np: ["id ASC", "firstname DESC"]
-
Przykład użycia funkcji API.version (bez parametrów)
dynamic d = API.Query("API.version");
Zwrócona zawartość
{ "Data": "", "Info": "NS API v. 1.0.0", "Status": "OK" }
-
Przykład użycia funkcji USER.login (z parametrami)
Params p = new Params { { "username", "jan" }, { "password", "pass1234" } }; dynamic d = API.Query("USER.login", p);
Zwrócona zawartość
{ "Data": [{ "Id": "2", "Username": "jan", "Password": "pass1234" }], "Info": "", "Status": "SUCCESS" }
-
Obiekt API
API.version
Zwraca informacje o aktualnie używanej wersji API
API.auth
Uzyskuje dostęp do API
Obiekt oczekiwany:
Nazwa parametru Typ danych Opis code string Kod użytkownika przyznany w trakcie udzialania licencji dostępowej key string Klucz przyznany w trakcie udzialania licencji dostępowej
-
Obiekt CARDS
Nazwa parametru Typ danych Opis id int Identyfikator karty userid int Identyfikator użytkownika no string Numer karty kredytowej expirationdate datetime Data i czas wygaśnięcia w formacie: RRRR-MM-DD GG:MM:SS type tinyint Typ karty
0 - BLIK
1 - JUNIOR
2 - VISA
3 - MASTERCARDstatus tinyint Status karty pin int Pin do karty bankno string Numer konta bankowego ballance double Saldo karty
-
Obiekt CREDIT
Nazwa parametru Typ danych Opis id int Identyfikator type int Rodzaj kredytu startdate string Data i czas uruchomienia w formacie: RRRR-MM-DD GG:MM:SS expirationdate datetime Data i czas wygaśnięcia w formacie: RRRR-MM-DD GG:MM:SS userid1 int Identyfikator użytkownika 1 (relacja do obiektu USERS) userid2 int Identyfikator użytkownika 2 (relacja do obiektu USERS) ballance double Kwota kredytu secure string opis zabezpieczenia kredytu info string informacja na co zostatnie sfinansowany kredyt repayment double Kwota spłaty kredytu amount double Kwota w lokacie
-
Obiekt MESSAGE
Nazwa parametru Typ danych Opis id int Identyfikator użytkownika type string Rodzaj wiadomości text string Treść wiadomości subject string Temat rozmowy userid int Identyfikator użytkownika useridfriend int Identyfikator użytkownika friend status bool Status date string Data i czas wysłania informacji w formacie: RRRR-MM-DD GG:MM:SS expirationdate string Data i czas wygaśnięcia informacji w formacie: RRRR-MM-DD GG:MM:SS
-
Obiekt TRANSFER
Nazwa parametru Typ danych Opis id int Identyfikator transakcji type int Rodzaj przelewu date string Data i czas wysłania informacji w formacie: RRRR-MM-DD GG:MM:SS outid int Id użytkownika wysyłającego przelew inid int Id użytkownika otrzymującego przelew description string Temat rozmowy amount double Kwota przelewu
-
Obiekt USER
Nazwa parametru Typ danych Opis id int Identyfikator użytkownika type int Typ użytkownika
0 - USER
1 - EMPLOYEE (wartość domyślna)
2 - SUPER ADMINusername string Nazwa użytkownika password string Hasło użytkownika firstname string Imię lastname string Nazwisko email string Adres e-mail pesel string Pesel pin string Pin phone string Telefon street string Ulica city string Miejscowość postcode string Kod pocztowy status tinyint Status konta użytkownika
0 - Aktywne
1 - Nieaktywne (wartość domyślna)ballance double Saldo konta valute int Waluta -
USER.login
weryfikacja danych logowania
Obiekt oczekiwany:
Nazwa parametru Typ danych Opis username * string Nazwa użytkownika password * string Hasło użytkownika
-