openapi: 3.0.2
info:
  title: API проверки пропусков грузового транспорта на transport.mos.ru
  description: Сервис позволяет получить информацию о пропусках грузового транспорта из реестра transport.mos.ru. Поиск возможен по государственному номеру или по серии и номеру пропуска. Все запросы требуют указания ключа доступа (`key`).
  version: 1.0.0
servers:
  - url: https://parser-api.com/parser/transport_mos_api
paths:
  /:
    get:
      summary: Поиск пропусков грузового транспорта
      description: Для поиска пропусков грузового транспорта используйте следующий запрос.
      parameters:
        - name: key
          in: query
          required: true
          schema:
            type: string
          description: Ключ доступа к сервису (обязательный).
        - name: regNumber
          in: query
          required: false
          schema:
            type: string
          description: Государственный регистрационный номер транспортного средства (обязательный, если не указаны licenseSeries и licenseNumber).
          example: В144МЕ178
        - name: licenseSeries
          in: query
          required: false
          schema:
            type: string
          description: Серия пропуска (обязательный, если не указан regNumber).
          example: ББ
        - name: licenseNumber
          in: query
          required: false
          schema:
            type: string
          description: Номер пропуска (обязательный, если не указан regNumber).
          example: "0115361"
        - name: type
          in: query
          required: false
          schema:
            type: string
            enum:
              - Дневной
              - Ночной
              - Круглосуточный
          description: Тип действия пропуска (необязательный).
      responses:
        '200':
          description: Успешная валидация и обработка запроса.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: integer
                    description: Флаг успешности выполнения запроса. При получении 0 сделайте повторный запрос сразу же или через несколько минут.
                    example: 1
                  records:
                    type: array
                    description: Массив найденных пропусков. Если пропуски не найдены, массив будет пустым.
                    items:
                      type: object
                      properties:
                        licenseNumber:
                          type: string
                          description: Серия и номер пропуска.
                          example: "ББ 0115361"
                        regNumber:
                          type: string
                          description: Государственный регистрационный номер транспортного средства.
                          example: В144МЕ178
                        startDate:
                          type: string
                          description: Дата начала действия пропуска в формате DD.MM.YYYY.
                          example: "08.09.2014"
                        endDate:
                          type: string
                          description: Дата окончания действия пропуска в формате DD.MM.YYYY.
                          example: "12.09.2014"
                        allowedZona:
                          type: string
                          description: Зона ограничения движения (например, "МКАД", "ТТК").
                          example: МКАД
                        status:
                          type: string
                          description: Статус пропуска (например, "Выдан", "Аннулирован").
                          example: Выдан
                        cancellationDate:
                          type: string
                          nullable: true
                          description: Дата аннулирования пропуска в формате DD.MM.YYYY (если применимо).
                          example: null
                        type:
                          type: string
                          description: Тип действия пропуска.
                          enum:
                            - Дневной
                            - Ночной
                            - Круглосуточный
                          example: Дневной
                        licenseType:
                          type: string
                          description: Тип пропуска (например, "Разовый", "Постоянный").
                          example: Разовый
              examples:
                successfulSearch:
                  value:
                    success: 1
                    records:
                      - licenseNumber: "ББ 0115361"
                        regNumber: В144МЕ178
                        startDate: "08.09.2014"
                        endDate: "12.09.2014"
                        allowedZona: МКАД
                        status: Выдан
                        cancellationDate: null
                        type: Дневной
                        licenseType: Разовый
                noRecordsFound:
                  value:
                    success: 1
                    records: []
        '400':
          description: Ошибка валидации запроса.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Подробное описание ошибки.
                    example: regNumber or (licenseSeries and licenseNumber) is required
                  error_code:
                    type: integer
                    description: Код ошибки.
                    example: 40001
        '403':
          description: Ограничение доступа к сервису.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Подробное описание ошибки.
                    example: Invalid access key
                  error_code:
                    type: integer
                    description: Код ошибки.
                    example: 40301
              examples:
                invalidKey:
                  value:
                    error: Invalid access key
                    error_code: 40301
                expiredSubscription:
                  value:
                    error: The subscription period has expired
                    error_code: 40302
                invalidIP:
                  value:
                    error: Invalid IP
                    error_code: 40303
                dayLimitExceeded:
                  value:
                    error: Day limit of requests exceeded
                    error_code: 40304
                monthLimitExceeded:
                  value:
                    error: Month limit of requests exceeded
                    error_code: 40305
