Skip to content

mnatanek/NSAPI

NSAPI License: GPL v3 GitHub watchers

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

Dostępne metody, zdarzenia i właściwości

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

Opis obiektu zwracanego przez funkcje API

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

Dostępna funkcjonalność

Obsługa obiektów

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} } );

Uniwersalne funkcje obiektów

  • 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 MySQL

    Obiekt 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: 10
    offset int Od którego ma zacząć zwracać (domyślnie 0)
    np: 0
    order string[] Lista parametrów w kolejności sortowania łącznie z kierunkiem sortowania
    np: ["id ASC", "firstname DESC"]

Przykłady użycia

  • 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"
    }

Obiekty i funkcje

  • Obiekt API

    Dostępne funkcje:

    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

    Struktura

    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 - MASTERCARD
    status tinyint Status karty
    pin int Pin do karty
    bankno string Numer konta bankowego
    ballance double Saldo karty
  • Obiekt CONFIG

    Struktura

    Nazwa parametru Typ danych Opis
    id int Identyfikator
    type string Rodzaj informacji
    name string Nazwa ustawienia
    value string Wartość
  • Obiekt CREDIT

    Struktura

    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

    Struktura

    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

    Struktura

    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

    Struktura

    Nazwa parametru Typ danych Opis
    id int Identyfikator użytkownika
    type int Typ użytkownika
    0 - USER
    1 - EMPLOYEE (wartość domyślna)
    2 - SUPER ADMIN
    username 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

    Dostępne funkcje:

    • USER.login

      weryfikacja danych logowania

      Obiekt oczekiwany:

      Nazwa parametru Typ danych Opis
      username * string Nazwa użytkownika
      password * string Hasło użytkownika

About

Prosta biblioteka służąca do komunikacji z serwerem bazodanowym przygotowanym do obsługi pobierania i wystawiania obiektów biznesowych.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages