Narzędzia użytkownika

Narzędzia witryny


api_http

To jest stara wersja strony!


API HTTP bazy

Baza udostępnia proste API HTTP umożliwiające:

  • wyszukiwanie szkół;
  • wyszukiwanie jednostek samorządu terytorialnego (JST);
  • wyszukiwanie wskaźników;
  • pobieranie danych EWD/PWE;
  • generowanie wykresów EWD/PWE w formatach SVG i PNG.

Wszystkie argumenty wywołania API przekazywane są przez adres zapytania HTTP GET.

Z wyjątkiem akcji generujących wykresy API zwraca kod JSON.
W zamieszczonych przykładach zwracany kod JSON będzie ładnie sformatowany, tak by widać było strukturę obiektów.
Surowy kod JSON nie wygląda tak ładnie.

API dostępne jest pod adresem http://api.ewd.edu.pl

Korzystanie z API

Aby uzyskać listę dostępnych akcji, wywołaj API z parametrem pomoc

http://api.ewd.edu.pl?pomoc=
[
   {
      "obowiazkowy" : true,
      "typ" : "string",
      "wartDomyslna" : null,
      "nazwa" : "akcja",
      "opis" : "Akcja API",
      "wartosci" : [
         "zwrWskazniki",
         "zwrDanePWE",
         "zwrCSVPWE",
         "zwrWykresPWE",
         "zwrDaneAdrSzkoly",
         "zwrDaneEWD",
         "zwrWykresEWD",
         "zwrSzkoly",
         "zwrWojewodztwa",
         "zwrPowiaty",
         "zwrGminy"
      ]
   }
]

Ze zwróconego obiektu możemy dowiedzieć się, że API przyjmuje obowiązkowy parametr akcja oraz jakie może on przyjąć wartości.

Aby dowiedzieć się, jakie parametry przyjmuje dana akcja, należy wywołać API ze wskazaną akcją oraz parametrem pomoc, np.:

http://api.ewd.edu.pl?akcja=zwrWskazniki&pomoc=

W wyniku otrzymujemy kompletny opis wszystkich dostępnych parametrów:

[
   {
      "wartosci" : [
         "ewd",
         "pwe"
      ],
      "wartDomyslna" : null,
      "typ" : "string",
      "opis" : "rodzaj wskaźnika",
      "nazwa" : "rodzajWsk",
      "obowiazkowy" : false
   },
   {
      "obowiazkowy" : false,
      "nazwa" : "wskaznik",
      "typ" : "[string]",
      "opis" : "nazwy wskaźników",
      "wartDomyslna" : null,
      "wartosci" : [
         "gh",
         "gh_bt",
         "gh_bt_mod",
         "gh_h_bt_mod",
         "gh_mod",
         "gh_p_bt_mod",
         "gh_przed2011",
         "gh_w11",
         "gh_w11_bt",
         "gm_m_bt_mod",
         "gmp",
         "gmp_bt",
         "gm_p_bt_mod",
         "gmp_bt_mod",
         "gmp_mod",
         "gmp_przed2011",
         "gmp_w11",
         "gmp_w11_bt",
         "mlh_dl",
         "mlh_tl",
         "mlh_tl_mod",
         "mlh_tl_wgr",
         "mlm_dl",
         "mlm_jr",
         "mlmp_dl",
         "mlmp_tl",
         "mlmp_tl_mod",
         "mlmp_tl_wgr",
         "mlm_tl",
         "mlm_tl_mod",
         "mlm_tl_wgr",
         "mlp_dl",
         "mlp_jr",
         "mlp_tl",
         "mlp_tl_mod",
         "mlp_tl_wgr",
         "mth_dl",
         "mth_tl",
         "mth_tl_mod",
         "mth_tl_wgr",
         "mtm_dl",
         "mtm_jr",
         "mtmp_dl",
         "mtmp_tl",
         "mtmp_tl_mod",
         "mtmp_tl_wgr",
         "mtm_tl",
         "mtm_tl_mod",
         "mtm_tl_wgr",
         "mtp_dl",
         "mtp_jr",
         "mtp_tl",
         "mtp_tl_mod",
         "mtp_tl_wgr",
         "paou_gh",
         "paou_gh_pierw",
         "paou_gh_war",
         "paou_gmp",
         "paou_gmp_pierw",
         "paou_gmp_war",
         "paou_m_ang_pierw",
         "paou_m_ang_var",
         "paou_m_ang_war",
         "paou_m_mat_pierw",
         "paou_m_mat_var",
         "paou_m_mat_war",
         "paou_m_pol_var",
         "paou_m_pol_war",
         "paou_sp",
         "paou_sp_war"
      ]
   },
   {
      "obowiazkowy" : false,
      "nazwa" : "okresy",
      "wartosci" : null,
      "opis" : "okresy, dla których wskaźniki mają wartości",
      "typ" : "[string]",
      "wartDomyslna" : null
   },
   {
      "nazwa" : "doPrezentacji",
      "obowiazkowy" : false,
      "wartDomyslna" : null,
      "typ" : "bool",
      "opis" : "czy tylko wskaźniki do publicznej prezentacji/ukryte",
      "wartosci" : null
   },
   {
      "wartDomyslna" : null,
      "typ" : "[int]",
      "opis" : "identyfikatory szkół, dla których mają zostać pobrane wskaźniki",
      "wartosci" : null,
      "nazwa" : "idSzkol",
      "obowiazkowy" : false
   },
   {
      "nazwa" : "idJST",
      "obowiazkowy" : false,
      "wartosci" : null,
      "wartDomyslna" : null,
      "typ" : "[int]",
      "opis" : "kody TERYT JST, dla których mają zostać pobrane wskaźniki (istotne tylko dla wskaźników PWE)"
   },
   {
      "wartosci" : null,
      "wartDomyslna" : false,
      "opis" : "czy pobierać wskaźniki dla Polski (istotne tylko dla wskaźników PWE)",
      "typ" : "bool",
      "nazwa" : "polska",
      "obowiazkowy" : false
   },
   {
      "obowiazkowy" : false,
      "nazwa" : "typSzkoly",
      "wartosci" : [
         "gimn.",
         "LO",
         "LOU",
         "LP",
         "SP",
         "T",
         "TU",
         "ZZ"
      ],
      "typ" : "string",
      "opis" : "typ szkoły, dla którego liczone są wskaźniki",
      "wartDomyslna" : null
   },
   {
      "nazwa" : "ewdMin",
      "obowiazkowy" : false,
      "wartDomyslna" : null,
      "opis" : "najmniejsza dopuszczalna wartość EWD wśród wyliczonych wskaźników",
      "typ" : "float",
      "wartosci" : null
   },
   {
      "nazwa" : "ewdMax",
      "obowiazkowy" : false,
      "wartosci" : null,
      "wartDomyslna" : null,
      "typ" : "float",
      "opis" : "największa dopuszczalna wartość EWD wśród wyliczonych wskaźników"
   },
   {
      "typ" : "float",
      "opis" : "najmniejszy dopuszczalny średni wynik egzaminu wśród wyliczonych wskaźników",
      "wartDomyslna" : null,
      "wartosci" : null,
      "obowiazkowy" : false,
      "nazwa" : "egzMin"
   },
   {
      "typ" : "float",
      "opis" : "największy dopuszczalny średni wynik egzaminu wśród wyliczonych wskaźników",
      "wartDomyslna" : null,
      "wartosci" : null,
      "obowiazkowy" : false,
      "nazwa" : "egzMax"
   },
   {
      "nazwa" : "luMin",
      "obowiazkowy" : false,
      "wartosci" : null,
      "wartDomyslna" : null,
      "typ" : "float",
      "opis" : "najmniejsza dopuszczalna liczba uczniów wyliczonych wskaźników"
   },
   {
      "wartosci" : null,
      "wartDomyslna" : null,
      "typ" : "float",
      "opis" : "największa dopuszczalna liczba uczniów wśród wyliczonych wskaźników",
      "nazwa" : "luMax",
      "obowiazkowy" : false
   }
]

Korzystanie w jQuery

Korzystanie z API z użyciem biblioteki jQuery jest bardzo łatwe:

  • najpierw tworzymy obiekt z parametrami wywołania API;
  • następnie korzystamy z funkcji $.getJSON().

Przytoczony wyżej przykład wyszukiwania szkół w jQuery wyglądałby tak:

var param = {
}
$.getJSON('http://api.ewd.edu.pl', param, function(dane){
   ...tu wpisz kod obsługi danych...
});

Korzystanie w PHP

Przytoczony wyżej przykład wyszukiwania szkół w PHP wyglądałby tak:

$url = http_build_query(array(
  'akcja' => 'zwrSzkoly',
));
$dane = json_decode(file_get_contents('http://api.ewd.edu.pl?' . $url));

Korzystanie w R

W R najłatwiej użyć pakietów httr oraz rjson.

Przytoczony wyżej przykład wyszukiwania szkół w R wyglądałby tak:

library(httr)
library(rjson)
dane = GET(
  'http://api.ewd.edu.pl', 
  akcja='zwrSzkoly'
)
dane = fromJSON(content(dane, 'text'))
api_http.1433270153.txt.gz · ostatnio zmienione: 2015/06/02 20:35 przez zozlak