Wprowadzenie

System SAOS umożliwia pobieranie i przeszukiwanie wszystkich zgromadzonych danych orzeczeń poprzez programowe API. Dzięki temu możesz w łatwy sposób wzbogacić swoją własną stronę www lub pisaną aplikację o dynamicznie aktualizowane informacje dotyczące polskiego orzecznictwa sądowego.

 

Jeśli masz swoją stronę www

W bardzo prosty sposób możesz sprawić, by na twojej stronie znalazły się na bieżąco aktualizowane dane związane z orzeczeniami polskich sądów. Wystarczą ci podstawy języka JavaScript i możesz publikować najróżniejsze interesujące użytkowników twojej witryny informacje. Jak to zrobić? Niżej podajemy kilka przykładów, które powinny ci pomóc.

Przykłady korzystają z jquery. Jeśli chcesz je skopiować i umieścić na swojej stronie, musisz umieścić w sekcji head swojej strony link do biblioteki jquery, np.:

<script src="//code.jquery.com/jquery-1.11.3.min.js">

 

Przykład 1

Przykład ilustruje sposób publikacji na stronie listy ostatnich orzeczeń wydanych przez dowolny sąd powszechny, które odwołują się do określonej ustawy.

Możesz dowolnie zmieniać kryteria wyświetlanej listy orzeczeń. Wszystkie możliwe kryteria opisane są w dokumencie API przeszukiwania danych.

 

Skrypt

<script>
$(function(){
$.ajax({
method: "GET",
url: "https://www.saos.org.pl/api/search/judgments?pageSize=10&pageNumber=0&sortingField=JUDGMENT_DATE&courtType=COMMON&lawJournalEntryCode=2011/112&sortingDirection=DESC"
})
.done(function(data) {
for (var i=0; i<data.items.length; i++) {
var judgment = data.items[i];
$("#lawJournalJudgments").append("<li><a href='https://www.saos.org.pl/judgments/"+judgment.id+"'>"+judgment.judgmentDate+", "+judgment.courtCases[0].caseNumber+", " + judgment.division.court.name +"</a></li>");
}
});
});
</script>

<h3>Ostatnie 10 orzeczeń odwołujących się do 'Ustawa z dnia 5 stycznia 2011 r. Kodeks wyborczy (Dz. U. z 2011 r. Nr 21, poz. 112)'</h3>
<ul id="lawJournalJudgments">
</ul>

 

Demo

Ostatnie 10 orzeczeń odwołujących się do 'Ustawa z dnia 5 stycznia 2011 r. Kodeks wyborczy (Dz. U. z 2011 r. Nr 21, poz. 112)'

     

    Przykład 2

    Pobranie po kliknięciu przycisku 10 ostatnich orzeczeń z hasłem 'hulajnoga' w treści orzeczenia. Na liście orzeczeń widoczne wycinki treści z hasłem hulajnoga.

     

    Skrypt

    <script>
    $(function(){

    $("#scooterJudgmentsButton").click(function() {

    $.ajax({
    method: "GET",
    url: "https://www.saos.org.pl/api/search/judgments?pageSize=10&pageNumber=0&all=hulajnoga&sortingField=JUDGMENT_DATE&sortingDirection=DESC"
    })
    .done(function(data) {
    for (var i=0; i<data.items.length; i++) {
    var judgment = data.items[i];
    $("#scooterJudgments").append("<li><a href='https://www.saos.org.pl/judgments/"+judgment.id+"'>"+judgment.judgmentDate+", "+judgment.courtCases[0].caseNumber+", " + judgment.division.court.name+"</a>"
    + "<p>..."+judgment.textContent+"...</p>"
    +"</li>");
    }
    $("#scooterJudgmentsButton").remove();

    });
    });

    });
    </script>

    <h5>Ostatnie 10 orzeczeń z hasłem 'hulajnoga' w treści orzeczenia</h5>
    <button id="scooterJudgmentsButton">Pobierz</button>

    <ul id="scooterJudgments">
    </ul>


    });

     

    Demo

    Ostatnie 10 orzeczeń z hasłem 'hulajnoga' w treści orzeczenia

       

      Przykład 3

      Pobranie po naciśnięciu przycisku liczby orzeczeń z danym hasłem w treści.

      Uwaga, ten przykład korzysta z serwisu spoza oficjalnego API, więcej o takich serwisach przeczytasz w artykule Dodatkowe serwisy

       

      Skrypt

      $(function(){

      $("#murderJudgmentsButton").click(function() {

      $.ajax({
      method: "GET",
      url: "https://www.saos.org.pl/analysis/generate?globalFilter.courtCriteria.courtType=COMMON&globalFilter.courtCriteria.ccIncludeDependentCourtJudgments=true&globalFilter.judgmentDateRange.startMonth=1&globalFilter.judgmentDateRange.startYear=2013&globalFilter.judgmentDateRange.endMonth=12&globalFilter.judgmentDateRange.endYear=2015&seriesFilters[0].phrase=morderstwo or zabójstwo&ysettings.valueType=NUMBER"
      })
      .done(function(data) {
      var chart = data.charts.CC_COURT_CHART;
      $("#murderJudgments").append("<tbody></tbody>");

      for (var i=0; i<chart.seriesList[0].points.length; i++) {
      var xtick = chart.xticks[i];
      var judgmentCount = chart.seriesList[0].points[i][1];
      $("#murderJudgments").find("tbody").append("<tr><td>"+xtick[1].name+"</td><td>"+judgmentCount+"</td></tr>");
      }
      $("#murderJudgmentsButton").remove();

      });
      });

      });
      // ]]></script>
      <h5>Liczba orzeczeń ze słowem 'zabójstwo' lub 'morderstwo' w latach 2013-2015 w podziale na apelacje</h5>
      <p><button id="murderJudgmentsButton">Pobierz</button></p>
      <table id="murderJudgments" class="table"></table>

       

      Demo

      Liczba orzeczeń ze słowem 'zabójstwo' lub 'morderstwo' w latach 2013-2015 w podziale na apelacje

       

       

       

      Jeśli jesteś programistą aplikacji

      API SAOS oparte jest na architekturze REST, więc wywołania odpowiednich serwisów są zwykłymi żądaniami HTTP. Odpowiedzi generowane są w formacie json.

      Żeby skorzystać z danych publikowanych przez API SAOS możesz wykorzystać dowolną znaną ci bibliotekę, która pozwala na komunikację HTTP. Przyda ci się również jakaś biblioteka do parsowania odpowiedzi json.

       

      Przykład

      Poniższy napisany w javie prosty program wykorzystuje klasę RestTemplate z pakietu org.springframework.web.client (http://spring.io/). Skrypt pobiera listę ostatnich 10 orzeczeń sądów powszechnych i wyświetla wynik zapytania.

       

      Skrypt

      package rest;

      import java.util.ArrayList;
      import java.util.List;

      import org.springframework.http.HttpEntity;
      import org.springframework.http.HttpHeaders;
      import org.springframework.http.HttpMethod;
      import org.springframework.http.MediaType;
      import org.springframework.http.ResponseEntity;
      import org.springframework.web.client.RestTemplate;

      public class RestClient {


      public static void main(String[] args) {

      String url = "https://www.saos.org.pl/api/search/judgments?pageSize=10&courtType=COMMON&sortingField=JUDGMENT_DATE&sortingDirection=DESC";

      HttpHeaders headers = new HttpHeaders();
      List<MediaType> mediaTypes = new ArrayList<>();
      mediaTypes.add(MediaType.APPLICATION_JSON);
      headers.setAccept(mediaTypes);

      RestTemplate restTemplate = new RestTemplate();

      ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<String>(headers), String.class);

      System.out.println(response);
      }
      }