Доступ до даних Системи по API (v.1.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’ – отримані кошти

                         }

                    ]

    Приклади запитів:

http://openschool.in.ua/api/v1?action=schools&id_school=67
http://openschool.in.ua/api/v1?action=schools&id_region=7&id_period=45
http://openschool.in.ua/api/v1?action=schools&id_region=7&date_start=2017-11-01&date_end=2017-12-31

    Всі параметри не є обов’язковими. Період і дати в одному запиті не використовувати, період пошук не буде врахований.

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 – отримуємо одну задачу

     приклади запитів

http://openschool.in.ua/api/v1?action=tasks&node=school&item=67
http://openschool.in.ua/api/v1?action=tasks&node=school&item=67&task_status=done
http://openschool.in.ua/api/v1?action=tasks&node=school&item=67&task_status=done&id_label=3
http://openschool.in.ua/api/v1?action=tasks&node=school&item=67&task_status=done&payment_type=-1
http://openschool.in.ua/api/v1?action=tasks&node=school&item=67&task_status=done&payment_type=-1&id_period=45
http://openschool.in.ua/api/v1?action=tasks&node=school&item=67&task_status=done&payment_type=-1&date_start=2017-11-01&date_end=2017-12-31

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’, ідентифікатор платежу

                 },

                ]

Pin It on Pinterest