openapi: 3.0.2
info:
  title: API проверки электронных паспортов транспортных средств (ЭПТС)
  description: Сервис позволяет проверить наличие электронного паспорта транспортного средства по VIN номеру, номеру ПТС или заводскому номеру (PIN). Все запросы требуют указания ключа доступа (`key`).
  version: 1.0.0
servers:
  - url: https://parser-api.com/parser/elpts_api
paths:
  /:
    get:
      summary: Проверка наличия электронного ПТС
      description: Для проверки наличия электронного паспорта транспортного средства используйте следующий запрос. Необходимо указать VIN, номер ПТС или заводской номер (PIN).
      parameters:
        - name: key
          in: query
          required: true
          schema:
            type: string
          description: Ключ доступа (обязательный).
        - name: vin
          in: query
          required: false
          schema:
            type: string
            example: XKN0A1000L1000003
          description: VIN номер транспортного средства (обязательный, если не указаны pts и pin).
        - name: pts
          in: query
          required: false
          schema:
            type: string
            example: '164301036658858'
          description: Номер ПТС (обязательный, если не указаны vin и pin).
        - name: pin
          in: query
          required: false
          schema:
            type: string
            example: P042062
          description: Заводской номер (PIN) (обязательный, если не указаны vin и pts).
      responses:
        '200':
          description: Успешная валидация и обработка запроса.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: integer
                    description: Флаг успешности выполнения запроса. При получении 0 сделайте повторный запрос сразу же или через несколько минут.
                    example: 1
                  found:
                    type: integer
                    enum:
                      - 0
                      - 1
                    description: Существует или нет электронный ПТС. 1 - найден, 0 - не найден.
                    example: 1
                  status:
                    type: string
                    description: Статус электронного ПТС.
                    example: действующий
                  records:
                    type: array
                    description: Массив записей с информацией об электронном ПТС.
                    items:
                      type: object
                      properties:
                        country:
                          type: string
                          description: Страна.
                          example: Российская Федерация
                        type:
                          type: string
                          description: Вид электронного паспорта.
                          example: Электронный паспорт транспортного средства
                        displosal_fee:
                          type: string
                          description: Сведения об уплате утилизационного сбора.
                          example: Российская Федерация - уплачен
                        restrictions_status:
                          type: string
                          description: Ограничения (обременения) за исключением таможенных.
                          example: сведения об ограничениях отсутствуют
                        customs_restrictions_status:
                          type: string
                          description: Таможенные ограничения.
                          example: отсутствуют
                        last_reg_action:
                          type: string
                          description: Сведения о последнем регистрационном действии.
                          example: Российская Федерация - Постановка на регистрационный учет - 05.12.2024
                        production:
                          type: string
                          description: Сведения о выпуске (таможенное оформление).
                          example: Отсутствуют
              examples:
                found:
                  value:
                    success: 1
                    found: 1
                    status: действующий
                    records:
                      - country: Российская Федерация
                        type: Электронный паспорт транспортного средства
                        displosal_fee: Российская Федерация - уплачен
                        restrictions_status: сведения об ограничениях отсутствуют
                        customs_restrictions_status: отсутствуют
                        last_reg_action: Российская Федерация - Постановка на регистрационный учет - 05.12.2024
                        production: Отсутствуют
                notFound:
                  value:
                    success: 1
                    found: 0
        '400':
          description: Ошибка валидации запроса.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Подробное описание ошибки.
                    example: VIN, pts or pin 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
