Ранее я писал в паре постов о том как устроена открытость электронных петиций в разных странах, какие данные есть в России и как можно сделать APO для небезызвестной Российской общественной инициативы — www.roi.ru.
Прочитать всё это можно здесь:
- API для Российской общественной инициативы. Шаг 1: сбор и анализ данных
- API для Российской общественной инициативы. Шаг 2.1: опыт Великобритании в работе с данными электронных петиций
В этот раз мы рассмотрим то как устроены электронные петиции Белого Дома, в первую очередь, с точки зрения их открытости и пригодности к данных для использования.
Справка
Особенности петиций в США
- Относятся именно к президенту и ответы дает его администрация.
- Не требуют ничего кроме email'а для подписи — дополнительная авторизация ненужна.
- Петиции должны пройти 2 порога — 150 подписей за 30 дней чтобы их можно было найти (по прямой ссылке они доступны) и 100 000 подписей за 30 дней чтобы получить официальный ответ — petitions.whitehouse.gov/how-why/terms-participation
В цифрах
- всего 2246 петиций
- даны ответы на 208 петиций
- в ожидании ответа 26 петиций
- закрыто 1972 петиций
- открыто для голосования 40 петиций
Цифры учитывают только те петиции что прошли 1-й порог в 150 подписей за 30 дней.
WhiteHouse.gov/developers
Одно из важных отличий сайта Белого Дома США от сайтов всех лидеров в мире — это ориентированность на разработчиков. На сайте даже есть специальный раздел /Developers где размещены данные, раскрыт исходный код проектов и описаны API многих из инициатив если не всех вообще.
Открытый код
Поскольку нас интересуют в первую очередь петиции, то рассмотрим их подробнее.
Во первых исходный код петиций полностью опубликован на Github — https://github.com/WhiteHouse/petitions
У репозитория больше 15 контрибьюторов, несколько десятков багов и вопросов и мы можем говорить о том что разработка проекта идет открытым образом.
Открытое API
Другая сторона происходящего в том для разработчиков доступен не только исходный код, но и API и данные накопленные на сервисе.
Все API по петициям доступны по ссылке — https://petitions.whitehouse.gov/developers
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
Карточка петиции (GET /v1/{petition_id})
Возвращает подробное описание отдельной петиции включая дату её создания, название, текст, статус, дедлайн, темы, число подписавших.
Подробнее — petitions.whitehouse.gov/developers#petitions-retrieve
Список подписантов (GET /v1/{petition_id}/signatures)
И, наконец, по каждой петиции есть возможность получить список всех, или выборку по фильтрам, подписавших петицию без их полных ФИО, но с геокодом в виде почтового индекса и точными датой и временем подписи.
Вот как выглядит элемент массива подписи при ответе этого метода:
"0": {
"id": "5017a5ca6889385944000000",
"type": "signature",
"name": "DP",
"zip": "94530",
"created": 1343727050
},
Подробнее — petitions.whitehouse.gov/developers#petitions-signatures
Особенно интересно последнее — возможность получить информации по каждому голосу даёт многое — немало разработчиков в США используют это для мониторинга активности подписей петиций.
Открытые данные
Но и это еще не все. Для тех кому не так важно получать данные в реальном времени, но важно иметь базу для анализа разработчики дают данные для массовой выгрузки. По ссылке https://api.whitehouse.gov/v1/downloads/data.sql.zip
файл архива адампа в SQL на 200 мегабайт.
Это к вопросу о том что когда есть желание сделать что-то открытым, то возникают не оговорки про то как это сложно, а быстро делается хотя бы таким самым простым образом.
Экосистема
Все вышеперечисленное было бы не так интересно если бы на примере открытия данных о петициях в Белом доме не появилось бы множество проектов использующих эту информацию. Проект изначально сделанный разработчиками для разработчиков очень быстро стал пользоваться популярностью у тех кто создавал экосистему вокруг.
На самом Белом доме есть раздел под названием API Gallery где я насчитал не менее 18 приложений.
Вот лишь неполный список:
- Плагин для WordPress — wordpress.org/plugins/we-the-people/
- Приложение для iPhone — itunes.apple.com/us/app/wethepeople-petitions/id627813134?ls=1&mt=8
- Petition Kicker, монитор вероятности прохождения петиций — petitionkicker.herokuapp.com/
- Моментальный поиск по петициям — ivan.io/wethepeople-instantsearch/
- Монитор взаимосвязи новостей и петиций — github.com/bryanbraun/petitions-newslink и newslink.herokuapp.com/
Петиции это далеко не все
Петиции — это, хотя и важно, но далеко не единственное что государство должно открывать для всех. API для петиций — это лишь малая часть всех API открытых ведомствами США за последние несколько лет. Вот тут можно посмотреть гораздо больше всего — gsa.github.io/slash-developer-pages/, а активисты давно уже создают проект / the united states собрав ключевые API в одном месте
В качестве послесловия. Главное отличие опыта США в работе с петициями — заведомая технологическая прозрачность и построение экосистемы. Кооперация с независимыми разработчиками позволяет привлекать к петициям гораздо большее внимание и использовать технические инструменты для продвижения инициатив.
Автор: ibegtin