Интеграции

API для агрегаторов

Публичный API v1 передает открытые закупки MikroTon Tender без регистрации: название, описание, заказчика, ИНН, дату создания, срок подачи, начальную цену, позиции и публичные документы закупки.

Подключение

Base URL https://tender.mt52.ru/api/v1
Версия v1 / schema 1.0
Часовой пояс Europe/Moscow, МСК

Основные endpoints

GET /api/v1

Версия API, ссылки на документацию и политика совместимости.

GET /api/v1/health

Проверка доступности API.

GET /api/v1/tenders

Список открытых публичных закупок. Параметры: page, page_size, q, created_since, updated_since, status=open.

GET /api/v1/tenders/{id}

Карточка открытой закупки: публичные данные, позиции и публичные документы.

GET /api/v1/tenders/{id}/documents

Список публичных документов закупки.

GET /api/v1/tenders/{id}/documents/{document_id}/download

Скачивание публичного документа закупки.

Документация OpenAPI

Машиночитаемая схема доступна по адресу /openapi.json, интерактивная документация - /docs.

Пример списка закупок

{
  "meta": {
    "api_version": "v1",
    "schema_version": "1.0",
    "page": 1,
    "page_size": 50,
    "total": 1,
    "total_pages": 1
  },
  "items": [
    {
      "id": 1,
      "title": "Поставка листового алюминия",
      "description": "Открытая закупка материалов",
      "status": "open",
      "stage_code": "accepting_offers",
      "stage_label": "Идет прием заявок",
      "result_status": "accepting_offers",
      "procedure_type": "request_for_proposals",
      "customer": {
        "id": 5,
        "name": "ООО «ПКФ МИКРОТОН»",
        "inn": "5263135670"
      },
      "created_at": "2026-06-01T12:00:00+03:00",
      "submission_deadline": "2026-06-10T16:00:00+03:00",
      "start_price": 125000.0,
      "currency": "RUB",
      "portal_url": "https://tender.mt52.ru/tenders/1",
      "documents_url": "https://tender.mt52.ru/api/v1/tenders/1/documents"
    }
  ]
}

Пример карточки и документов

{
  "id": 1,
  "title": "Поставка листового алюминия",
  "items": [
    {
      "position_index": 1,
      "name": "Лист алюминиевый",
      "unit": "шт",
      "quantity": "300.000",
      "base_vat_rate": "22.000"
    }
  ],
  "documents": [
    {
      "id": 10,
      "filename": "documentation.pdf",
      "doc_type": "tender",
      "uploaded_at": "2026-06-01T12:10:00+03:00",
      "size_bytes": 245760,
      "download_url": "https://tender.mt52.ru/api/v1/tenders/1/documents/10/download"
    }
  ]
}

Ошибки и кеширование

Ответы API содержат заголовки X-MikroTon-API-Version, X-MikroTon-API-Schema, Cache-Control и ETag. Для повторного запроса можно передать If-None-Match; если данные не изменились, API вернет 304 Not Modified.

{
  "detail": "Tender not found"
}

Типовые коды: 200 - успешный ответ, 304 - данные не изменились, 404 - закупка или документ не найдены, 422 - некорректные параметры запроса.

Время и фильтры

Публичные даты возвращаются в часовом поясе Europe/Moscow с явным смещением +03:00. Срок подачи заявок является московским деловым временем и не должен повторно конвертироваться на стороне агрегатора.

Параметр updated_since поддерживается для совместимости с агрегаторами. В API v1 он фильтрует закупки по дате создания; полноценное поле изменения будет добавлено отдельным расширением без удаления текущего поведения.

Совместимость v1

API v1 развивается добавлением новых полей и endpoints. Уже опубликованные поля и URL сохраняются стабильными для агрегаторов. Закрытые закупки, заявки поставщиков, персональные данные пользователей и непубличные документы через API не передаются.