- PVSM.RU - https://www.pvsm.ru -

API для Российской общественной инициативы. Шаг 2.2: опыт США в работе с данными электронных петиций — API Белого Дома

Ранее я писал в паре постов о том как устроена открытость электронных петиций в разных странах, какие данные есть в России и как можно сделать APO для небезызвестной Российской общественной инициативы — www.roi.ru [1].

Прочитать всё это можно здесь:

В этот раз мы рассмотрим то как устроены электронные петиции Белого Дома, в первую очередь, с точки зрения их открытости и пригодности к данных для использования.

API для Российской общественной инициативы. Шаг 2.2: опыт США в работе с данными электронных петиций — API Белого Дома

Справка

Особенности петиций в США

  1. Относятся именно к президенту и ответы дает его администрация.
  2. Не требуют ничего кроме email'а для подписи — дополнительная авторизация ненужна.
  3. Петиции должны пройти 2 порога — 150 подписей за 30 дней чтобы их можно было найти (по прямой ссылке они доступны) и 100 000 подписей за 30 дней чтобы получить официальный ответ — petitions.whitehouse.gov/how-why/terms-participation [4]

В цифрах

  • всего 2246 петиций
  • даны ответы на 208 петиций
  • в ожидании ответа 26 петиций
  • закрыто 1972 петиций
  • открыто для голосования 40 петиций

Цифры учитывают только те петиции что прошли 1-й порог в 150 подписей за 30 дней.

WhiteHouse.gov/developers

Одно из важных отличий сайта Белого Дома США от сайтов всех лидеров в мире — это ориентированность на разработчиков. На сайте даже есть специальный раздел /Developers [5] где размещены данные, раскрыт исходный код проектов и описаны API многих из инициатив если не всех вообще.

Открытый код

Поскольку нас интересуют в первую очередь петиции, то рассмотрим их подробнее.

Во первых исходный код петиций полностью опубликован на Github — https://github.com/WhiteHouse/petitions [6]

У репозитория больше 15 контрибьюторов [7], несколько десятков багов и вопросов [8] и мы можем говорить о том что разработка проекта идет открытым образом.

Открытое API

Другая сторона происходящего в том для разработчиков доступен не только исходный код, но и API и данные накопленные на сервисе.
Все API по петициям доступны по ссылке — https://petitions.whitehouse.gov/developers [9]

API доступа к данным состоит из 3-х эндпоинтов:

  • GET /v1/petitions
  • GET /v1/petitions/{petition_id}
  • GET /v1/petitions/{petition_id}/signatures
Список петиций и выборки петиций (GET /v1/petitions)

Возвращает список петиций, отдельные петиции и подписи к отдельным петициям. Не поддерживает нелатинские символы и содержит ограничение в не более чем 10 запросов в секунду.

В описании API заложена фильтрация по: ссылке, статусу, числу подписавших и многому другому.
Подробнее — petitions.whitehouse.gov/developers#petitions-index [10]

Карточка петиции (GET /v1/{petition_id})

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

Подробнее — petitions.whitehouse.gov/developers#petitions-retrieve [11]

Список подписантов (GET /v1/{petition_id}/signatures)

И, наконец, по каждой петиции есть возможность получить список всех, или выборку по фильтрам, подписавших петицию без их полных ФИО, но с геокодом в виде почтового индекса и точными датой и временем подписи.

Вот как выглядит элемент массива подписи при ответе этого метода:

    "0": {
      "id": "5017a5ca6889385944000000",
      "type": "signature",
      "name": "DP",
      "zip": "94530",
      "created": 1343727050
    },

Подробнее — petitions.whitehouse.gov/developers#petitions-signatures [12]

Особенно интересно последнее — возможность получить информации по каждому голосу даёт многое — немало разработчиков в США используют это для мониторинга активности подписей петиций.

Открытые данные

Но и это еще не все. Для тех кому не так важно получать данные в реальном времени, но важно иметь базу для анализа разработчики дают данные для массовой выгрузки. По ссылке https://api.whitehouse.gov/v1/downloads/data.sql.zip [13]
файл архива адампа в SQL на 200 мегабайт.

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

Экосистема

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

На самом Белом доме есть раздел под названием API Gallery [14] где я насчитал не менее 18 приложений.
API для Российской общественной инициативы. Шаг 2.2: опыт США в работе с данными электронных петиций — API Белого Дома

Вот лишь неполный список:

Петиции это далеко не все

Петиции — это, хотя и важно, но далеко не единственное что государство должно открывать для всех. API для петиций — это лишь малая часть всех API открытых ведомствами США за последние несколько лет. Вот тут можно посмотреть гораздо больше всего — gsa.github.io/slash-developer-pages/ [21], а активисты давно уже создают проект / the united states [22] собрав ключевые API в одном месте

В качестве послесловия. Главное отличие опыта США в работе с петициями — заведомая технологическая прозрачность и построение экосистемы. Кооперация с независимыми разработчиками позволяет привлекать к петициям гораздо большее внимание и использовать технические инструменты для продвижения инициатив.

Автор: ibegtin

Источник [23]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/api/47924

Ссылки в тексте:

[1] www.roi.ru: http://www.roi.ru

[2] API для Российской общественной инициативы. Шаг 1: сбор и анализ данных: http://habrahabr.ru/company/infoculture/blog/200682/

[3] API для Российской общественной инициативы. Шаг 2.1: опыт Великобритании в работе с данными электронных петиций: http://habrahabr.ru/company/infoculture/blog/201130/

[4] petitions.whitehouse.gov/how-why/terms-participation: https://petitions.whitehouse.gov/how-why/terms-participation

[5] /Developers: http://www.whitehouse.gov/developers

[6] https://github.com/WhiteHouse/petitions: https://github.com/WhiteHouse/petitions

[7] 15 контрибьюторов: https://github.com/WhiteHouse/petitions/graphs/contributors

[8] багов и вопросов: https://github.com/WhiteHouse/petitions/issues?state=open

[9] https://petitions.whitehouse.gov/developers: https://petitions.whitehouse.gov/developers

[10] petitions.whitehouse.gov/developers#petitions-index: https://petitions.whitehouse.gov/developers#petitions-index

[11] petitions.whitehouse.gov/developers#petitions-retrieve: https://petitions.whitehouse.gov/developers#petitions-retrieve

[12] petitions.whitehouse.gov/developers#petitions-signatures: https://petitions.whitehouse.gov/developers#petitions-signatures

[13] https://api.whitehouse.gov/v1/downloads/data.sql.zip: https://api.whitehouse.gov/v1/downloads/data.sql.zip

[14] API Gallery: https://petitions.whitehouse.gov/how-why/api-gallery

[15] wordpress.org/plugins/we-the-people/: http://wordpress.org/plugins/we-the-people/

[16] itunes.apple.com/us/app/wethepeople-petitions/id627813134?ls=1&mt=8: https://itunes.apple.com/us/app/wethepeople-petitions/id627813134?ls=1&mt=8

[17] petitionkicker.herokuapp.com/: http://petitionkicker.herokuapp.com/

[18] ivan.io/wethepeople-instantsearch/: http://ivan.io/wethepeople-instantsearch/

[19] github.com/bryanbraun/petitions-newslink: https://github.com/bryanbraun/petitions-newslink

[20] newslink.herokuapp.com/: http://newslink.herokuapp.com/

[21] gsa.github.io/slash-developer-pages/: http://gsa.github.io/slash-developer-pages/

[22] / the united states: http://theunitedstates.io

[23] Источник: http://habrahabr.ru/post/201376/