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

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

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

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

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

Запрос:
GET https://classif.gov.spb.ru/api/v2/datasets/?per_page=3
Параметры запроса:
page - Номер страницы, необязательно.
per_page - Количество объектов на странице, по умолчанию 10, максимум 100, необязательно.
              
Ответ:
{
  "count": 9,
  "next": "https://classif.gov.spb.ru/api/v2/datasets/?page=2&per_page=3",
  "previous": null,
  "results": [
    {
      "id": 16,
      "name": "Аптеки"
    },
    {
      "id": 17,
      "name": "Школы"
    },
    {
      "id": 18,
      "name": "Почтовые отделения"
    }
  ]
}
              
Формат возвращаемого объекта

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

count - Общие количество элементов
next - Ссылка на следующую страницу
previous - Ссылка на предыдущию страницу
results - Список элементов
id – Id набора
name – Имя набора
              

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

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

Запрос:
GET https://classif.gov.spb.ru/api/v2/datasets/27/
Ответ:
{
  "id": 27,
  "agency": "Организация",
  "name": "Полное наименование набора",
  "short_name": "Краткое наименование набора",
  "name_en": "Англоязычное наименование набора",
  "passport_type": "Набор данных",
  "description": "Описание набора",
  "additional_description": "Дополнительное описание",
  "category": "Категория 1",
  "tags": [
    "тег1", "тег2", "тег3"
  ],
  "periodicity": "Ежемесячно",
  "periodicity_description": "10-ого числа каждого месяца",
  "inf_system": "Информационная система",
  "data_set_url": "https://classif.gov.spb.ru",
  "has_geodata": false,
  "responsible_persons": [
    {
      "name": "Иванов Иван Иванович",
      "phone": "71239876543",
      "email": "provider@test.test"
    }
  ]
}
              
Формат возвращаемого объекта

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

id - id набора
agency – Название организации поставщика
name - Полное наименование набора
short_name - Краткое наименование набора
name_en - Англоязычное наименование набора
passport_type - Вид набора
description - Описание
additional_description - Дополнительное описание
category – Название категории набора данных
tags – Список тегов, которые содержит набор
periodicity – Переодичность обновления данных
periodicity_description - Уточнение периода актуализации. Например, 10-ого числа каждого месяца
inf_system - Информационная система - источник данных
data_set_url - Ссылка на данные на сайте поставщика
has_geodata – Флаг того, что набор данных содержит геоданные
responsible_persons - Список ответственных лиц
name - Фио ответственного лица
phone - Телефон ответственного лица
email - Email ответственного лица
              

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

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

Запрос:
GET https://classif.gov.spb.ru/api/v2/datasets/27/versions/
Ответ:
{
  "count": 4,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": 42,
      "num_id": 1,
      "created_at": "10.12.2017"
    },
    {
      "id": 289,
      "num_id": 2,
      "created_at": "10.01.2018"
    },
    {
      "id": 597,
      "num_id": 3,
      "created_at": "10.02.2018"
    },
    {
      "id": 734,
      "num_id": 4,
      "created_at": "10.03.2018"
    }
  ]
}
              
Формат возвращаемого объекта

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

count - Общие количество элементов
next - Ссылка на следующую страницу
previous - Ссылка на предыдущию страницу
results - Список элементов
id – Id версии
num_id – Порядковый номер версии
craeted_at - Дата загрузки версии
              

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

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

Запрос:
GET https://classif.gov.spb.ru/api/v2/datasets/27/versions/734/
Ответ:
{
  "id": 734,
  "num_id": 4,
  "created_at": "10.03.2018",
  "structures": [
    {
      "id": 2033,
      "name": "Таблица 1",
      "name_en": "table 1",
      "structure_fields": [
        {
          "title": "id",
          "name": "Номер",
          "data_type": "Целое число",
          "description": "Порядковый номер",
          "description_en": "Sequence number",
          "dimension": null,
          "is_required": true,
          "is_primary": true,
          "is_natural": false,
          "is_main_location": false,
          "referenced_dataset": null
        },
        {
          "title": "fk_object",
          "name": "Объект",
          "data_type": "Связанные данные",
          "description": "Объект",
          "description_en": "fk object",
          "dimension": null,
          "is_required": true,
          "is_primary": false,
          "is_natural": false,
          "is_main_location": false,
          "referenced_dataset": {
            "passport_id": 10,
            "version_id": 478,
            "structure_id": 1048,
            "dataset_url": "/api/v2/datasets/10/versions/478/data/1048/"
          }
        },
        {
          "title": "descr",
          "name": "Описание",
          "data_type": "Строка",
          "description": "Описание объекта",
          "description_en": "object descr",
          "dimension": 500,
          "is_required": true,
          "is_primary": false,
          "is_natural": false,
          "is_main_location": false,
          "referenced_dataset": null
        }
      ]
    }
  ]
}
              
Формат возвращаемого объекта:
id - Id версии
num_id - Порядковый номер версии
created_at - Дата загрузки версии
structures - Список таблиц в версии
id - Id таблицы
name - Наименование таблицы, рус.
name_en - Наименование таблицы, англ.
structure_fields - Список полей таблицы
title - Название поля, англ.
name - Название поля, рус.
date_type - Тип поля
description - Описание поля
description_en - Англоязычное описание поля'
dimension - Размерность
is_required - Флаг, указывающий является ли поле обязательным
is_primary - Флаг, указывающий является ли поле первичным ключом
is_natural - Флаг, указывающий является ли поле естественным ключом
is_main_location - Флаг, определяющий какое из полей визуализировать на карте при наличии нескольких адресных атрибутов
referenced_dataset - Информация о связанном наборе данных для поля с типом внешнего ключа
passport_id - Id набора данных
version_id - Id версии
structure_id - Id таблицы
dataset_url - Ссылка на данные связанного набора
              

Перечень связанных наборов данных

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

Запрос:
GET https://classif.gov.spb.ru/api/v2/datasets/1/versions/1/referenced_datasets/
Ответ:
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
        "id": "1",
        "name": "name 1",
        "short_name": "short name 1",
        "agency": "agency name 1",
        "typeof": "Классификатор",
    },
  ]
}
              
Формат возвращаемого объекта:
count - Общие количество элементов
next - Ссылка на следующую страницу
previous - Ссылка на предыдущию страницу
results - Список элементов таблицы
              

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

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

Запрос:
GET https://classif.gov.spb.ru/api/v2/datasets/27/versions/734/data/2033
Параметры запроса:
page - Номер страницы, необязательно.
per_page - Количество объектов на странице, по умолчанию 10, максимум 100, необязательно.
              
Ответ:
{
  "count": 9,
  "next": "https://classif.gov.spb.ru/api/v2/datasets/27/versions/734/data/2033/?page=2&per_page=3",
  "previous": null,
  "results": [
    {
      "id": "1",
      "fk_object": "1",
      "descr": "object 1 description"
    },
    {
      "id": "2",
      "fk_object": "2",
      "descr": "object 2 description"
    },
    {
      "id": "3",
      "fk_object": "3",
      "descr": "object 3 description"
    }
  ]
}
              
Формат возвращаемого объекта:
count - Общие количество элементов
next - Ссылка на следующую страницу
previous - Ссылка на предыдущию страницу
results - Список элементов таблицы
              

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

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

Запрос:
GET https://classif.gov.spb.ru/api/v2/datasets/27/versions/latest/
Ответ:
{
  "id": 734,
  "num_id": 4,
  "created_at": "10.03.2018",
  "structures": [
    {
      "id": 2033,
      "name": "Таблица 1",
      "name_en": "table 1",
      "structure_fields": [
        {
          "title": "id",
          "name": "Номер",
          "data_type": "Целое число",
          "description": "Порядковый номер",
          "description_en": "Sequence number",
          "dimension": null,
          "is_required": true,
          "is_primary": true,
          "is_natural": false,
          "is_main_location": false,
          "referenced_dataset": null
        },
        {
          "title": "fk_object",
          "name": "Объект",
          "data_type": "Связанные данные",
          "description": "Объект",
          "description_en": "fk object",
          "dimension": null,
          "is_required": true,
          "is_primary": false,
          "is_natural": false,
          "is_main_location": false,
          "referenced_dataset": {
            "passport_id": 10,
            "version_id": 478,
            "structure_id": 1048,
            "dataset_url": "/api/v2/datasets/10/versions/478/data/1048/"
          }
        },
        {
          "title": "descr",
          "name": "Описание",
          "data_type": "Строка",
          "description": "Описание объекта",
          "description_en": "object descr",
          "dimension": 500,
          "is_required": true,
          "is_primary": false,
          "is_natural": false,
          "is_main_location": false,
          "referenced_dataset": null
        }
      ]
    }
  ]
}
              
Формат возвращаемого объекта:
id - Id версии
num_id - Порядковый номер версии
created_at - Дата загрузки версии
structures - Список таблиц в версии
id - Id таблицы
name - Наименование таблицы, рус.
name_en - Наименование таблицы, англ.
structure_fields - Список полей таблицы
title - Название поля, англ.
name - Название поля, рус.
date_type - Тип поля
description - Описание поля
description_en - Англоязычное описание поля'
dimension - Размерность
is_required - Флаг, указывающий является ли поле обязательным
is_primary - Флаг, указывающий является ли поле первичным ключом
is_natural - Флаг, указывающий является ли поле естественным ключом
is_main_location - Флаг, определяющий какое из полей визуализировать на карте при наличии нескольких адресных атрибутов
referenced_dataset - Информация о связанном наборе данных для поля с типом внешнего ключа
passport_id - Id набора данных
version_id - Id версии
structure_id - Id таблицы
dataset_url - Ссылка на данные связанного набора
              

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

Запрос к ресурсу /datasets/{id}/versions/latest/data/{structure_version_id}/ возвращает содержимое набора для указанной таблицы (structure_version_id)

Запрос:
GET https://classif.gov.spb.ru/api/v2/datasets/27/versions/latest/data/734/?per_page=3
Параметры запроса:
page - Номер страницы, необязательно.
per_page - Количество объектов на странице, по умолчанию 10, максимум 100, необязательно.
              
Ответ:
{
  "count": 9,
  "next": "https://classif.gov.spb.ru/api/v2/datasets/27/versions/734/data/2033/?page=2&per_page=3",
  "previous": null,
  "results": [
    {
      "id": "1",
      "fk_object": "1",
      "descr": "object 1 description"
    },
    {
      "id": "2",
      "fk_object": "2",
      "descr": "object 2 description"
    },
    {
      "id": "3",
      "fk_object": "3",
      "descr": "object 3 description"
    }
  ]
}
              
Формат возвращаемого объекта:
count - Общие количество элементов
next - Ссылка на следующую страницу
previous - Ссылка на предыдущию страницу
results - Список элементов таблицы
              

Перечень обновлений наборов данных

Запрос к ресурсу /versions/ возвращает обновления набора.

Запрос:
GET https://classif.gov.spb.ru/api/v2/versions/?per_page=3
Параметры запроса:
page - Номер страницы, необязательно.
per_page - Количество объектов на странице, по умолчанию 10, максимум 100, необязательно.
              
Ответ:
{
  "count": 9,
  "next": "https://classif.gov.spb.ru/api/v2/versions/?page=2&per_page=3",
  "previous": null,
  "results": [
    {
        "updated_at": "01.01.2018",
        "passport_id": "1",
        "passport_full_name": "full name 1",
        "passport_short_name": "short name 1",
        "agency": "agency name 1",
        "version_id": "1",
        "num_id": "1",
    },
    {
        "updated_at": "02.02.2018",
        "passport_id": "2",
        "passport_full_name": "full name 2",
        "passport_short_name": "short name 2",
        "agency": "agency name 2",
        "version_id": "2",
        "num_id": "2",
    },
    {
        "updated_at": "03.03.3038",
        "passport_id": "3",
        "passport_full_name": "full name 3",
        "passport_short_name": "short name 3",
        "agency": "agency name 3",
        "version_id": "3",
        "num_id": "3",
    }
  ]
}
              
Формат возвращаемого объекта:
count - Общие количество элементов
next - Ссылка на следующую страницу
previous - Ссылка на предыдущию страницу
results - Список элементов таблицы