openapi: 3.0.3
info:
  title: ad
  version: 1.0.1782225675181
  description: Сервис ad
  license:
    name: CC BY-NC-ND 4.0
    url: https://gitlab.infra.rtkit.dev/openapi/key/raw/main/LICENCE.md
tags:
  - name: marketplace(public)
    description: Методы marketplace. Не требуют авторизацию. Доступны из интернета
  - name: salepoint(public)
    description: Методы salepoint. Не требуют авторизацию. Доступны из интернета
  - name: marketplace(auth)
    description: Методы marketplace. Требуют авторизацию. Доступны из интернета
  - name: salepoint(auth)
    description: Методы salepoint. Требуют авторизацию. Доступны из интернета
  - name: system(public)
    description: Методы system. Не требуют авторизацию. Доступны из интернета
paths:
  /ad/api/v1/marketplace:
    post:
      summary: |-
        Метод сохранения маркетплейса.
        Поддерживает создание и обновление.
        Метод доступен для: manager, service, application(ad:edit)
      operationId: MarketplaceService_PostMarketplace
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1PostMarketplaceResponse"
        "400":
          description: Ошибка
        "401":
          description: Запрос не авторизован
        "403":
          description: В доступе отказано
        "409":
          description: В базе данных хранится более новая версия объекта
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/v1PostMarketplaceRequest"
        required: true
      tags:
        - marketplace(auth)
      security:
        - oauth2:
            - ad:edit
          bearerHttp: []
      parameters:
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
  /ad/api/v1/marketplace/count:
    get:
      summary: |-
        Метод получения количества маркетплейсов.
        Не требует авторизации
      operationId: MarketplaceService_GetMarketplaceCount
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1GetMarketplaceCountResponse"
        "400":
          description: Ошибка
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      tags:
        - marketplace(public)
      parameters:
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
  /ad/api/v1/marketplace/list:
    get:
      summary: |-
        Метод получения списка маркетплейсов.
        Не требует авторизации
      operationId: MarketplaceService_GetMarketplaceList
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    $ref: "#/components/schemas/v1GetMarketplaceListResponse"
                  error:
                    $ref: "#/components/schemas/rpcStatus"
                title: Поток объектов v1GetMarketplaceListResponse
        "400":
          description: Ошибка
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      tags:
        - marketplace(public)
      parameters:
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
  "/ad/api/v1/marketplace/{id}":
    get:
      summary: |-
        Метод получения маркетплейса.
        Не требует авторизации
      operationId: MarketplaceService_GetMarketplace
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1GetMarketplaceResponse"
        "400":
          description: Ошибка
        "404":
          description: Объект не найден
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      parameters:
        - name: id
          description: Идентификатор маркетплейса
          in: path
          required: true
          schema:
            type: integer
            format: int32
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
      tags:
        - marketplace(public)
  /ad/api/v1/salepoint:
    post:
      summary: |-
        Метод сохранения точки продаж.
        Поддерживает создание и обновление.
        Метод доступен для: manager, service, application(ad:edit)
      operationId: SalepointService_PostSalepoint
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1PostSalepointResponse"
        "400":
          description: Ошибка
        "401":
          description: Запрос не авторизован
        "403":
          description: В доступе отказано
        "409":
          description: В базе данных хранится более новая версия объекта
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/v1PostSalepointRequest"
        required: true
      tags:
        - salepoint(auth)
      security:
        - oauth2:
            - ad:edit
          bearerHttp: []
      parameters:
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
  /ad/api/v1/salepoint/count:
    get:
      summary: |-
        Метод получения количества точек продаж.
        Не требует авторизации
      operationId: SalepointService_GetSalepointCount
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1GetSalepointCountResponse"
        "400":
          description: Ошибка
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      parameters:
        - name: filter.text
          description: |-
            По тексту.
            Если значение не передано то поиск по нему не производится.
            # Поиск производится по полям:
            # - Название
          in: query
          required: false
          schema:
            type: string
        - name: filter.location.latitude
          description: По широте
          in: query
          required: false
          schema:
            type: number
            format: float
        - name: filter.location.longitude
          description: По долготе
          in: query
          required: false
          schema:
            type: number
            format: float
        - name: filter.distance
          description: |-
            По дистанции.
            Игнорируется если местонахождение не передано
          in: query
          required: false
          schema:
            type: number
            format: float
        - name: filter.isArchieved
          description: По архивированым
          in: query
          required: false
          schema:
            type: boolean
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
      tags:
        - salepoint(public)
  /ad/api/v1/salepoint/list:
    get:
      summary: |-
        Метод получения списка точек продаж.
        Не требует авторизации
      operationId: SalepointService_GetSalepointList
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    $ref: "#/components/schemas/v1GetSalepointListResponse"
                  error:
                    $ref: "#/components/schemas/rpcStatus"
                title: Поток объектов v1GetSalepointListResponse
        "400":
          description: Ошибка
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      parameters:
        - name: filter.text
          description: |-
            По тексту.
            Если значение не передано то поиск по нему не производится.
            # Поиск производится по полям:
            # - Название
          in: query
          required: false
          schema:
            type: string
        - name: filter.location.latitude
          description: По широте
          in: query
          required: false
          schema:
            type: number
            format: float
        - name: filter.location.longitude
          description: По долготе
          in: query
          required: false
          schema:
            type: number
            format: float
        - name: filter.distance
          description: |-
            По дистанции.
            Игнорируется если местонахождение не передано
          in: query
          required: false
          schema:
            type: number
            format: float
        - name: filter.isArchieved
          description: По архивированым
          in: query
          required: false
          schema:
            type: boolean
        - name: paging.orderByType
          description: |-
            Тип значения сортировки.
            По умолчанию: ORDER_BY_TYPE_ID

             - ORDER_BY_TYPE_UNKNOWN: Значение не указано
             - ID: По идентификатору
             - DISTANCE: По дистанции
             - RANK_CD: По рангу близости.
            При поиске по тексту
          in: query
          required: false
          schema:
            type: string
            enum:
              - ID
              - DISTANCE
              - RANK_CD
        - name: paging.directionType
          description: |-
            Тип направления сортировки.
            По умолчанию: DESC

             - DIRECTION_TYPE_UNKNOWN: Значение не указано
             - DESC: От большего к меньшему
             - ASC: От меньшего к большему
          in: query
          required: false
          schema:
            type: string
            enum:
              - DESC
              - ASC
        - name: paging.limit
          description: |-
            Количество записей на страницу.
            Минимальное значение: 1.
            Максимальное значение: 100.
            По умолчанию: 20.
            Если значение 0 (не передано), то выставляем значение по умолчанию
          in: query
          required: false
          schema:
            type: integer
            format: int32
        - name: paging.offset
          description: |-
            Сдвиг.
            По умолчанию: 0
          in: query
          required: false
          schema:
            type: integer
            format: int32
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
      tags:
        - salepoint(public)
  "/ad/api/v1/salepoint/{id}":
    get:
      summary: |-
        Метод получения точки продаж.
        Не требует авторизации
      operationId: SalepointService_GetSalepoint
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1GetSalepointResponse"
        "400":
          description: Ошибка
        "404":
          description: Объект не найден
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      parameters:
        - name: id
          description: Идентификатор точки продаж
          in: path
          required: true
          schema:
            type: integer
            format: int32
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
      tags:
        - salepoint(public)
  /ad/api/v1/system/status:
    get:
      summary: |-
        Метод получения статуса сервиса.
        Не требует авторизации
      operationId: SystemService_GetSystemStatus
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1GetSystemStatusResponse"
        "400":
          description: Ошибка
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      tags:
        - system(public)
      parameters:
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
components:
  schemas:
    SalepointPagingDirectionType:
      type: string
      enum:
        - DESC
        - ASC
      description: |-
        - DIRECTION_TYPE_UNKNOWN: Значение не указано
         - DESC: От большего к меньшему
         - ASC: От меньшего к большему
      title: Справочник типов направлений сортировки
    SalepointPagingOrderByType:
      type: string
      enum:
        - ID
        - DISTANCE
        - RANK_CD
      description: |-
        - ORDER_BY_TYPE_UNKNOWN: Значение не указано
         - ID: По идентификатору
         - DISTANCE: По дистанции
         - RANK_CD: По рангу близости.
        При поиске по тексту
      title: Справочник типов значений сортировки
    SalepointWorktime:
      type: object
      properties:
        dayType:
          title: День недели
          allOf:
            - $ref: "#/components/schemas/WorktimeDayType"
        openedAt:
          type: string
          title: Время открытия
        closedAt:
          type: string
          title: Время закрытия
      title: Рабочее время
      required:
        - dayType
        - openedAt
        - closedAt
    WorktimeDayType:
      type: string
      enum:
        - MONDAY
        - TUESDAY
        - WEDNESDAY
        - THURSDAY
        - FRIDAY
        - SATURDAY
        - SUNDAY
      description: |-
        - DAY_TYPE_UNKNOWN: Значение не указано
         - MONDAY: Понедельник
         - TUESDAY: Вторник
         - WEDNESDAY: Среда
         - THURSDAY: Четверг
         - FRIDAY: Пятница
         - SATURDAY: Суббота
         - SUNDAY: Воскресенье
      title: Справочник дней
    protobufAny:
      type: object
      properties:
        "@type":
          type: string
      additionalProperties: {}
      title: Произвольный JSON
    rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: "#/components/schemas/protobufAny"
      title: Ошибка транспортного слоя
    v1GetMarketplaceCountResponse:
      type: object
      properties:
        data:
          type: integer
          format: int32
          title: Всего маркетплейсов
      title: Ответ на запрос получения количества маркетплейсов
    v1GetMarketplaceListResponse:
      type: object
      properties:
        data:
          title: Маркетплейс
          allOf:
            - $ref: "#/components/schemas/v1Marketplace"
      title: Ответ на запрос получения списка маркетплейсов
    v1GetMarketplaceResponse:
      type: object
      properties:
        data:
          title: Маркетплейс
          allOf:
            - $ref: "#/components/schemas/v1Marketplace"
      title: Ответ на запрос получения маркетплейса
    v1GetSalepointCountResponse:
      type: object
      properties:
        data:
          type: integer
          format: int32
          title: Всего точек продаж
      title: Ответ на запрос получения количества точек продаж
    v1GetSalepointListResponse:
      type: object
      properties:
        data:
          title: Точка продаж
          allOf:
            - $ref: "#/components/schemas/v1Salepoint"
      title: Ответ на запрос получения списка точек продаж
    v1GetSalepointResponse:
      type: object
      properties:
        data:
          title: Точка продаж
          allOf:
            - $ref: "#/components/schemas/v1Salepoint"
      title: Ответ на запрос получения точки продаж
    v1GetSystemStatusResponse:
      type: object
      title: Ответ на запрос проверки доступности сервиса
    v1Marketplace:
      type: object
      properties:
        id:
          type: integer
          format: int32
          title: Идентификатор
          readOnly: true
        title:
          type: string
          title: Название
        type:
          title: Тип маркетплейса
          allOf:
            - $ref: "#/components/schemas/v1MarketplaceType"
        isDisabled:
          type: boolean
          title: Выключен ли маркетплейс
        cardUrl:
          type: string
          title: Ссылка на карточку товара ключа в маркетплейсе
        createdAt:
          type: string
          format: date-time
          title: Дата создания
          readOnly: true
        changedAt:
          type: string
          format: date-time
          title: |-
            Дата последнего изменения.
            Заполняется и обновляется сервером.
            Заполняется при создании и изменении.
            Является версией объекта
          readOnly: true
      title: Маркетплейс
      required:
        - title
        - type
    v1MarketplaceType:
      type: string
      enum:
        - OZON
        - WILDBERRIES
        - YANDEX_MARKET
        - SBER_MARKET
      description: |-
        - TYPE_UNKNOWN: Значение не указано
         - OZON: Озон
         - WILDBERRIES: Вайлдберриз
         - YANDEX_MARKET: Яндекс маркет
         - SBER_MARKET: Яндекс маркет
      title: Справочник типов маркетплейсов
    v1PostMarketplaceRequest:
      type: object
      properties:
        data:
          title: Маркетплейс
          allOf:
            - $ref: "#/components/schemas/v1Marketplace"
      title: Запрос сохранения маркетплейса
      required:
        - data
    v1PostMarketplaceResponse:
      type: object
      properties:
        data:
          title: Маркетплейс
          allOf:
            - $ref: "#/components/schemas/v1Marketplace"
      title: Ответ на запрос сохранения маркетплейса
    v1PostSalepointRequest:
      type: object
      properties:
        data:
          title: Точка продаж
          allOf:
            - $ref: "#/components/schemas/v1Salepoint"
      title: Запрос сохранения точки продаж
      required:
        - data
    v1PostSalepointResponse:
      type: object
      properties:
        data:
          title: Точка продаж
          allOf:
            - $ref: "#/components/schemas/v1Salepoint"
      title: Ответ на запрос сохранения точки продаж
    v1Salepoint:
      type: object
      properties:
        id:
          type: integer
          format: int32
          title: Идентификатор
        title:
          type: string
          title: Название
        type:
          title: Тип точки продаж
          allOf:
            - $ref: "#/components/schemas/v1SalepointType"
        description:
          type: string
          title: Описание
        address:
          type: string
          title: Адрес
        location:
          title: Местонахождение
          allOf:
            - $ref: "#/components/schemas/v1SalepointLocation"
        worktimes:
          type: array
          items:
            $ref: "#/components/schemas/SalepointWorktime"
          title: Рабочее время
        phoneNumber:
          type: string
          title: Номер телефона
        siteUrl:
          type: string
          title: Ссылка на сайт
        createdAt:
          type: string
          format: date-time
          title: Дата создания
          readOnly: true
        changedAt:
          type: string
          format: date-time
          title: |-
            Дата последнего изменения.
            Заполняется и обновляется сервером.
            Заполняется при создании и изменении.
            Является версией объекта
          readOnly: true
        archievedAt:
          type: string
          format: date-time
          title: Дата архивации
      title: Точка продаж
      required:
        - title
        - type
        - address
        - location
        - worktimes
        - siteUrl
    v1SalepointFilter:
      type: object
      properties:
        text:
          type: string
          title: |-
            По тексту.
            Если значение не передано то поиск по нему не производится.
            # Поиск производится по полям:
            # - Название
        location:
          title: |-
            По местонахождению.
            Игнорируется если дистанция не передана
          allOf:
            - $ref: "#/components/schemas/v1SalepointFilterLocation"
        distance:
          type: number
          format: float
          title: |-
            По дистанции.
            Игнорируется если местонахождение не передано
        isArchieved:
          type: boolean
          title: По архивированым
      title: Фильтр точек продаж
    v1SalepointFilterLocation:
      type: object
      properties:
        latitude:
          type: number
          format: float
          title: По широте
        longitude:
          type: number
          format: float
          title: По долготе
      title: Местонахождение
    v1SalepointLocation:
      type: object
      properties:
        latitude:
          type: number
          format: float
          title: Широта
        longitude:
          type: number
          format: float
          title: Долгота
      title: Местонахождение
      required:
        - latitude
        - longitude
    v1SalepointPaging:
      type: object
      properties:
        orderByType:
          title: |-
            Тип значения сортировки.
            По умолчанию: ORDER_BY_TYPE_ID
          allOf:
            - $ref: "#/components/schemas/SalepointPagingOrderByType"
        directionType:
          title: |-
            Тип направления сортировки.
            По умолчанию: DESC
          allOf:
            - $ref: "#/components/schemas/SalepointPagingDirectionType"
        limit:
          type: integer
          format: int32
          title: |-
            Количество записей на страницу.
            Минимальное значение: 1.
            Максимальное значение: 100.
            По умолчанию: 20.
            Если значение 0 (не передано), то выставляем значение по умолчанию
        offset:
          type: integer
          format: int32
          title: |-
            Сдвиг.
            По умолчанию: 0
      title: Пагинация по точекам продаж
    v1SalepointType:
      type: string
      enum:
        - TELE2
        - POCHTA_ROSSII
        - PEREKRESTOK
        - PYATEROCHKA
        - ANOTHER
        - MEGAFON
      description: |-
        - TYPE_UNKNOWN: Значение не указано
         - TELE2: Теле2
         - POCHTA_ROSSII: Почта россии
         - PEREKRESTOK: Перекресток
         - PYATEROCHKA: Пятерочка
         - ANOTHER: Другая
         - MEGAFON: Мегафон
      title: Справочник типов точек продаж
  securitySchemes:
    bearerHttp:
      type: http
      scheme: bearer
      bearerFormat: JWT
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://oauth2-staging.k8s.key.rt.ru/oauth2/token
          scopes:
            ad:edit: Предоставляет полный доступ в сервис ad
            ad:read: Предоставляет доступ на чтение данных из сервиса ad
servers:
  - url: https://keyapis-staging.k8s.key.rt.ru
    description: staging
  - url: https://{feature}.k8s.key.rt.ru/
    description: https feature
    variables:
      feature:
        default: ""
        description: Feature name
  - url: http://{feature}.k8s.key.rt.ru/
    description: http feature
    variables:
      feature:
        default: ""
        description: Feature name
  - url: https://localhost:3001
    description: localhost
  - url: https://keyapis.key.rt.ru
    description: production
