{
    "openapi": "3.0.1",
    "info": {
        "title": "API Bradesco Seguros RE - Análise Comercial",
        "description": "Esta API de Análise Comercial oferece uma coleção de recursos para a integração com os parceiros Bradesco Seguros RE.",
        "contact": {
            "name": "Bradesco Seguros",
            "url": "https://wwws.bradescoseguros.com.br/wps/portal/SHSG/home/home",
            "email": "bradescoseguros@bradescoseguros.com.br"
        },
        "license": {
            "name": "Apache 2.0",
            "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
        },
        "version": "v2.3.0"
    },
    "servers": [
        {
            "url": "https://parceiros.tu.digiseg.com.br/re-analise-comercial",
            "description": "Desenvolvimento"
        },
        {
            "url": "https://parceiros.th.digiseg.com.br/re-analise-comercial",
            "description": "Homologação"
        },
        {
            "url": "https://parceiros.bradescoseguros.com.br/re-analise-comercial",
            "description": "Produção"
        }
    ],
    "paths": {
        "/v1/analise": {
            "get": {
                "tags": [
                    "Análise Comercial"
                ],
                "summary": "Realiza uma consulta de dados cadastrais e as restrições de crédito",
                "description": "Realiza a busca de restrições por CPF nas bases de dados e retorna para o parceiro as informações do cliente e se o mesmo possui ou não restrições",
                "operationId": "getAnalise",
                "parameters": [
                    {
                        "name": "env",
                        "in": "header",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "cpf",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "cep",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "idParceiro",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "dataNascimento",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "politica",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AnaliseComercial"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Parâmetro(s) de entrada inválido(s) \n\nO produto não pode ser comercializado para Cliente com idade inferior a 18 anos \n\nO parâmetro dataNascimento informado, é inválido, ou não está no formato esperado: dd/mm/yyyy"
                    },
                    "404": {
                        "description": "Dado(s) para análise comercial não encontrado(s)"
                    },
                    "422": {
                        "description": "O CPF correspondente ao código de operação informado não está elegível."
                    },
                    "500": {
                        "description": "Erro inesperado \n\nErro ao tentar gerar o token de autorização."
                    },
                    "504": {
                        "description": "Tempo limite de conexão excedido"
                    },
                    "511": {
                        "description": "Token inválido ou expirado."
                    }
                }
            }
        },
        "/v1/analise/historico": {
            "get": {
                "tags": [
                    "Consulta"
                ],
                "summary": "Realiza uma consulta as informações de uma análise comercial realizada",
                "description": "Realiza uma consulta as informações de uma análise comercial de um único CPF realizada anteriormente identificada por um código de operação.",
                "operationId": "getHistoricoAnalise",
                "parameters": [
                    {
                        "name": "env",
                        "in": "header",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "cpf",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "idParceiro",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "codigoOperacao",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "origem",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "requestStatusId",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CreditTalk"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Parâmetro(s) de entrada inválido(s)"
                    },
                    "404": {
                        "description": "Dado(s) para análise comercial não encontrado(s)"
                    },
                    "422": {
                        "description": "O CPF correspondente ao código de operação informado não está elegível."
                    },
                    "500": {
                        "description": "Erro inesperado \n\nErro ao tentar gerar o token de autorização."
                    },
                    "504": {
                        "description": "Tempo limite de conexão excedido"
                    },
                    "511": {
                        "description": "Token inválido ou expirado."
                    }
                }
            }
        },
        "/v1/analise-comercial/health-check": {
            "get": {
                "tags": [
                    "Health Check"
                ],
                "summary": "Apresenta informações da versao do build e o status dos servicos de análise comercial",
                "description": "Realiza uma checagem de disponibilidade dos servicos de análise comercial e de consulta ao histórico de uma análise comercial (UP ou DOWN)",
                "operationId": "getHealthCheck",
                "parameters": [
                    {
                        "name": "env",
                        "in": "header",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "UP",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HealthCheck"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "DOWN"
                    },
                    "504": {
                        "description": "Tempo limite de conexão excedido"
                    },
                    "511": {
                        "description": "Token inválido ou expirado."
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "AnaliseComercial": {
                "type": "object",
                "properties": {
                    "requestStatus": {
                        "$ref": "#/components/schemas/RequestStatus"
                    },
                    "analiseComercial": {
                        "$ref": "#/components/schemas/AnaliseComercialResponse"
                    }
                },
                "description": "Retorno dos dados do cliente analisado"
            },
            "AnaliseComercialResponse": {
                "type": "object",
                "properties": {
                    "idParceiro": {
                        "type": "string",
                        "description": "Identificador do parceiro",
                        "example": "15878790"
                    },
                    "codigoDaOperacao": {
                        "type": "string",
                        "description": "Código da operação",
                        "example": "0000kWQM"
                    },
                    "cpf": {
                        "type": "string",
                        "description": "CPF",
                        "example": "12345678900"
                    },
                    "nome": {
                        "type": "string",
                        "description": "Nome",
                        "example": "Leonardo"
                    },
                    "sexo": {
                        "type": "string",
                        "description": "Sexo",
                        "example": "MASCULINO"
                    },
                    "dataDeNascimentoInformada": {
                        "type": "string",
                        "description": "Data de nascimento informada",
                        "example": "25/09/1994"
                    },
                    "dataDeNascimentoRetornada": {
                        "type": "string",
                        "description": "Data de nascimento retornada da analise",
                        "example": "25/09/1994"
                    },
                    "logradouro": {
                        "type": "string",
                        "description": "Logradouro",
                        "example": "Rua Java"
                    },
                    "numeroResidencial": {
                        "type": "string",
                        "description": "Número",
                        "example": "11"
                    },
                    "complemento": {
                        "type": "string",
                        "description": "Complemento",
                        "example": "Sobrado"
                    },
                    "bairro": {
                        "type": "string",
                        "description": "Bairro",
                        "example": "São Pedro"
                    },
                    "cidade": {
                        "type": "string",
                        "description": "Cidade",
                        "example": "São Paulo"
                    },
                    "cep": {
                        "type": "string",
                        "description": "CEP",
                        "example": "24.220/820"
                    },
                    "email": {
                        "type": "string",
                        "description": "Email",
                        "example": "cliente@cliente.com.br"
                    },
                    "númeroTelefoneCompletoOcorrência1": {
                        "type": "string",
                        "description": "Número do telefone com DDD na ocorrência 1",
                        "example": "(11) 91111-1111"
                    },
                    "númeroTelefoneCompletoOcorrência2": {
                        "type": "string",
                        "description": "Número do telefone com DDD na ocorrência 2",
                        "example": "(11) 91111-2222"
                    },
                    "númeroTelefoneCompletoOcorrência3": {
                        "type": "string",
                        "description": "Número do telefone com DDD na ocorrência 3",
                        "example": "(11) 91111-3333"
                    },
                    "quantidadeDeRestricoes": {
                        "type": "string",
                        "description": "Quantidade de restrições",
                        "example": "0"
                    },
                    "aprovacao": {
                        "type": "string",
                        "description": "Campo de aprovação(true ou false)",
                        "example": "true"
                    },
                    "situacao": {
                        "type": "string",
                        "description": "Situação",
                        "example": "Aprovado - #0001004#"
                    }
                },
                "description": "Retorno dos dados do cliente analisado"
            },
            "RequestStatus": {
                "type": "object",
                "properties": {
                    "codigoErro": {
                        "type": "string",
                        "description": "Código do erro",
                        "example": "200"
                    },
                    "message": {
                        "type": "string",
                        "description": "Mensagem do erro",
                        "example": "Análise comercial realizada com sucesso."
                    },
                    "description": {
                        "type": "string",
                        "description": "Descrição do erro",
                        "example": "N/A"
                    }
                },
                "description": "Informações de controle do resultado da requisição"
            },
            "CreditTalk": {
                "type": "object",
                "properties": {
                    "requestStatus": {
                        "$ref": "#/components/schemas/RequestStatus"
                    },
                    "creditTalkResponse": {
                        "$ref": "#/components/schemas/CreditTalkResponse"
                    }
                },
                "description": "Retorno dos dados recuperados de uma análise realizada."
            },
            "CreditTalkResponse": {
                "type": "object",
                "properties": {
                    "idParceiro": {
                        "type": "string",
                        "description": "Identificador do parceiro",
                        "example": "15000000"
                    },
                    "codigoOperacao": {
                        "type": "string",
                        "description": "Código de operação",
                        "example": "0000abc"
                    },
                    "cpf": {
                        "type": "string",
                        "description": "CPF",
                        "example": "12345678900"
                    },
                    "situacao": {
                        "type": "string",
                        "description": "Situação da análise comercial do CPF",
                        "example": "#0001004#"
                    },
                    "dataAnaliseComercial": {
                        "type": "string",
                        "description": "Data da análise comercial",
                        "example": "10/10/1980"
                    },
                    "validacao": {
                        "type": "string",
                        "description": "Validação do CPF",
                        "example": "true"
                    }
                },
                "description": "Retorno dos dados de uma analise comercial realizada correspondende a um CPF"
            },
            "HealthCheck": {
                "required": [
                    "info"
                ],
                "type": "object",
                "properties": {
                    "info": {
                        "$ref": "#/components/schemas/Info"
                    }
                },
                "description": "Informações sobre o Health Check da API"
            },
            "Info": {
                "required": [
                    "re_parcerias",
                    "version"
                ],
                "type": "object",
                "properties": {
                    "re_parcerias": {
                        "type": "string",
                        "description": "Serviço",
                        "example": "Produtos"
                    },
                    "version": {
                        "type": "string",
                        "description": "Versão",
                        "example": "2211231400"
                    },
                    "status": {
                        "type": "string",
                        "description": "Status",
                        "example": "UP"
                    }
                },
                "description": "Informações sobre a API"
            }
        }
    }
}