Суд

Точка входу «Суд» повертає інформацію про суди України.

Загальна інформація

Інформація про суди з даних Державної судової адміністрації, опублікованих на відповідному порталі відкритих даних.

Оновлюється за необхідністю.

Кількість судів

GET-запит за адресою https://api.conp.com.ua/api/v1.0/court повертає загальну кількість судів в системі

GET /court HTTP/1.0
Host: https://api.conp.com.ua/api/v1.0

{ "message": 801 }

Отримання інформації про суди

GET-запит за адресою https://api.conp.com.ua/api/v1.0/court/:id повертає інормацію про суд за відповідною схемою даних . Де id - це код суду.

GET /court/2403 HTTP/1.0
Host: https://api.conp.com.ua/api/v1.0

{
  "courtCode": "2403",
  "courtRegion": "Чернівецька область",
  "instanceType": "Перша",
  "courtName": "Глибоцький районний суд Чернівецької області",
  "address": {
    "source": "60400, смт Глибока, вул. Борців за волю України, 2 а",
    "countryName": "Україна",
    "postalCode": "60400",
    "locality": "селище міського типу Глибока",
    "streetNumber": "2 а",
    "streetAddress": "вулиця Борців За Волю України, 2 а",
    "fullAddress": "60400, Чернівецька область, Глибоцький район, селище міського типу Глибока, вулиця Борців За Волю України, 2 а",
    "geo": {
      "lat": "48.087002",
      "lon": "25.928869"
    },
    "region": "Чернівецька область",
    "district": "Глибоцький район",
    "oldStreet": "вулиця Глибоцька, вулиця Борцям за волю України"
  },
  "url": "http://court.gov.ua/sud2403/",
  "phone": [
    "(373) 42 14 52"
  ],
  "email": "inbox@gl.cv.court.gov.ua",
  "openingHours": [
    "Пн-Чт з 08:30 до 17:30",
    "Пт з 08:30 до 16:40",
    "Перерва з 13:00 до 13:50"
  ],
  "organization": {
    "legalName": "ГЛИБОЦЬКИЙ РАЙОННИЙ СУД ЧЕРНІВЕЦЬКОЇ ОБЛАСТІ",
    "name": "ГЛИБОЦЬКИЙ РАЙОННИЙ СУД",
    "identifier": {
      "scheme": "UA-EDR",
      "id": "02885623",
      "valid": true
    },
    "currentStatus": "зареєстровано",
    "kved": {
      "part": "84",
      "group": "23"
    },
    "full_kved": "84.23 Діяльність у сфері юстиції та правосуддя",
    "address": {
      "source": "60400, Чернівецька обл., Глибоцький район, селище міського типу Глибока, ВУЛИЦЯ БОРЦІВ ЗА ВОЛЮ УКРАЇНИ, будинок 2, корпус А",
      "countryName": "Україна",
      "postalCode": "60400",
      "region": "Чернівецька область",
      "district": "Глибоцький район",
      "locality": "селище міського типу Глибока",
      "streetNumber": "2",
      "streetAddress": "вулиця Борців За Волю України, 2",
      "fullAddress": "60400, Чернівецька область, Глибоцький район, селище міського типу Глибока, вулиця Борців За Волю України, 2",
      "oldStreet": "вулиця Глибоцька, вулиця Борцям за волю України"
    },
    "head": {
      "source": "ЦУРКАН ВІТАЛІЙ ВАСИЛЬОВИЧ",
      "idName": "Цуркан В. В.",
      "fullName": "Цуркан Віталій Васильович",
      "familyName": "Цуркан",
      "givenName": "Віталій",
      "additionalName": "Васильович",
      "sex": "чоловік",
      "jobTitle": "Директор"
    },
    "updatedAt": "2018-08-06T20:54:27.833Z"
  },
  "updatedAt": "2018-08-10T13:15:42.915Z"
}

Пошук судів

POST-запит за адресою https://api.conp.com.ua/api/v1.0/court/search дозволяє шукати суди.

POST-запит має містити JSON з наступними змінними

query:

рядок

Перелік термінів для повнотекстового пошуку.

defaultOperator:
 

рядок

Приймає значення or або and, щоб шукати будь-який з термінів для повнотекстового пошуку або усі терміни.

filter:

об’єкт

Об’єкт, який містить перелік усіх пошукових фільтрів, встановлених користувачем.

sort:

об’єкт

Об’єкт, який визначає порядок сортування результатів.

from:

ціле число (integer)

Кількість об’єктів, яку необхідно пропустити (використовується для пагінації).

aggregation:

булеве значення

Якщо встановлено значення false, то в результаті буде отримано перелік судів, які відповідають повнотекстовому запиту та фільтрам. Якщо встановлено значення true, то повертає перелік агрегацій для фасетного пошуку.

Фільтри

Кожен з фільтрів має бути об’єктом з певною назвою (поле, за яким відбувається фільтрація) та будуватися за схемою:

list:

масив рядків

Перелік точних значень термінів для фільтрації результату.

operator:

рядок

Приймає значення or або and, щоб у результат попадали сутності з будь-яким зі значень фільтру або усі значення фільтру.

Суди можна фільтрувати за точними значеннями таких змінних:

  • instanceType - Інстанція суду
  • address.region - Область суду
  • address.district - Район або район у місті суду
  • address.locality - Населений пункт суду
  • address.fullAddress - Повна адреса суду
  • organization.currentStatus - Поточний статус суду

Приклад використання фільтру - «(1) Суди першої інстанції (2) міста Запоріжжя»:

...
{"filter": {
  "instanceType": {
    "list": [
      "Перша"
    ],
    "operator": "or"
  },
  "address.locality": {
    "list": [
      "місто Запоріжжя"
    ],
    "operator": "or"
  }
}
...

Сортування

Для судів дозволено сортування за назвою організації (courtName.sort). Якщо змінна sort у запиті має значення {}, то сортування відбуватиметься за релевантністю.

Приклад сортування за назвою суду:

...
"sort": {
  "courtName.sort": { "order": "desc" }
}
...

Агрегація

Для судів передбачено агрегацію за такими змінними:

  • Інстанція суду
  • Область суду
  • Населений пункт суду
  • Район суду

Агрегації розраховуються автоматично для усіх змінних, для яких встановлено фільтр. Якщо необхідно отримати агрегацію без фільтрації, то необхідно задати «пустий» фільтр таким чином:

...
"filter": {
  "address.locality": {
    "list": [],
    "operator": "or"
  }
}
...

Приклад повного запиту та відповіді

POST /court/search HTTP/1.0
Host: https://api.conp.com.ua/api/v1.0

{
  "query": "",
  "defaultOperator": "or",
  "filter": {
    "instanceType": {
      "list": [
        "Апеляційна"
      ],
      "operator": "or"
    },
    "address.region": {
      "list": [],
      "operator": "or"
    },
    "address.district": {
      "list": [],
      "operator": "or"
    },
    "address.locality": {
      "list": [
        "місто Львів"
      ],
      "operator": "or"
    },
    "address.fullAddress": {
      "list": [],
      "operator": "or"
    },
    "organization.currentStatus": {
      "list": [],
      "operator": "or"
    }
  },
  "searchIndex": "court",
  "aggregation": false
}

{
  "total": 3,
  "items": [
    {
      "courtName": "Апеляційний суд Львівської області",
      "courtCode": "1390",
      "instanceType": "<strong>Апеляційна</strong>",
      "organization": {
        "head": {
          "fullName": "Каблак Петро Іванович"
        },
        "address": {
          "streetAddress": "площа Соборна, 7",
          "district": "Личаківський район",
          "locality": "<strong>місто Львів</strong>",
          "region": "Львівська область"
        },
        "currentStatus": "зареєстровано"
      }
    },
    {
      "courtName": "Львівський апеляційний адміністративний суд",
      "courtCode": "9104",
      "instanceType": "<strong>Апеляційна</strong>",
      "organization": {
        "head": {
          "fullName": "Богаченко Сергій Іванович"
        },
        "address": {
          "streetAddress": "вулиця Саксаганського, 13",
          "district": "Галицький район",
          "locality": "<strong>місто Львів</strong>",
          "region": "Львівська область"
        },
        "currentStatus": "зареєстровано"
      }
    },
    {
      "courtName": "Львівський апеляційний господарський суд",
      "courtCode": "5036",
      "instanceType": "<strong>Апеляційна</strong>",
      "organization": {
        "head": {
          "fullName": "Плотніцький Борис Дмитрович"
        },
        "address": {
          "streetAddress": "вулиця Личаківська, 81",
          "district": "Личаківський район",
          "locality": "<strong>місто Львів</strong>",
          "region": "Львівська область"
        },
        "currentStatus": "зареєстровано"
      }
    }
  ]
}