Разработчикам

Использование API-токена

Api доступен только зарегистрированным разработчикам. Токен передаётся в HTTP Header в формате “Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b” . API-токен можно посмотреть в профиле.

Список наборов данных

Запрос к ресурсу /datasets/ возвращает список наборов данных.

Запрос:

GET http://data.gov.spb.ru/api/v1/datasets/

Ответ:

[
    {"id": 16, "name": "Аптеки"},
    {"id": 17, "name": "Школы"},
    {"id": 18, "name": "Почтовые отделения"}
]

Формат возвращаемого объекта

Ответ содержит массив элементов следующего формата:

id – id набора
name – имя набора

Паспорт набора данных

Запрос к ресурсу /datasets/{id}/ возвращает описание набора данных.

Запрос:

GET http://data.gov.spb.ru/api/v1/datasets/18/

Ответ:

{
        "agency": "Организация",
        "responsible_fio": "Иванов Иван Иванович",
        "responsible_phone": "123 45 67",
        "responsible_email": "provider@test.test",
        "category": "Категория 1",
        "inf_system": "Информационная система",
        "periodicity": "Дважды в квартал",
        "has_geodata": false,
        "tags": ["тег1", "тег2", "тег3"],
        "data_set_url": "http://data.gov.spb.ru"
}

Формат возвращаемого объекта

Ответ содержит один элемент следующего формата:

agency – Название организации поставщика
responsible_fio – Фио ответственного
responsible_phone — Телефон ответственного
responsible_email – Email  ответственного
category – Название категории набора данных
periodicity – Переодичность обновления данных
has_geodata – Флаг того, что набор данных содержит геоданные
tags – Теги, которые содержит набор
data_set_url - Ссылка на данные на сайте поставщика

Список версий набора данных

Запрос к ресурсу /datasets/{id}/versions/ возвращает список всех версий, загруженных для этого набора.

Запрос:

GET http://data.gov.spb.ru/api/v1/datasets/18/versions/

Ответ:

[
        {
          "num_id": 1,
          "create_at": "06.11.2014"
        },
         {
          "num_id": 2,
          "create_at": "07.11.2014"
        },
        {
        "num_id": 3,
        "create_at": "14.11.2014"
        }
]

Формат возвращаемого объекта

Ответ содержит один элемент следующего формата:

num_id – id версии набора
create_at – дата загрузки версии

Версия набора данных

Запрос к ресурсу /datasets/{id}/versions/{num_id}/ возвращает описание версии данных.

Запрос:

GET http://data.gov.spb.ru/api/v1/datasets/18/versions/1/

Ответ:

[
    {
        "num_id": 1,
        "create_at": "06.11.2014",
        "structure":
            [{
                "data_type": "Целое число",
                "title": "id",
                "name": "Номер",
                "description": "Порядковый номер",
                "description_en": "Number",
                "dimension": null,
                "is_primary": true,
                "is_main_location": false
            },
            {
                "data_type": "Строка",
                "title": "name",
                "name": "Имя",
                "description": "Описание поля",
                "description_en": "Field description",
                "dimension": 100,
                "is_primary": false,
                "is_main_location": false
            }]
    }
]

Формат возвращаемого объекта:

"num_id" – id версии набора
"create_at" – дата создания версии набора
"structure" – Перечень атрибутов набора данных. Представлен в виде массива элементов вида:
    "data_type" – тип поля данных
    "title" - имя атрибута
    "name" – русское имя атрибута
    "description" – описание атрибута
    "description_en" – англоязычное описание атрибута
    "dimension" – размерность атрибута (null без размерности)
    "is_primary" – флаг, указывающий является ли атрибут ключом
    "is_main_location" –  флаг, определяющий какое из полей визуализировать на карте при наличии нескольких адресных атрибутов
                    

Содержимое набора данных

Запрос к ресурсу /datasets/{id}/versions/{num_id}/data/ возвращает содержимое набора.

Запрос:

GET http://data.gov.spb.ru/api/v1/datasets/18/versions/1/data/

Параметры запроса:

page - Номер страницы, необязательно.
per_page - Количество объектов на странице, по умолчанию 10, максимум 100, необязательно.
                    

Ответ:

[
    {
        "num_id": 1,
        "row":
            {
                "id": "1",
                "name": "Элемент 1"
            }
    },
    {
        "num_id": 2,
        "row":
            {
                "id": "2",
                "name": "Элемент 2"
            }
    },
    {
        "num_id": 3,
        "row":
            {
                "id": "3",
                "name": "Элемент 3"
            }
    }
]

Формат возвращаемого объекта:

num_id - Порядковый номер строки данных
row - Объект, содержащий значения атрибутов для данной строки

Последняя актуальная версия набора данных

Запрос к ресурсу /datasets/{id}/versions/latest/ возвращает описание последней версии данных.

Запрос:

GET http://data.gov.spb.ru/api/v1/datasets/18/versions/latest/

Ответ:

[
    {
        "num_id": 1,
        "create_at": "06.11.2014",
        "structure":
            [{
                "data_type": "Целое число",
                "title": "id",
                "name": "Номер",
                "description": "Порядковый номер",
                "description_en": "Number",
                "dimension": null,
                "is_primary": true,
                "is_main_location": false
            },
            {
                "data_type": "Строка",
                "title": "name",
                "name": "Имя",
                "description": "Описание поля",
                "description_en": "Field description",
                "dimension": 100,
                "is_primary": false,
                "is_main_location": false
            }]
    }
]

Формат возвращаемого объекта:

"num_id" – id версии набора
"create_at" – дата создания версии набора
"structure" – Перечень атрибутов набора данных. Представлен в виде массива элементов вида:
    "data_type" – тип поля данных
    "title" -  имя атрибута
    "name" – русское имя атрибута
    "description" – описание атрибута
    "description_en" – англоязычное описание атрибута
    "dimension" – размерность атрибута (null без размерности)
    "is_primary" – флаг, указывающий является ли атрибут ключом
    "is_main_location" – флаг, указывающий требуется ли проверка геолокации по данному атрибуту

Содержимое последней версии набора данных

Запрос к ресурсу /datasets/{id}/versions/latest/data/ возвращает содержимое набора.

Запрос:

GET http://data.gov.spb.ru/api/v1/datasets/18/versions/latest/data/

Параметры запроса:

page - Номер страницы, необязательно.
per_page - Количество объектов на странице, по умолчанию 10, максимум 100, необязательно.
                    

Ответ:

[
    {
        "num_id": 1,
        "row":
            {
                "id": "1",
                "name": "Элемент 1"
            }
    },
    {
        "num_id": 2,
        "row":
            {
                "id": "2",
                "name": "Элемент 2"
            }
    },
    {
        "num_id": 3,
        "row":
            {
                "id": "3",
                "name": "Элемент 3"
            }
    }
]

Формат возвращаемого объекта:

num_id - Порядковый номер строки данных
row - Объект, содержащий значения атрибутов для данной строки

Подписаться на обновления набора данных

Запрос к ресурсу /datasets/{id}/subscribe/ подписывает на обновления набора данных {id}.

Запрос:

POST http://data.gov.spb.ru/api/v1/datasets/18/subscribe/

Ответ: 200 OK

Отписаться от обновлений набора данных

Запрос к ресурсу /datasets/{id}/unsubscribe/ отписывает от обновлений набора данных {id}.

Запрос:

POST http://data.gov.spb.ru/api/v1/datasets/18/unsubscribe/

Ответ: 200 OK

Список обновлений наборов данных

Запрос к ресурсу /datasets/updates/ возвращает список обновлений наборов данных, на которые подписан владелец токена.

Запрос:

GET http://data.gov.spb.ru/api/v1/datasets/updates/

Ответ:

[
    {
        "dataset_id": 1,
        "reason": "Обновление набора данных",
        "new_version_num_id": 2,
        "link": "http://data.gov.spb.ru/api/v1/datasets/1/versions/2/",
        "updated_at": "08.10.2015"
    },
    {
        "dataset_id": 2,
        "reason": "Обновление набора данных",
        "new_version_num_id": 4,
        "link": "http://data.gov.spb.ru/api/v1/datasets/2/versions/4/",
        "updated_at": "08.10.2015"
    }
]
                    

Формат возвращаемого объекта:

dataset_id – Идентификатор обновленного набора данных
reason – Причина обновления набора данных
new_version_num_id — Версия обновленного набора данных
link – Ссылка на версию обновленного набора данных
updated_at – Дата обновления набора данных