openapi: 3.0.0 info: title: APIs Open Data do Open Insurance Brasil description: API de informações de dados do produto Transportes. Os recursos que podem ser consumidos pelos participantes conforme a regra 3.1.2 do manual de escopo de dados.. version: 1.2.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: "Transportes" - name: "Transport" paths: /transport: get: tags: - Transport summary: Obtem a lista dos produtos do tipo Transport description: "Obtem a lista dos produtos do tipo Transport - RCA-C, RCF-DC, RCOTM-C, RCTA-C, RCTF-C, RCTR-C, RCTR-VI-C, Carta Azul, Transporte Internacional, Nacional e Ônibus" operationId: "getTransport" 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 Transport - RCA-C, RCF-DC, RCOTM-C, RCTA-C, RCTF-C, RCTR-C, RCTR-VI-C, Carta Azul, Transporte Internacional, Nacional e Ônibus content: application/json: schema: $ref: '#/components/schemas/ResponseTransportList' '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 Transportes. Os recursos que podem ser consumidos pelos participantes conforme a regra 3.1.2 do manual de escopo de dados. - RCA-C, RCF-DC, RCOTM-C, RCTA-C, RCTF-C, RCTR-C, RCTR-VI-C, Carta Azul, Transporte Internacional, Nacional e Ônibus content: application/json: schema: $ref: '#/components/schemas/ResponseTransportList' components: schemas: ResponseTransportList: type: object required: - data - links - meta properties: data: type: object required: - brand properties: brand: $ref: '#/components/schemas/TransportBrand' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' TransportBrand: 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: EMPRESA A seguros companies: $ref: '#/components/schemas/TransportCompany' TransportCompany: type: array items: description: Informações referente a sociedade a qual a marca pertence. required: - name - cnpjNumber - products properties: name: type: string description: Nome da Instituição, 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/TransportProduct' TransportProduct: type: array description: Lista de produtos de uma empresa. items: type: object required: - code - coverages - maxLMG - assistanceServices - traits - validity - policyType - 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: 80 example: "01234589-0" coverages: type: array items: type: object required: - coverage - coverageDescription - allowApartPurchase - coverageAttributes properties: coverage: description: Listagem de coberturas incluídas no produto que deve observar a relação discriminada de coberturas. type: string example: ACIDENTES_PESSOAIS_COM_PASSAGEIROS enum: [ACIDENTES_PESSOAIS_COM_PASSAGEIROS, ACIDENTES_PESSOAIS_COM_TRIPULANTES, DANOS_CORPORAIS_PASSAGEIROS, DANOS_CORPORAIS_TERCEIROS, DANOS_CORPORAIS_TRIPULANTES, DANOS_ESTETICOS_PASSAGEIROS, DANOS_ESTETICOS_TERCEIROS, DANOS_ESTETICOS_TRIPULANTES, DANOS_MATERIAIS_PASSAGEIROS, DANOS_MATERIAIS_TERCEIROS, DANOS_MATERIAIS_TRIPULANTES, DANOS_MORAIS_PASSAGEIROS, DANOS_MORAIS_TERCEIROS, DANOS_MORAIS_TRIPULANTES, DESPESAS_COM_HONORARIOS, EMBARCADOR_AMPLA_A_RISCOS_DE_PERDA_OU_DANO_MATERIAL_SOFRIDOS_PELO_OBJETO_SEGURADO_EM_CONSEQUENCIA_DE_QUAISQUER_CAUSAS_EXTERNAS_EXCETO_AS_PREVISTAS_NA_CLAUSULA_DE_PREJUIZOS_NAO_INDENIZAVEIS, EMBARCADOR_RESTRITA_B_COBERTURAS_ELENCADAS_NA_EMBARCADOR_RESTRITA_C_E_INCLUI_INUNDACAO_TRANSBORDAMENTO_DE_CURSOS_DAGUA_REPRESAS_LAGOS_OU_LAGOAS_DURANTE_A_VIAGEM_TERRESTRE_DESMORONAMENTO_OU_QUEDA_DE_PEDRAS_TERRAS_OBRAS_DE_ARTE_DE_QUALQUER_NATUREZA_OU_OUTROS_OBJETOS_DURANTE_A_VIAGEM_TERRESTRE_TERREMOTO_OU_ERUPCAO_VULCANICA_E, ENTRADA_DE_AGUA_DO_MAR_LAGO_OU_RIO_NA_EMBARCACAO_OU_NO_NAVIO, VEICULO_CONTAINER_FURGAO_LIFTVAN_OU_LOCAL_DE_ARMAZENAGEM, EMBARCADOR_RESTRITA_C_PERDAS_E_DANOS_MATERIAIS_CAUSADOS_AO_OBJETO_SEGURADO_EXCLUSIVAMENTE_POR_INCENDIO_RAIO_OU_EXPLOSAO_ENCALHE, NAUFRAGIO_OU_SOCOBRAMENTO_DO_NAVIO_OU_EMBARCACAO_CAPOTAGEM_COLISAO_TOMBAMENTO_OU_DESCARRILAMENTO_DE_VEICULO_TERRESTRE_ABALROAMENTO_COLISAO_OU_CONTATO_DO_NAVIO_OU_EMBARCACAO_COM_QUALQUER_OBJETO_EXTERNO_QUE_NAO_SEJA_AGUA_COLISAO_QUEDA_E_OU_ATERRISSAGEM_FORCADA_DA_AERONAVE_DEVIDAMENTE_COMPROVADA_DESCARGA_DA_CARGA_EM_PORTO_DE_ARRIBADA_CARGA_LANCADA_AO_MAR_PERDA_TOTAL_DE_QUALQUER_VOLUME_DURANTE_AS_OPERACOES_DE_CARGA_E_DESCARGA_DO_NAVIO_E, PERDA_TOTAL_DECORRENTE_DE_FORTUNA_DO_MAR_E_OU_DE_ARREBATAMENTO_PELO_MAR, RESPONSABILIDADE_CIVIL_DO_OPERADOR_DE_TRANSPORTES_MULTIMODAL_CARGA_RCOTM_C, RESPONSABILIDADE_CIVIL_DO_TRANSPORTADOR_AEREO_CARGA_RCTA_C, RESPONSABILIDADE_CIVIL_DO_TRANSPORTADOR_AQUAVIARIO_CARGA_RCA_C, RESPONSABILIDADE_CIVIL_DO_TRANSPORTADOR_FERROVIARIO_CARGA_RCTF_C, RESPONSABILIDADE_CIVIL_DO_TRANSPORTADOR_RODOVIARIO_CARGA_RCTR, RESPONSABILIDADE_CIVIL_DO_TRANSPORTADOR_RODOVIARIO_EM_VIAGEM_INTERNACIONAL_DANOS_CAUSADOS_A_PESSOAS_OU_COISAS_TRANSPORTADAS_OU_NAO_A_EXCECAO_DA_CARGA_TRANSPORTADA_CARTA_AZUL, RESPONSABILIDADE_CIVIL_DO_TRANSPORTADOR_RODOVIARIO_EM_VIAGEM_INTERNACIONAL_DANOS_A_CARGA_TRANSPORTADA_RCTR_VI_C_, RESPONSABILIDADE_CIVIL_DO_TRANSPORTADOR_RODOVIARIO_POR_DESAPARECIMENTO_DE_CARGA_RCF_DC, OUTRAS] coverageDescription: type: string maxLength: 3000 description: Campo aberto para detalhamento de cada uma das coberturas possíveis dos produtos allowApartPurchase: type: boolean description: Indicação se a cobertura permite contratação separada (por cobertura selecionada). example: true coverageAttributes: $ref: '#/components/schemas/TransportCoverageAttributes' maxLMG: $ref: '#/components/schemas/TransportCoverageLimitGuarantee' assistanceServices: $ref: '#/components/schemas/TransportAssistanceServices' 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: false validity: $ref: '#/components/schemas/TransportValidity' premiumRates: description: Distribuição de frequência relativa aos valores referentes às taxas cobradas, nos termos do Anexo III. type: string maxLength: 1024 policyType: description: Tipo de inclusão do risco na apólice. type: array items: type: string example: AVULSA enum: [AVULSA, AVERBACAO, CERTIFICADO, AJUSTAVEL, SEM_AVERBACAO, NAO_SE_APLICA] termsAndConditions: $ref: '#/components/schemas/TransportTerms' minimumRequirements: $ref: '#/components/schemas/TransportMinimumRequirements' targetAudiences: description: Público Alvo type: array items: type: string example: PESSOA_FISICA enum: [PESSOA_FISICA, PESSOA_JURIDICA] TransportCoverageAttributesDetailsUnit: type: object required: - code - description properties: code: type: string maxLength: 2 example: R$ description: type: string maxLength: 5 example: REAL TransportCoverageLimitGuarantee: type: object description: Lista com valor de LMG aceito pela sociedade para cada produto required: - type - amount properties: type: type: string enum: [FINANCEIRO, PERCENTUAL] amount: $ref: '#/components/schemas/TransportCoverageAttributesDetails' index: type: string description: Indexador. Condicional, vinculado ao preenchimento do campo Tipo com Percentual enum: [FINANCEIRO_COBERTURA, OUTRO] maxIndexAmount: $ref: '#/components/schemas/TransportCoverageAttributesDetails' TransportCoverageAttributesDetails: type: object description: "Lista com valor de LMG aceito pela sociedade para cada produto. Em reais (R$) Importante: Campo de valor numérico relacionado ao produto que possui o campo. Quando não houver o campo, enviar o valor zerado." required: - amount - unit properties: amount: type: number maxLength: 36 unit: $ref: '#/components/schemas/TransportCoverageAttributesDetailsUnit' TransportAssistanceServices: 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] TransportValidity: type: object required: - term properties: term: type: array items: type: string description: Prazo 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 TransportTerms: 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 TransportCoverageAttributes: type: object description: Informações de cobertura do Seguro. required: - insuredParticipation properties: 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, OUTROS] insuredParticipationDescription: description: Lista com descrição referente ao campo “Participação do Segurado” para cada cobertura. type: string maxLength: 1024 TransportMinimumRequirements: type: object description: Requisitos mínimos. required: - minimumRequirementDetails properties: minimumRequirementDetails: type: string maxLength: 1024 description: Campo aberto contendo todos os requisitos mínimos para contratação (possibilidade de incluir URL). Links: type: object properties: self: type: string description: URL da página atualmente requisitada pattern: ^(https:\/\/)(.*?)(\/open-insurance\/products-services\/v\d+)(\/transport.*)?$ example: 'https://api.organizacao.com.br/open-insurance/products-services/v1/transport' first: type: string description: URL da primeira página de registros pattern: ^(https:\/\/)(.*?)(\/open-insurance\/products-services\/v\d+)(\/transport.*)?$ example: 'https://api.organizacao.com.br/open-insurance/products-services/v1/transport' prev: type: string description: URL da página anterior de registros pattern: ^(https:\/\/)(.*?)(\/open-insurance\/products-services\/v\d+)(\/transport.*)?$ example: 'https://api.organizacao.com.br/open-insurance/products-services/v1/transport' next: type: string description: URL da próxima página de registros pattern: ^(https:\/\/)(.*?)(\/open-insurance\/products-services\/v\d+)(\/transport.*)?$ example: 'https://api.organizacao.com.br/open-insurance/products-services/v1/transport' last: type: string description: URL da última página de registros pattern: ^(https:\/\/)(.*?)(\/open-insurance\/products-services\/v\d+)(\/transport.*)?$ example: 'https://api.organizacao.com.br/open-insurance/products-services/v1/transport' 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'