Діє API 2.0
Всі дані системи публікуються у формі відкритих даних (JSON) відповідно до ЗУ “Про доступ до публічної інформації”.
Отримати інформацію у структорованому вигляді можна наступним чином.
BASE_URL – http://openschool.in.ua
1. Отримання списку регіонів
BASE_URL/api/v1?action=regions
response:
‘regions’ => [
{
‘id’ => ’21’, – ідентифікатор
‘name’ => ‘Івано-франківська область’ – назва
},
]
2. Отримуємо список звітних періодів
BASE_URL/api/v1?action=periods
response:
‘periods’ => [
{
‘name’ => ‘Внесено в систему до 01.09.2017’, – назва
‘id_period’ => ’44’, – унікальний ідентифікатор
‘date_end’ => ‘2017-09-04’, – дата коли період закінчується. Ніякого відношення не має до запитів, просто опис періоду
‘date_start’ => ‘2017-03-01’, – дата коли період починається. Ніякого відношення не має до запитів, просто опис періоду
‘current_period’ => undef, – поточний період, якщо 1
‘parent’ => undef – унікальний ідентифікатор попереднього періоду
}
]
3. Отримуємо список шкіл і суми (Отримано, Вітрачено)
BASE_URL/api/v1?action=schools&id_school=INT&id_region=INT&id_period=INT&date_start=рррр-мм-дд&date_end=рррр-мм-дд
id_school – ідентифікатор школи
id_region – ідентифікатор регіону (id) з полуеного списку регіонів
id_period – ідентифікатор звітного періоду (id) з отриманого списку періодів
date_start – дата, з якої починається вибірка внесків і витрат у форматі рррр-мм-дд
date_end – дата, якою закінчується вибірка внесків і витрат у форматі рррр-мм-дд
response:
‘schools_stock’ => ‘1293402.51’, – сума отриманих кошти усіма школами
‘schools’ => [
{
‘amount’ => undef, – сума грошей за новими завданнями
‘description’ => ”, – опис школи
‘balance’ => ‘73196.3900’, – баланс школи, отримані – витрачені
‘region’ => ‘Херсонська область’, – назва регіону школи
‘id_school’ => ’61’, – унікальний ідентифікатор школи
‘spend’ => ‘180944.6500’, – витрачені кошти
‘id_region’ => ‘7’, – унікальний ідентифікатор регіону
‘address’ => ”, – адреса школи
‘phone’ => ”, – телефон школи
‘name’ => ‘Херсонська спеціалізована школа I-III ступенів №52’, – назва школи
‘stock’ => ‘254141.0400’ – отримані кошти
}
]
Приклади запитів:
Всі параметри не є обов’язковими. Період і дати в одному запиті не використовувати, період пошук не буде врахований.
4. Перелік завдань
BASE_URL/api/v1?action=tasks&id_task=INT&node=STRING&item=INT&task_status=STRING&payment_type=INT&id_period=INT&id_label=INT&date_start=рррр-мм-дд&date_end=рррр-мм-дд
id_task – унікальний ідентифікатор завдання
node – позначення сутності, в нашому випадку ‘school’.
item – ідентифікатор сутності, в нашому випадку це id_school.
task_status – статус завдання, будь-який з (‘todo’, ‘done’, ‘inprogress’). Якщо не вказано, будуть обрані всі
payment_type – тип засобів витрачених в звітах завдання. 0: благодійні, 1: бюджетні, -1: всі. Враховується при підрахунку суми витрат
id_period – ідентифікатор звітного періоду (id) з отриманого списку періодів
id_label – ідентифікатор категорії завдання
date_start – дата постановки завдання, з якої починається вибірка, у форматі рррр-мм-дд
date_end – дата постановки завдання, з якої закінчується вибірка, у форматі рррр-мм-дд
response:
1. Якщо запитали id_task.
‘task’ => {
‘amount’ => ‘5000’, – закладена сума на завдання
‘date_update’ => ‘2017-12-08 14:05:26’, – дата останнього оновлення завдання
‘description’ => ”, – опис завдання
‘archive’ => ‘0’, – якщо 1, то завдання заархівоване
‘reports’ => [
{
‘Description’ => ”, – опис звіту до заданого
‘Comments’ => [], – коментарі до звіту
‘Government’ => ‘0’, – за бюджетні кошти (1) чи ні (0)
‘Id_task’ => ‘794’, – ідентифікатор завдання до якої відноситься звіт
‘Spend’ => ‘992’, – фактична сума витрачених коштів
‘Name’ => ‘Звіт’, – назва звіту
‘Archive’ => ‘0’, – якщо 1, то звіт в архіві
‘Id_report’ => ‘771’, – ідентифікатор звіту
‘Date_add’ => ‘2017-12-08 14:05:26’, – дата додавання звіту в базу ‘images’ => [
{
‘image_url’ => ‘http://openschool.in.ua/media/images/52697tile.png’ – посилання на файл прикріплене до звіту
}
],
‘id_profile’ => ‘2’ – ідентифікатор користувача який додав звіт
}
],
‘Name’ => ‘Моє особисте завдання’, – назва завдання
‘Id_period’ => ’45’, – ідентифікатор звітного періоду в якому було додане завдання
‘Label’ => ‘Пеня’, – категорія завдання
‘Government_spend’ => 0, сума витрачена з бюджетних коштів
‘Item’ => ’67’, – ідентифікатор сутності до котрої відноситься завдання (id_school)
‘Deadline’ => ‘2017-12-30’, – Запланована дата завершення завдання
‘Date_add’ => ‘2017-12-08 10:35:35’, – дата додавання завдання
‘Comments’ => [], – коментарі до задачі
‘Id_task’ => ‘794’, – ідентифікатор завдання
‘Node’ => ‘school’, – найменування суті до якої відноситься завдання
‘vote’ => {
‘Count’ => ‘0’, – кількість голосів по завданню
‘Int_part’ => 0, – ціла частина
‘Value’ => 0, – сердня оцінка
‘Dec_part’ => 0 – десяткова частина },
‘parent_task’ => undef, – вказує на завдання з якої була скопійована. Заповнюється в разі, якщо на момент зміни звітного періоду завдання перебувала в процесі
‘id_profile’ => ‘2’, – ідентифікатор користувача який додав завдання
‘status’ => ‘inprogress’ – статус завдання
}
};
2. Якщо запросили node&item
‘tasks’ => [
{
‘Spend’ => 0, – сума витрат по завданню
‘Id_profile’ => ’13’, ідентифікатор користувача який додав завдання
‘Date_update’ => ‘2017-12-08 14:47:45’, – дата останнього оновлення завдання
‘Id_period’ => ’45’, – ідентифікатор звітного періоду в якому було додане завдання
‘Archive’ => ‘0’, – якщо 1, то завдання заархівоване
‘Description’ => ”, – опис завдання
‘Deadline’ => ‘2017-12-13’, – Запланована дата завершення завдання
‘Amount’ => ‘458’, – закладена сума на завдання
‘Status’ => ‘done’, – статус завдання
‘Parent_task’ => undef, – вказує на завдання з якої було скопійоване. Заповнюється в разі, якщо на момент зміни звітного періоду завдання перебувало в процесі
‘Label’ => ‘Квіти’, – категорія завдання
‘Id_task’ => ‘796’, – ідентифікатор завдання
‘Node’ => ‘school’, – найменування суті до якої відноситься задача
‘Date_add’ => ‘2017-12-08 14:46:15’, – дата додавання завдання
‘Item’ => ’67’, – ідентифікатор сутності до якої відноситься завдання (id_school)
‘Vote_count’ => ‘0’, кількість голосів
‘Name’ => ‘Придбаті квіти’, – назва завдання
‘Vote’ => 0, – рейтинг
‘Report_count’ => 0 – кількість звітів
},
]
обов’язкові параметри node & item – отримуємо список завдань, або id_task – отримуємо одну задачу
приклади запитів
5. Список всіх категорій
BASE_URL/api/v1?action=labels
‘labels’ => [
{
‘id_label’ => ‘2’, – ідентифікатор категорії
‘name’ => ‘Будівельні матеріали’ – назва категорії
},
]
6. Список всіх бюджетних платежів
BASE_URL/api/v1?action=governmentpayments&id_payment=INT&id_bookkeeping=INT&id_school=INT&id_recipient=INT&master_id=INT&doc_number=INT
id_payment – ідентифікатор бухгалтерії
id_bookkeeping – ідентифікатор бухгалтерії
id_school – ідентифікатор школи
id_recipient – ідентифікатор одержувача платежу
master_id – номер платежу в системі казначейства
doc_number – номер в системі бухгалтерії
confirmed – підтверджений чи адміністратором
response:
‘block’ => [
{
‘id_bookkeeping’ => ‘1’, – ідентифікатор бухгалтерії
‘bookkeeping’ => {
‘edrpou’ => ‘02146713’, – ЄДРПОУ бухгалтерії
‘bank’ => ‘ГУ ДКСУ У ХЕРСОНСЬКІЙ ОБЛАСТІ’, – назва банку бухгалтерії
‘mfo’ => ‘852010’, – мфо бухгалтерії
‘name’ => ‘Управління освіти ХМР’, – назва бухгалтерії
‘account’ => ‘35421103035762’, – розрахунковий рахунок бухгалтерії
‘id_bookkeeping’ => ‘1’, – ідентифікатор бухгалтерії
‘last_update’ => ‘2017-12-15’
},
‘id_recipient’ => ’40’, – ідентифікатор одержувача
‘recipient’ => {
‘mfo’ => ‘380805’, – мфо одержувача
‘edrpou’ => ‘03355353’, – ЄДРПОУ одержувача
‘bank’ => ‘АТ “РАЙФФАЙЗЕН БАНК АВАЛЬ” У М. КИЄВІ’, – назва банку
‘name’ => ‘ВАТ “Херсонгаз”‘, – назва одержувача
‘account’ => ‘26004414838’, – рахунок одержувача
‘id_recipient’ => ’40’ – ідентифікатор одержувача
},
‘id_school’ => ’17’, – ідентифікатор школи до якої належить платіж
‘school’ => {
‘phone’ => ”, – телефон школи
‘description’ => ”, – опис школи
‘id_school’ => ’17’, – ідентифікатор школи
‘address’ => ”, – адреса школи
‘name’ => ‘test 30 ЗОШ’, – назва школи
‘bookkeeping’ => ‘1’, – бухгалтерія, яка обслуговує школу
‘postfix’ => ”, – номер школи (INT)
‘id_region’ => ’14’ – ідентифікатор регіону школи
},
‘doc_number’ => ‘6469’, — номер в системі бухгалтерії
‘confirmed’ => ‘1’, – підтверджений платіж суперадміністратором чи ні
‘amount’ => ‘17185.1’, – сума транзакції
‘payment_details’ => ‘1011010;2230;за молоко ДДЗ№73 накл. № 11-559 вiд 12.12.2017 дог. № 363 від 13.02.2017 д.у.№2 від 18.05.17;без ПДВ’, – опис платежу
‘id_profile’ => ‘0’, – ідентифікатор користувача. Якщо платіж вносять руками
‘doc_date’ => ‘2017-12-13’, – дата e-data
‘doc_v_date’ => ‘2017-12-13’, – дата з e-data
‘trans_date’ => ‘2017-12-14’ – дата з e-data
‘label’ => ‘Продукти та послуги з харчування’, – категорія платежу
‘master_id’ => ‘72086483’,— номер платежу в системі казначейства
‘id_payment’ => ‘299’, ідентифікатор платежу
},
]