openapi: 3.0.0
paths:
  /api/v1/{token}/call/auth/{phone}:
    post:
      operationId: ClientApiCallController_postRequestAuth
      summary: >-
        Создание заявки на проверку номера телефона. Параметры передаются в теле
        запроса в формате JSON
      description: >-
        Создает запрос на проверку указанного номера телефона {phone}. <br><br>В
        ответ на запрос возвращается номер сервисного телефона, на который
        пользователь должен позвонить за отведенное время.<br>Если с
        пользовательского номера {phone} поступает звонок на сервисный номер, то
        проверка завершается успешно.<br>Если звонок не поступает за отведенное
        время, то проверка считается не пройденной.
      parameters:
        - name: token
          required: true
          in: path
          description: Токен доступа. Можно сгенерировать в личном кабинете.
          schema:
            type: string
        - name: phone
          required: true
          in: path
          description: >-
            Номер телефона для проверки. Формат - 11 цифр подряд, начинающихся с
            "7". Другие знаки запрещены. Пример: 79999999999
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestCallAuthDto'
      responses:
        '200':
          description: >-
            В случае успеха возвращает идентификатор запроса на авторизацию.
            Может быть использован в дальнейшем для проверки состояния и
            результата авторизации.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestCallAuthResponseDto'
      tags: &ref_0
        - 'call auth: авторизация через звонок боту'
  /api/v1/{token}/call/status/{requestId}:
    get:
      operationId: ClientApiCallController_getStatus
      summary: Проверка состояния запроса
      description: Позволяет узнать результат проверки номера телефона.
      parameters:
        - name: token
          required: true
          in: path
          description: Токен доступа. Можно сгенерировать в личном кабинете.
          schema:
            type: string
        - name: requestId
          required: true
          in: path
          description: Идентификатор запроса requestId
          schema:
            type: string
      responses:
        '200':
          description: Возвращает данные о текущем статусе запроса
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestCallAuthStatusResponseDto'
      tags: *ref_0
  /api/v1/{token}/call/cancel/{requestId}:
    get:
      operationId: ClientApiCallController_getCancel
      summary: Отмена созданного ранее запроса на авторизацию
      description: Отменяет запрос на проверку номера телефона.
      parameters:
        - name: token
          required: true
          in: path
          description: Токен доступа. Можно сгенерировать в личном кабинете.
          schema:
            type: string
        - name: requestId
          required: true
          in: path
          description: Идентификатор запроса requestId
          schema:
            type: string
      responses:
        '200':
          description: Возвращает результат отмены запроса
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestCallAuthCancelResponseDto'
      tags: *ref_0
  /public-api/v1/call/wait/{requestId}:
    get:
      operationId: ClientApiCallPublicController_waitCallStatus
      summary: Уведомление об изменении состояния запроса на авторизацию звонком
      description: >-
        Публичный метод (доступ без авторизации), который позволяет узнать об
        изменении состояния запроса на проверку номера через звонок.<br>Метод
        исполняется до тех пор, пока не произойдет какое-то событие авторизации
        (long polling).<br>При этом никакие данные об авторизуемом пользователе
        не выдаются, что позволяет использовать метод в публичных частях
        приложений.<br>Приложение, получив уведомление об изменении состояния
        авторизации, может запросить дополнительные данные с помощью метода
        api/v1/:token/call/status/:requestId
      parameters:
        - name: requestId
          required: true
          in: path
          description: Идентификатор запроса requestId
          schema:
            type: string
        - name: timeout
          required: true
          in: query
          description: Максимальное время ожидания изменений в секундах
          schema:
            type: number
      responses:
        '200':
          description: Возвращает данные о том, завершился ли запрос
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestCallAuthPublicStatusResponseDto'
      tags:
        - 'call auth public: публичная часть для авторизации через звонок боту'
  /api/v1/{token}/telegram/auth/{phone}:
    post:
      operationId: ClientApiTelegramAuthController_postRequestAuth
      summary: >-
        Авторизация с подтверждением номера телефона через Телеграм. Параметры
        передаются в теле запроса в формате JSON
      description: >-
        Создает запрос на подтверждение указанного номера телефона {phone} через
        мессенджер Телеграм. <br><br>В ответ возвращается ссылка, открывающая
        чат с ботом в Телеграм. В чате бот предлагает пользователю<br>поделится
        своим номером телефона, на который зарегистрирован аккаунт в Телеграм.
        Если номер телефона аккаунта<br>совпадает с проверяемым номером, то
        проверка завершается успешно.<br>Если номер аккаунта в Телеграм не
        совпадает с проверяемым номером, или пользователь не прислал номер
        <br>за отведенное время, то проверка считается не пройденной.
      parameters:
        - name: token
          required: true
          in: path
          description: Токен доступа. Можно сгенерировать в личном кабинете.
          schema:
            type: string
        - name: phone
          required: true
          in: path
          description: >-
            Номер телефона для проверки. Формат - 11 цифр подряд, начинающихся с
            "7". Другие знаки запрещены. Пример: 79999999999
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestTelegramAuthDto'
      responses:
        '200':
          description: >-
            В случае успеха возвращает идентификатор запроса на авторизацию.
            Может быть использован в дальнейшем для проверки состояния и
            результата авторизации.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestTelegramAuthResponseDto'
      tags: &ref_1
        - 'telegram auth: авторизация через Telegram'
  /api/v1/{token}/telegram/status/{requestId}:
    get:
      operationId: ClientApiTelegramAuthController_getStatus
      summary: Проверка состояния запроса на авторизацию
      description: Позволяет узнать результат проверки номера телефона через Телеграм.
      parameters:
        - name: token
          required: true
          in: path
          description: Токен доступа. Можно сгенерировать в личном кабинете.
          schema:
            type: string
        - name: requestId
          required: true
          in: path
          description: Идентификатор запроса requestId
          schema:
            type: string
      responses:
        '200':
          description: Возвращает данные о текущем статусе запроса
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestTelegramAuthStatusResponseDto'
      tags: *ref_1
  /api/v1/{token}/telegram/cancel/{requestId}:
    get:
      operationId: ClientApiTelegramAuthController_getCancel
      summary: Отмена созданного ранее запроса на авторизацию
      description: Отменяет запрос на проверку номера телефона через Телеграм.
      parameters:
        - name: token
          required: true
          in: path
          description: Токен доступа. Можно сгенерировать в личном кабинете.
          schema:
            type: string
        - name: requestId
          required: true
          in: path
          description: Идентификатор запроса requestId
          schema:
            type: string
      responses:
        '200':
          description: Возвращает результат отмены запроса
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestTelegramAuthCancelResponseDto'
      tags: *ref_1
  /api/v1/{token}/telegram/send/{phone}:
    get:
      operationId: ClientApiTelegramMessageController_getSendMessage
      summary: Отправляет сообщение пользователю в Telegram
      description: >-
        Отправляет сообщение пользователю. Использование метода возможно только
        если ранее пользователь был авторизован через Telegram
      parameters:
        - name: token
          required: true
          in: path
          description: Токен доступа. Можно сгенерировать в личном кабинете.
          schema:
            type: string
        - name: phone
          required: true
          in: path
          description: >-
            Номер телефона для проверки. Формат - 11 цифр подряд, начнающихся с
            "7". Другие знаки запрещены. Пример: 79999999999
          schema:
            type: string
        - name: text
          required: true
          in: query
          description: Текст сообщения
          schema:
            type: string
      responses:
        '200':
          description: Возвращает результат отправки сообщения
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestTelegramMessageResponseDto'
      tags: &ref_2
        - 'telegram message: сообщения в Telegram'
  /api/v1/{token}/telegram/ask/{phone}:
    post:
      operationId: ClientApiTelegramMessageController_postSendAsk
      summary: >-
        Отправляет сообщение-вопрос пользователю в Telegram с вариантами ответа
        в виде кнопок под сообщением
      description: >-
        Отправляет сообщение пользователю. Использование метода возможно только
        если ранее пользователь был авторизован через Telegram
      parameters:
        - name: token
          required: true
          in: path
          description: Токен доступа. Можно сгенерировать в личном кабинете.
          schema:
            type: string
        - name: phone
          required: true
          in: path
          description: >-
            Номер телефона для проверки. Формат - 11 цифр подряд, начнающихся с
            "7". Другие знаки запрещены. Пример: 79999999999
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestTelegramSendAskDto'
      responses:
        '200':
          description: Возвращает результат отправки сообщения
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestTelegramSendAskResponseDto'
      tags: *ref_2
  /api/v1/{token}/telegram/ask-status/{requestId}:
    get:
      operationId: ClientApiTelegramMessageController_getAskStatus
      summary: Проверка состояния сообщения-запроса
      description: >-
        Позволяет узнать, ответил ли пользователь на сообщение-вопрос,
        отправленное в Telegram.
      parameters:
        - name: token
          required: true
          in: path
          description: Токен доступа. Можно сгенерировать в личном кабинете.
          schema:
            type: string
        - name: requestId
          required: true
          in: path
          description: Идентификатор запроса requestId
          schema:
            type: string
      responses:
        '200':
          description: Возвращает текущее состояние сообщения-запроса
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestTelegramAskStatusResponseDto'
      tags: *ref_2
  /api/v1/{token}/telegram