openapi: 3.0.1
info:
  title: API Vida Produto
  description: Fornecimento de Produtos.
  contact: { }
  license:
    name: Unlencese
    url: http://unlicense.org/
  version: v1
servers:
  - url: https://parceiros.bradescoseguros.com.br/vida-produtos/v1
paths:
  /produtos:
    get:
      tags:
        - produtos
      summary: Produtos
      description: Obtem Produtos disponíveis de acordo com o Codigo e Data de Solicitação informada
      operationId: obterProdutosPorFiltro
      parameters:
        - name: Authorization
          in: header
          description: Authorization
          required: true
          schema:
            type: string
        - name: token
          in: header
          description: token
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ObterProdutoFiltro'
              examples:
                default:
                  value: 
        '401':
          description: Unauthorized
          content:
            '*/*': { }
        '403':
          description: Forbidden
          content:
            '*/*': { }
        '404':
          description: Not Found
          content:
            '*/*': { }
  /produtos/informacoes:
    get:
      tags:
        - produtos-caracteristicas
      summary: Produtos Características
      description: Obtem Informações dos Produtos de acordo com Código e Chave de Produto informada
      operationId: obterInformacoesProduto
      parameters:
        - name: Authorization
          in: header
          description: Authorization
          required: true
          schema:
            type: string
        - name: token
          in: header
          description: token
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Opin-srv-parcerias-vida-produtosObterProdutosInformacoesGet200-Response'
              examples:
                default:
                  value: 
        '401':
          description: Unauthorized
          content:
            '*/*': { }
        '403':
          description: Forbidden
          content:
            '*/*': { }
        '404':
          description: Not Found
          content:
            '*/*': { }
  /produtos/planos/caracteristicas:
    get:
      tags:
        - produtos-planos
      summary: Planos Características
      description: 'Obtem Características dos Planos, de acordo com a Chave de Produto, Data de Solicitação e Chave do Plano. Parâmetros devem passados no atributo ''Token'' com assinatura JWT.'
      operationId: getObterCaracteristicasDoPlano
      parameters:
        - name: Authorization
          in: header
          description: Authorization
          required: true
          schema:
            type: string
        - name: token
          in: header
          description: "parametros criptografados:\r\nCodigoOrigem [Numerico, 4] - Código de Acesso Origem\r\nChaveProduto [Texto] - Chave do Produto\r\nChavePlano [Texto] - Chave do Plano"
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Opin-srv-parcerias-vida-planosObterCaracteristicasPlanoGet200ApplicationXmlR'
              example: string
            application/xml:
              schema:
                $ref: '#/components/schemas/Opin-srv-parcerias-vida-planosObterCaracteristicasPlanoGet200ApplicationXmlR'
              example: <Opin-srv-parcerias-vida-planosObterCaracteristicasPlanoGet200ApplicationXmlR>string</Opin-srv-parcerias-vida-planosObterCaracteristicasPlanoGet200ApplicationXmlR>
        '401':
          description: Unauthorized
          content:
            application/json: { }
            application/xml: { }
        '403':
          description: Forbidden
          content:
            application/json: { }
            application/xml: { }
        '404':
          description: Not Found
          content:
            application/json: { }
            application/xml: { }
  /produtos/planos:
    get:
      tags:
        - planos-produtos
      summary: Produtos Planos
      description: Obtem os Planos de acordo com o Produto informado. Parâmetros devem passados no atributo 'Token' com assinatura JWT.
      operationId: getObterPlanosPorProduto
      parameters:
        - name: Authorization
          in: header
          description: Authorization
          required: true
          schema:
            type: string
        - name: token
          in: header
          description: "parametros criptografados:\r\nCodigoOrigem [Numerico, 4] - Código de Acesso Origem\r\nChaveProduto [Texto] - Chave do Produto"
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Opin-srv-parcerias-vida-planosObterPlanosGet200ApplicationXmlResponse'
              example: string
            application/xml:
              schema:
                $ref: '#/components/schemas/Opin-srv-parcerias-vida-planosObterPlanosGet200ApplicationXmlResponse'
              example: <Opin-srv-parcerias-vida-planosObterPlanosGet200ApplicationXmlResponse>string</Opin-srv-parcerias-vida-planosObterPlanosGet200ApplicationXmlResponse>
        '401':
          description: Unauthorized
          content:
            application/json: { }
            application/xml: { }
        '403':
          description: Forbidden
          content:
            application/json: { }
            application/xml: { }
        '404':
          description: Not Found
          content:
            application/json: { }
            application/xml: { }
  /produtos/coberturas:
    get:
      tags:
        - produtos-coberturas
      summary: Produtos Coberturas
      description: Obtêm Coberturas do Produto através do Codigo e ChaveProduto informada. Parâmetros devem passados no atributo 'Token' com assinatura JWT.
      operationId: getObterCoberturasPorFiltro
      parameters:
        - name: Authorization
          in: header
          description: Authorization
          required: true
          schema:
            type: string
        - name: token
          in: header
          description: token
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cobertura'
              example:
                CoberturaLista:
                  - { }
                ServicoLista:
                  - { }
                SorteioLista:
                  - { }
            application/xml:
              schema:
                $ref: '#/components/schemas/Cobertura'
              example: <Cobertura> <CoberturaLista /> <ServicoLista /> <SorteioLista /> </Cobertura>
        '401':
          description: Unauthorized
          content:
            application/json: { }
            application/xml: { }
        '403':
          description: Forbidden
          content:
            application/json: { }
            application/xml: { }
        '404':
          description: Not Found
          content:
            application/json: { }
            application/xml: { }
components:
  schemas:
    CaracteristicasGerais:
      title: CaracteristicasGerais
      type: object
      properties:
        TipoProponente:
          type: string
    FaixaLista:
      title: FaixaLista
      type: object
      properties:
        NomeFaixa:
          type: string
        ValorFaixaFinal:
          type: string
        ValorFaixaInicial:
          type: string
    ListaProduto:
      title: ListaProduto
      type: object
      properties:
        CaracteristicasGerais:
          $ref: '#/components/schemas/CaracteristicasGerais'
        ChaveProduto:
          type: string
        CodigoFamiliaProduto:
          type: integer
          format: int64
        CodigoLinhaNegocio:
          type: string
        CodigoProduto:
          type: integer
          format: int64
        DescricaoProduto:
          type: string
        FaixaLista:
          type: array
          items:
            $ref: '#/components/schemas/FaixaLista'
        NomeProduto:
          type: string
        VersaoProduto:
          type: integer
          format: int64
    ObterProdutoFiltro:
      title: ObterProdutoFiltro
      type: object
      properties:
        ListaProduto:
          type: array
          items:
            $ref: '#/components/schemas/ListaProduto'
        Mensagem:
          type: string
        Origem:
          $ref: '#/components/schemas/Origem'
        Sucesso:
          type: boolean
    Origem:
      title: Origem
      type: object
      properties:
        CodigoOrigem:
          type: integer
          format: int64
    Cobertura:
      title: Cobertura
      type: object
      properties:
        CoberturaLista:
          type: array
          items:
            type: object
        ServicoLista:
          type: array
          items:
            type: object
        SorteioLista:
          type: array
          items:
            type: object
    Opin-srv-parcerias-vida-produtosObterProdutosInformacoesGet200-Response:
      type: object
    Opin-srv-parcerias-vida-planosObterCaracteristicasPlanoGet200ApplicationJson:
      type: string
    Opin-srv-parcerias-vida-planosObterCaracteristicasPlanoGet200ApplicationXmlR:
      type: string
    Opin-srv-parcerias-vida-planosObterPlanosGet200ApplicationJsonResponse:
      type: string
    Opin-srv-parcerias-vida-planosObterPlanosGet200ApplicationXmlResponse:
      type: string
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      name: Ocp-Apim-Subscription-Key
      in: header
    apiKeyQuery:
      type: apiKey
      name: subscription-key
      in: query
security:
  - apiKeyHeader: [ ]
  - apiKeyQuery: [ ]
tags:
  - name: Operações de Produtos
    description: Produtos Controller