openapi: 3.0.0 info: title: APIs Open Data do Open Insurance Brasil description: API de informações de dados do produto Bens em geral. Os recursos que podem ser consumidos pelos participantes conforme a regra 3.1.2 do manual de escopo de dados.. version: 1.3.0 contact: url: 'https://www.gov.br/susep/' servers: - url: 'https://api.organizacao.com.br/open-insurance/products-services/v1' description: Servidor de Producao - url: 'https://api.organizacao.com.br/open-insurance/products-services/v1' description: Servidor de Homologacao tags: - name: "Bens em geral" - name: "AssistanceGeneralAssets" paths: /assistance-general-assets: get: tags: - AssistanceGeneralAssets summary: Obtem a lista dos produtos do tipo Bens em geral description: "Obtem a lista dos produtos do tipo Bens em geral" operationId: "getAssistanceGeneralAssets" parameters: - $ref: "#/components/parameters/cache-Control" - $ref: "#/components/parameters/content-Security-Policy" - $ref: "#/components/parameters/content-Type" - $ref: "#/components/parameters/strict-Transport-Security" - $ref: "#/components/parameters/x-Content-Type-Options" - $ref: "#/components/parameters/x-Frame-Options" - $ref: "#/components/parameters/page" - $ref: "#/components/parameters/pageSize" responses: '200': description: Dados dos produtos de Bens em geral content: application/json: schema: $ref: '#/components/schemas/ResponseAssistanceGeneralAssetsList' '204': $ref: '#/components/responses/NoContent' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '406': $ref: '#/components/responses/NotAcceptable' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' default: description: Dados dos produtos de API de informações de dados do produto Bens em geral. Os recursos que podem ser consumidos pelos participantes conforme a regra 3.1.2 do manual de escopo de dados. content: application/json: schema: $ref: '#/components/schemas/ResponseAssistanceGeneralAssetsList' components: schemas: ResponseAssistanceGeneralAssetsList: type: object required: - data - links - meta properties: data: type: object required: - brand properties: brand: $ref: '#/components/schemas/AssistanceGeneralAssetsBrand' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' AssistanceGeneralAssetsBrand: type: object description: Organizacao controladora do grupo. required: - name - companies properties: name: type: string description: Nome da Marca reportada pelo participante do Open Insurance. O conceito a que se refere a 'marca' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes. maxLength: 80 example: ACME Group Seguros companies: $ref: '#/components/schemas/AssistanceGeneralAssetsCompany' AssistanceGeneralAssetsCompany: type: array items: type: object description: Informações referente a sociedade a qual a marca pertence. required: - name - cnpjNumber - products properties: name: type: string description: Nome da sociedade pertencente à marca. maxLength: 80 example: ACME Seguros cnpjNumber: type: string description: CNPJ da sociedade pertencente à marca. pattern: ^\d{14}$ example: '12345678901234' products: $ref: '#/components/schemas/AssistanceGeneralAssetsProduct' AssistanceGeneralAssetsProduct: type: array description: Lista de produtos de uma empresa. items: type: object required: - name - code - securityType - coverages - assistanceServices - traits - microInsurance - validity - premiumPayment - termsAndConditions - minimumRequirements - targetAudiences properties: name: type: string description: Nome comercial do produto, pelo qual é identificado nos canais de distribuição e atendimento da sociedade. maxLength: 80 example: Produto de Seguro code: type: string description: Código único a ser definido pela sociedade. maxLength: 100 example: "01234589-0" securityType: type: array description: Listagem de tipo de bem segurado items: type: string enum: [SMARTPHONE, NOTEBOOK, TABLET, EQUIPAMENTOS_PORTATEIS, ELETRODOMESTICOS_LINHA_BRANCA, ELETRODOMESTICOS_LINHA_MARROM, AUTOMOVEL, BICICLETA, BICICLETA_ELETRICA, EMPRESA, RESIDENCIA, OUTROS] securityTypeOthers: type: string maxLength: 3000 description: Campo livre para descrição, caso o valor do campo "Tipo de bem segurado" seja 12. Outros coverages: type: array items: type: object required: - coverage - coverageDescription - coverageAttributes - allowApartPurchase properties: coverage: description: Listagem de coberturas incluídas no produto que deve observar a relação discriminada de coberturas. type: string enum: [SERVICOS_EMERGENCIAIS, SERVICOS_DE_CONVENIENCIA, OUTRAS] example: SERVICOS_EMERGENCIAIS coverageDescription: type: string maxLength: 3000 description: Campo aberto para detalhamento de cada uma das coberturas possíveis dos produtos coverageAttributes: $ref: '#/components/schemas/AssistanceGeneralAssetsCoverageAttributes' allowApartPurchase: type: boolean description: Indicação se a cobertura permite contratação separada (por cobertura selecionada). example: true assistanceServices: $ref: '#/components/schemas/AssistanceGeneralAssetsAssistanceServices' traits: type: boolean description: Indicação se o produto é classificado como destinado para cobertura de grandes riscos, sendo tal classificação de acordo com regulamentação específica example: true microInsurance: type: boolean description: Indicação se o produto é classificado como microsseguro. example: true validity: $ref: '#/components/schemas/AssistanceGeneralAssetsValidity' customerServices: type: array items: type: string enum: [REDE_REFERENCIADA, LIVRE_ESCOLHA] premiumPayment: $ref: '#/components/schemas/AssistanceGeneralAssetsPremiumPayment' termsAndConditions: $ref: '#/components/schemas/AssistanceGeneralAssetsTerms' minimumRequirements: $ref: '#/components/schemas/AssistanceGeneralAssetsMinimumRequirements' premiumRates: $ref: '#/components/schemas/structurePremiumRates' targetAudiences: type: array items: type: string example: PESSOA_NATURAL enum: [PESSOA_NATURAL, PESSOA_JURIDICA] AssistanceGeneralAssetsAssistanceServices: type: array description: Agrupamento dos serviços de assistências disponíveis vinculado ao produto. items: type: object required: - assistanceServices properties: assistanceServices: type: boolean description: Indicação se o produto possui serviços de assistências complementares. example: true assistanceServicesPackage: type: array items: type: string description: Para efeitos de comparabilidade considerar agrupamentos de serviços em 4 categorias, conforme os domínios example: ATE_10_SERVICOS enum: [ATE_10_SERVICOS, ATE_20_SERVICOS , ACIMA_20_SERVICOS, CUSTOMIZAVEL] complementaryAssistanceServicesDetail: type: string description: Campo livre para descrição dos serviços ofertados por cada sociedade participante, contendo minimamente cada um dos serviços assistenciais complementares oferecidos e se o pacote se trata de uma cobertura de assistência securitária ou se serviços de assistência maxLength: 1000 example: reboque pane seca chargeTypeSignaling: type: string description: Indicação se o pacote de Assistência é gratuita ou contratada/paga. example: GRATUITO enum: [GRATUITO, PAGO] AssistanceGeneralAssetsValidity: type: array items: type: object required: - term properties: term: description: Prazo de vigência do seguro contratado Intervalo contínuo de tempo durante o qual está em vigor o contrato de seguro type: array items: type: string example: ANUAL enum: [ANUAL, ANUAL_INTERMITENTE, PLURIANUAL, PLURIANUAL_INTERMITENTE, MENSAL, MENSAL_INTERMITENTE, DIARIO, DIARIO_INTERMITENTE, OUTROS] termOthers: type: string description: Campo livre para descrição por cada participante ao selecionar o domínio “Outros” no campo Prazo (acima). maxLength: 100 AssistanceGeneralAssetsPremiumPayment: type: array items: type: object required: - paymentMethod - paymentType properties: paymentMethod: type: string description: Metodo de pagamento enum: [CARTAO_DE_CREDITO, CARTAO_DE_DEBITO, DEBITO_EM_CONTA_CORRENTE, DEBITO_EM_CONTA_POUPANCA, BOLETO_BANCARIO ,PIX, CONSIGNACAO_EM_FOLHA_DE_PAGAMENTO, PONTOS_DE_PROGRAMA_DE_BENEFICIO, OUTROS] example: CARTAO_DE_CREDITO paymentDetail: type: string maxLength: 1024 description: Campo livre para descrição por cada participante ao selecionar o domínio “Outros” no campo Meio de pagamento (acima) paymentType: type: array description: tipo de pagamento items: type: string example: A_VISTA enum: [A_VISTA, PARCELADO] structurePremiumRates: type: object description: | - O campo “Taxa de Prêmio” ou “Taxa de Contribuição” é apenas para referência sobre o valor praticado no mercado para determinado produto e faixas de risco, servindo apenas como estimativa, e não representa o valor que será aplicado na cotação do caso específico do cliente. O preço do seguro leva em consideração diversos fatores e variáveis, e o valor ofertado na cotação/proposta da Seguradora/EAPC é a que prevalecerá. Desse modo, este valor NÃO substitui uma cotação e NÃO garante a aceitação do risco do cliente. - Para os produtos cujo LMI, LMG ou Capital Segurado transpassem da faixa máxima apresentada é necessário contatar diretamente o seu intermediador (corretor) ou a sua seguradora para que seja realizada uma cotação adequada e uma estimativa de valor correta seja transmitida. - Esta informação não está sendo reportada para produtos que não são comercializados de forma individual, ou seja, não são disponibilizadas as informações de seguros coletivos (Exceto Habitacional e Transportes) ou de produtos acessórios. Para maiores detalhes de cotação é necessário entrar em contato comsua seguradora ou seu intermediador (corretor). - A metodologia utilizada para o levantamento destas informações é a que consta no Manual de Escopo de Dados e Serviços do Open Insurance. - Pode haver alterações entre produtos do mesmo ramo dependendo da seguradora, isso porque cada empresa possui um grupo focal de clientes e um estilo operacional. Para mais detalhes entre em contato com a seguradora ou o intermediador (corretor). - As informações de Taxa de prêmio e Taxa de Contribuição são destinadas exclusivamente para o consumo do usuário final para que ele tenha uma noção de quanto custa um seguro, não devem ser utilizadas para fins estatísticos. - Os valores reportados no campo Taxa Prêmio e Taxa de Contribuição são valores que refletem um conjunto de características de um seguro específico de cada companhia, logo,devem ser analisados em conjunto com as demais informações dispostas na Fase I, não sendo factível comparar somente este campo entre Seguradoras. - Para os produtos e modalidades que não estão com as estimativas de valores preenchidas neste campo, é necessário que o cliente entre em contato com a seguradora ou intermediário para realizar a cotação e saber o valor de seu seguro. required: - range_1 - range_2 - range_3 - range_4 properties: range_1: $ref: '#/components/schemas/rangePremiumRates' range_2: $ref: '#/components/schemas/rangePremiumRates' range_3: $ref: '#/components/schemas/rangePremiumRates' range_4: $ref: '#/components/schemas/rangePremiumRates' rangePremiumRates: type: object required: - minimum - maximum - median properties: minimum: $ref: '#/components/schemas/amountRangePremiumRates' maximum: $ref: '#/components/schemas/amountRangePremiumRates' median: $ref: '#/components/schemas/amountRangePremiumRates' amountRangePremiumRates: type: string pattern: ^\d{1,16}\.\d{2}$ example: '10000.00' AssistanceGeneralAssetsTerms: type: object description: Informações dos termos e condições conforme número do processo SUSEP. required: - definition properties: susepProcessNumber: type: string description: Número do processo SUSEP. maxLength: 20 example: 15414.622222/2222-22 definition: type: string description: Campo aberto (possibilidade de incluir uma url). maxLength: 1024 example: https://www.seguradora.com.br/produto/tradicional/pdf/condicoes_gerais.pdf AssistanceGeneralAssetsMinimumRequirements: type: object description: Requisitos mínimos. required: - contractType - minimumRequirementDetails properties: contractType: type: array items: type: string example: COLETIVO enum: [COLETIVO, INDIVIDUAL] minimumRequirementDetails: type: string maxLength: 1024 description: Campo aberto contendo todos os requisitos mínimos para contratação (possibilidade de incluir URL). AssistanceGeneralAssetsCoverageAttributes: type: object description: Informações de cobertura do Seguro. required: - insuredParticipation - maxLMI properties: maxLMI: $ref: '#/components/schemas/AssistanceGeneralAssetsLimit' insuredParticipation: type: array description: Lista com indicativo do tipo de participação do segurado para cada cobertura items: type: string example: FRANQUIA enum: [FRANQUIA, POS, NAO_SE_APLICA] insuredParticipationDescription: type: string maxLength: 1024 description: Lista com descrição referente ao campo “Participação do Segurado” para cada cobertura. AssistanceGeneralAssetsLimit: type: object description: Lista com valor de LMI aceito pela sociedade para cada cobertura. required: - type - amount properties: type: type: string enum: [FINANCEIRO, PERCENTUAL] example: FINANCEIRO amount: $ref: '#/components/schemas/AssistanceGeneralAssetsCoverageAttributesDetails' index: type: string description: Indexador. Condicional, vinculado ao preenchimento do campo Tipo com Percentual enum: [LMG, FINANCEIRO_COBERTURA, OUTRO] example: LMG maxIndexAmount: $ref: '#/components/schemas/AssistanceGeneralAssetsCoverageAttributesDetails' AssistanceGeneralAssetsCoverageAttributesDetails: type: object required: - amount - unit properties: amount: type: number unit: $ref: '#/components/schemas/AssistanceGeneralAssetsCoverageAttributesDetailsUnit' AssistanceGeneralAssetsCoverageAttributesDetailsUnit: type: object required: - code - description properties: code: type: string maxLength: 2 example: R$ description: type: string maxLength: 5 example: REAL Links: type: object properties: self: type: string description: URL da página atualmente requisitada pattern: ^(https:\/\/)(.*?)(\/open-insurance\/products-services\/v\d+)(\/assistance-general-assets.*)?$ example: 'https://api.organizacao.com.br/open-insurance/products-services/v1/assistance-general-assets' first: type: string description: URL da primeira página de registros pattern: ^(https:\/\/)(.*?)(\/open-insurance\/products-services\/v\d+)(\/assistance-general-assets.*)?$ example: 'https://api.organizacao.com.br/open-insurance/products-services/v1/assistance-general-assets' prev: type: string description: URL da página anterior de registros pattern: ^(https:\/\/)(.*?)(\/open-insurance\/products-services\/v\d+)(\/assistance-general-assets.*)?$ example: 'https://api.organizacao.com.br/open-insurance/products-services/v1/assistance-general-assets' next: type: string description: URL da próxima página de registros pattern: ^(https:\/\/)(.*?)(\/open-insurance\/products-services\/v\d+)(\/assistance-general-assets.*)?$ example: 'https://api.organizacao.com.br/open-insurance/products-services/v1/assistance-general-assets' last: type: string description: URL da última página de registros pattern: ^(https:\/\/)(.*?)(\/open-insurance\/products-services\/v\d+)(\/assistance-general-assets.*)?$ example: 'https://api.organizacao.com.br/open-insurance/products-services/v1/assistance-general-assets' Meta: type: object properties: totalRecords: type: integer description: Total de registros encontrados example: 10 totalPages: type: integer description: Total de páginas para os registros encontrados example: 1 required: - totalRecords - totalPages ResponseError: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 13 items: type: object required: - code - title - detail - requestDateTime properties: code: description: Código de erro específico do endpoint type: string pattern: '[\w\W\s]*' maxLength: 255 title: description: Título legível por humanos deste erro específico type: string maxLength: 255 detail: description: Descrição legível por humanos deste erro específico type: string maxLength: 2048 requestDateTime: description: 'Data e hora da consulta, conforme especificação RFC-3339, formato UTC.' type: string maxLength: 2048 format: date-time example: '2021-08-20T08:30:00Z' additionalProperties: false meta: $ref: '#/components/schemas/Meta' additionalProperties: false parameters: page: name: page in: query description: Número da página que está sendo requisitada (o valor da primeira página é 1). schema: type: integer default: 1 minimum: 1 pageSize: name: page-size in: query description: Quantidade total de registros por páginas. schema: type: integer default: 10 minimum: 1 cache-Control: name: cache-control in: header description: Controle de cache para evitar que informações confidenciais sejam armazenadas em cache. required: true schema: type: string pattern: '[\w\W\s]*' content-Security-Policy: name: Content-Security-Policy in: header description: Campo para proteção contra ataques clickjack do estilo - drag and drop. schema: type: string pattern: '[\w\W\s]*' content-Type: name: content-Type in: header description: Especificar o tipo de conteúdo da resposta. schema: type: string pattern: '[\w\W\s]*' strict-Transport-Security: name: Strict-Transport-Security in: header description: Campo para exigir conexões por HTTPS e proteger contra certificados falsificados. schema: type: string pattern: '[\w\W\s]*' x-Content-Type-Options: name: X-Content-Type-Options in: header description: Campo para evitar que navegadores executem a detecção de MIME e interpretem respostas como HTML de forma inadequada. schema: type: string pattern: '[\w\W\s]*' x-Frame-Options: name: X-Frame-Options in: header description: Campo indica se o navegador deve ou não renderizar um frame. schema: type: string pattern: '[\w\W\s]*' responses: UnprocessableEntity: description: 'O servidor entende o tipo de conteúdo da entidade da requisição, e a sintaxe da requisição esta correta, mas não foi possível processar as instruções presente.' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' NoContent: description: 'O recurso solicitado não existe ou não foi localizado.' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' BadRequest: description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' Forbidden: description: O token tem escopo incorreto ou uma política de segurança foi violada content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' InternalServerError: description: Ocorreu um erro no gateway da API ou no microsserviço content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' MethodNotAllowed: description: O consumidor tentou acessar o recurso com um método não suportado content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' NotAcceptable: description: A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' NotFound: description: O recurso solicitado não existe ou não foi implementado content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' TooManyRequests: description: 'A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' Unauthorized: description: Cabeçalho de autenticação ausente/inválido ou token inválido content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError'