Быстрый старт: Работа с API на Python

Добро пожаловать в раздел "Быстрый старт" для работы с ГосПлан API v2 с использованием Python! Этот раздел предназначен для разработчиков, которые предпочитают использовать Python для взаимодействия с API. Мы будем использовать стандартные библиотеки Python 3, такие как urllib для выполнения HTTP-запросов и json для обработки ответов. Вам не потребуется устанавливать дополнительные зависимости.

Что вам понадобится

Убедитесь, что у вас установлен Python версии 3.x. Вы можете проверить это, выполнив команду:

python3 --version

Для выполнения запросов по этой инструкции не требуется аутентификация, что позволяет вам сразу приступить к тестированию.

Пример простого сценария

Ниже приведен пример Python-скрипта, который выполняет GET-запрос к методу /fz44/purchases (https://swagger.gosplan.info/?urls.primaryName=44-ФЗ#/Закупки/getPurchases) с указанием параметров limit и skip. Этот запрос позволяет получить список закупок с ограничением количества результатов и смещением.

#!python
import urllib.request
import json

# URL конечной точки API
url = "https://v2test.gosplan.info/fz44/purchases"

# Параметры запроса
params = {
    "limit": 10,  # Количество результатов
    "skip": 0   # Смещение
}

# Формирование полного URL с параметрами
query_string = "&".join(f"{key}={value}" for key, value in params.items())
full_url = f"{url}?{query_string}"

# Выполнение GET-запроса
try:
    with urllib.request.urlopen(full_url) as response:
        data = response.read().decode("utf-8")  # Чтение ответа
        result = json.loads(data)  # Преобразование JSON-строки в словарь Python
        # Вывод результатов
        print(json.dumps(result, indent=4, ensure_ascii=False))
except Exception as e:
    print(f"Произошла ошибка: {e}")

Как это работает

  1. Формирование URL: Мы добавляем параметры limit и skip к базовому URL с помощью строкового форматирования.
  2. Выполнение запроса: Используем urllib.request.urlopen для отправки GET-запроса.
  3. Обработка ответа: Ответ декодируется из байтов в строку, а затем преобразуется из JSON в словарь Python с помощью модуля json.
  4. Вывод данных: Результат выводится в удобочитаемом формате с отступами.

Что дальше?

Для выполнения запросов по этой инструкции аутентификация не требуется и актуальность данных соответствует продуктовому сервису. При этом на тестовом сервере https://v2test.gosplan.info существует значительное ограничение на количество запросов. Для получения полного доступа к функционалу API вам потребуется зарегистрироваться на платформе и получить API-ключ (см. раздел "Регистрация и аутентификация" на главной странице).

Кроме того, будет полезным ознакомиться с описанием API методов на ресурсе https://swagger.gosplan.info.

Если возникнут вопросы, обратитесь к разделу Частые вопросы на главной странице или свяжитесь со службой поддержки (раздел "Контакты" на главной странице).