Стандарт API (1.0)

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

Файл datarobots.txt

В файле datarobots.txt размещается базовая информация, необходимая для автоматического парсинга данных через API cервисов.

Принципы запроса и отдачи данных

Структура пользовательских данных представляет собой набор объектов.
API сервиса должен принимать на входе URN объекта (подробнее ниже) через GET запрос и выдавать данные в формате JSON.

пример запроса:
http://ethnogenesis.org/api/?urn=urn:opendata:articles:ethnogenesis.org
Адрес API к которому необходимо отправить GET запрос ("?urn=") указывается в datarobots.txt в поле "Api:"

URN

URN - Uniform Resource Name (унифицированное имя ресурса).
Каждому объекту соответствует свой URN. В информационной среде в качестве пространства имён используется "urn:opendata", с которого начинается адрес объекта.
Также возможно использование стандартных URN из общеизвестных пространств имён. Например urn:isbn:5170224575 - URN книги по номеру ISBN.

ID

У каждого объекта должен быть id, который указывается в конце URN.
В качестве ID используется:

  • домен - для сервиса, организации или другого объекта, который имеет свой домен;
  • email адрес - для пользователей;
  • случайный SHA-1 хэш (40 знаков 0..9/a..z) - для всех остальных типов объектов

примеры:
urn:opendata:articles:ethnogenesis.org
urn:opendata:tokenbalance:ethnogenesis.org:konstantin@55334.ru
urn:opendata:article:domain.com:779b7af85d527f87bae6a14ff581654d2aae0d6e

JSON

Выдаваемый по запросу JSON массив должен состоять из следующих элементов:

urn - URN отдаваемого объекта;
status - Статус обработки запроса (1 - без ошибок, 0 - ошибка);
message - Сообщение о результате запроса ('Ok' - если нет ошибок);
timestamp - Время редактирования/создания объекта в часовом поясе utc+0;
service - Онлайн сервис, в котором была создана текущая версия объекта;
data - Сами данные об объекте в соответствии с требованиями к структуре данного URN.