Прокурор

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

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

Інформація щодо працівників прокуратори. Оновлюється раз на місяць з даних Єдиного державного реєстру декларацій осіб, уповноважених на виконання функцій держави або місцевого самоврядування.

Кількість прокурорів

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

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

{ "message": 6855 }

Отримання інформації про прокурорів

GET-запит за адресою https://api.conp.com.ua/api/v1.0/prosecutor/:id повертає інормацію про прокурора за відповідною схемою даних . Де ``id` - це транслітерована комбінація регіону прокуратури та ПІБ прокурора.

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

{
  person: {
    source: 'Чоловський Владислав Миколайович',
    idName: 'Чоловський В. М.',
    fullName: 'Чоловський Владислав Миколайович',
    familyName: 'Чоловський',
    givenName: 'Владислав',
    additionalName: 'Миколайович',
    sex: 'чоловік',
    jobTitle: 'Слідчий в особливо важливих справах другого слідчого відділу слідчого управління Генеральної прокуратури України',
    worksFor: {
      source: 'Головна військова прокуратура',
      name: 'Головна військова прокуратура'
    }
  },
  procuracyRegion: 'Загальнодержавний',
  id: 'cholovskyi_vladyslav_mykolaiovych_zahalnoderzhavnyi',
  updatedAt: '2018-08-07T09:34:47.122Z'
}

Пошук прокурорів

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

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

query:

рядок

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

defaultOperator:
 

рядок

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

filter:

об’єкт

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

sort:

об’єкт

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

from:

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

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

aggregation:

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

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

Фільтри

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

list:

масив рядків

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

operator:

рядок

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

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

  • worksFor - Організація, в якій працює
  • address.region - Область, в якій працює прокурор
  • sex - Стать прокурора

Приклад використання фільтру - «(1) Працівники Генеральної Прокуратури України, (2) що є жінками»:

...
{ "filter": {
  "sex": {
    "list": [
      "жінка"
    ],
    "operator": "or"
  },
  "worksFor": {
    "list": [
      "Генеральна Прокуратура України"
    ],
    "operator": "or"
  }
}
...

Сортування

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

Приклад сортування за повним іменем:

...
"sort": {
  "person.fullName.sort": { "order": "desc" }
}
...

Агрегація

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

  • Місце роботи
  • Область прокуратури
  • Стать прокурора

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

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

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

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

{
  "query": "",
  "defaultOperator": "or",
  "filter": {
    "fullName": {
      "list": [],
      "operator": "or"
    },
    "sex": {
      "list": [],
      "operator": "or"
    },
    "address.region": {
      "list": [
        "місто Київ"
      ],
      "operator": "or"
    },
    "worksFor": {
      "list": [
        "Київська місцева прокуратура № 4 (Дніпровський район)"
      ],
      "operator": "or"
    }
  },
  "searchIndex": "prosecutor",
  "aggregation": true
}

{
  "aggs": {
    "worksFor": [],
    "compound": {},
    "sex": [
      {
        "key": "жінка",
        "doc_count": 28
      },
      {
        "key": "чоловік",
        "doc_count": 28
      }
    ],
    "address.region": []
  },
  "total": 56
}