JSON интерфейсы сайта государственных услуг

Про юзабилити сайта госуслуг я уже написал. Теперь же речь будет о том как извлечь пользу из нового сайта, используя его API, не документированное разработчиками, но, что называется, на поверхности находящееся.

Итак. О JSON интерфейсах на сайте госуслуг. Из-за того что разработчики сделали ставку на AJAX’овость интерфейса, теперь из сайта торчит множество «хвостов» через которые на страницы подгружаются данные. Эти хвосты предоставляют данные через JSON. И вот о них и поговорим подробнее.

Интерфейсы.

Информация о госструктуре

— формат: http://epgu.gosuslugi.ru/pgu/stateStructure/[код ведомства].json

Где код ведомства это внутренний ID’шник госструктуры

Пример: http://epgu.gosuslugi.ru/pgu/stateStructure/10000001094.json , по Российской Книжной Палате.

В JSON много разной детальной информации по услугам ведомства, подчинённым организациям, родительской структуре и т.д. Большая часть полей самоочевидна, неочевидные я могу объяснить и думаю что ещё распишу подробнее. Или это может описать любой желающий.

Информация о госуслуге

— формат: http://epgu.gosuslugi.ru/pgu/service/[код услуги]_[подкод услуги].json

Где код услуги — это её идентификатор lid, а подкод услуги — это идентификатор eid. Обычно у услуги есть только идентификатор lid или оба lid и eid. В чём смысл именно такого деления мне непонятно, думаю что это исторические причины. Но всяко может быть.

Пример: http://epgu.gosuslugi.ru/pgu/service/10000460202_199.json Информация о тиражах …

В JSON много разной информации по госуслуге. Опять же большая часть полей самоочевидна, думаю что ещё представится возможность описать их подробнее.

Список госструктур по получателям услуг

— формат: http://epgu.gosuslugi.ru/pgu/cat/STATE_STRUCTURE.json?RECIP_CATEGORY_category=[код категории пользователя]&RECIP_CATEGORY_filter=SUBTREE

Где «код категории пользователя» может быть:

50 — физические лица

51 — предприниматели

52 — юридические лица

55 — иностранные граждане

Пример: http://epgu.gosuslugi.ru/pgu/cat/STATE_STRUCTURE.json?RECIP_CATEGORY_category=52&RECIP_CATEGORY_filter=SUBTREE Список госструктур предоставляющих услуги для юридических лиц

У JSON простая структура. id — идентификатор ведомства, title — название, ico — название файла иконки

Список госуслуг по госструктуре

— формат: http://epgu.gosuslugi.ru/pgu/service.json?STATE_STRUCTURE_category=[код организации]&STATE_STRUCTURE_filter=SINGLE&RECIP_CATEGORY_category=[код категории пользователя]&RECIP_CATEGORY_filter=SUBTREE

Где код организации — это код госструктуры, а код категории пользователя — один из приведённых выше.

пример: http://epgu.gosuslugi.ru/pgu/service.json?STATE_STRUCTURE_category=10000001127&STATE_STRUCTURE_filter=SINGLE&RECIP_CATEGORY_category=50&RECIP_CATEGORY_filter=SUBTREE

В JSON содержится весь список госуслуг относящийся к данной госструктуре.

Список категорий госуслуг

— формат: http://epgu.gosuslugi.ru/pgu/cat/MAIN_CLASS_A.json?RECIP_CATEGORY_category=[код категории пользователя]&RECIP_CATEGORY_filter=SUBTREE

Где «код категории пользователя»  один из 4-х кодов что я ранее приводил

пример: http://epgu.gosuslugi.ru/pgu/cat/MAIN_CLASS_A.json?RECIP_CATEGORY_category=55&RECIP_CATEGORY_filter=SUBTREE

В итоге возвращается список в JSON со всеми категориями госуслуг.

Список госуслуг по категориям

— формат: http://epgu.gosuslugi.ru/pgu/service.json?MAIN_CLASS_A_category=[код категории]&MAIN_CLASS_A_filter=SINGLE&RECIP_CATEGORY_category=[код категории пользователя]&RECIP_CATEGORY_filter=SUBTREE

Где «код категории» — это категория госуслуги, а «код категории пользователя» — тип пользователя из списка выше.

пример: http://epgu.gosuslugi.ru/pgu/service.json?MAIN_CLASS_A_category=236&MAIN_CLASS_A_filter=SINGLE&RECIP_CATEGORY_category=50&RECIP_CATEGORY_filter=SUBTREE

В JSON возвращается список госуслуг в рамках данной категории.

Список жизненных ситуаций

— формат: http://epgu.gosuslugi.ru/pgu/cat/LIFE_SITUATION.json?RECIP_CATEGORY_category=[код категории пользователя]&RECIP_CATEGORY_filter=SUBTREE

Где «код категории пользователя»  один из 4-х кодов что я ранее приводил

пример: http://epgu.gosuslugi.ru/pgu/cat/LIFE_SITUATION.json?RECIP_CATEGORY_category=55&RECIP_CATEGORY_filter=SUBTREE

В JSON возвращается список всех жизненных ситуаций под данную категорию пользователей.

Список госуслуг по жизненной ситуации

— формат: http://epgu.gosuslugi.ru/pgu/service.json?LIFE_SITUATION_category=[код ситуации]&LIFE_SITUATION_filter=SINGLE&RECIP_CATEGORY_category=[код   категории получателя]&RECIP_CATEGORY_filter=SUBTREE

Где «код категории пользователя»  один из 4-х кодов что я ранее приводил, а «код ситуации» — это код жизненной ситуации из списка

пример: http://epgu.gosuslugi.ru/pgu/service.json?LIFE_SITUATION_category=11&LIFE_SITUATION_filter=SINGLE&RECIP_CATEGORY_category=55&RECIP_CATEGORY_filter=SUBTREE

В JSON возвращается список всех госуслуг по жизненной ситуации

Список регионов

— формат: http://epgu.gosuslugi.ru/pgu/htdocs/js/regions.js

параметров нет, но результат — это не JSON, а Javascript в котором есть словарь regions. Это словарь можно извлечь через регулярные выражения и однократно превратить в справочник.

Список региональных госструктур

— формат: http://epgu.gosuslugi.ru/pgu/stateStructure.json?ADMLEVEL_category=REGIONAL&ADMLEVEL_filter=SINGLE&pageSize=-1&pageNum=-1

у сайта госуслуг есть следующая особенность. Похоже что единственный способ получить список ведомства по региону, это передать специальную куку userSelectedRegion. Эта кука должна содержать код региона из списка регионов выше.

Далее список ведомств такой же как другие.

—-

Это, вроде, все самые ключевые интерфейсы. С их помощью можно на базе сайта госуслуг придумать новые сервисы, переделать его полностью, сделать по нему поиск, или мобильное приложение, или систему гражданского мониторинга, проверять качество данных на сайте, накладывать данные на карты, собирать жалобы граждан и многое и многое другое.

И, кстати, если Вы что-то придумаете и сделаете, не забудьте податься на Apps4Russia, ещё 27 дней до окончания конкурса.

P.S. Пользуясь случаем, передаю горячий привет представителям Минкомсвязи и Ростелекома. Уверен что народная поддержка со стороны любящих их граждан придаст им новый мотивационный рывок в деле качественного предоставления государственных услуг.

 

About This Author

  • http://mds.livejournal.com/ mds

    правильно я понимаю, что справочник базируется на ОКАТО?

    • http://ivan.begtin.name Ivan Begtin

      Да, похоже на то, однако я пока не проверял.

Яндекс.Метрика