Syntax highlighting of docs/quickstart-python

= Быстрый старт: Работа с 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}}} и {{{offset}}}. Этот запрос позволяет получить список закупок с ограничением количества результатов и смещением.

{{{
#!python
import urllib.request
import json

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

# Параметры запроса
params = {
    "limit": 10,  # Количество результатов
    "offset": 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}}} и {{{offset}}} к базовому URL с помощью строкового форматирования.
 1. ''Выполнение запроса'': Используем {{{urllib.request.urlopen}}} для отправки GET-запроса.
 1. ''Обработка ответа'': Ответ декодируется из байтов в строку, а затем преобразуется из JSON в словарь Python с помощью модуля {{{json}}}.
 1. ''Вывод данных'': Результат выводится в удобочитаемом формате с отступами.

== Что дальше? ==

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

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

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